버킷 : 버킷은 S3에서 파일을 저장하는 폴더라고 생각하시면 됩니다. 우리가 컴퓨터를 사용할 때 폴더 안에 파일을 저장하는 것처럼 S3에서도 버킷 안에 파일을 저장합니다.
버킷의 권한과 개별 파일의 권한의 관계는 개별 파일이 종속적이긴 하지만 그래도 개별설정이 가능은함.
버킷이 퍼블릭 엑세스가 막혀있으면, 개별 파일의 엑세스도 막히지만,
버킷이 열렸다고 파일도 열리는 것은 아님
AWS S3 = 파일저장소
원래는 내 컴퓨터에 저장해놓던걸, aws에 업로드 시키고,
그 파일을 활용하거나 요청을 받을 때 웹 주소 형태로 제공
Identity and Access Management
모든 리소스에 대한 엑세스 관리
설정방법
- AWS 위에 검색창에 IAM 쳐서 접근
- 좌측 메뉴에서 엑세스관리 → 사용자 클릭 후 사용자 생성버튼
- AWS 자격 증명 유형 선택
- 액세스 키 – 프로그래밍 방식 액세스(코드로 접근 하기 위해 선택)
- 권한 설정
- 그룹에 사용자 추가 : 기존에 생성해놓은거 있는 경우
- 기존 사용자에서 권한 복사 - 이미 해뒀던 설정 그대로 갖고오기
- 기존정책 직접연결
- 이용을 위해서 엑세스 키와 비밀번호 복사해놓기
- SDK 다운로드(for window)
- sdk는 언어별로 있는 듯하다 다른 언어 사용시에는 aws for java 와 같은 식으로 검색해보자
→ 여기로 이동하면 바로 다운로드 창 뜸<https://awscli.amazonaws.com/AWSCLIV2.msi>
여기에서 Install or update the AWS CLI의 1번 에 있는 링크를 들어가는 것도 가능<https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html>
- 또는
- msi 파일을 다운로드하고, 설치가 완료된 후에 터미널을 연다(윈도우 cmd 또는 코드 에디터)
- → 설치 이전에 켜놓으면 바로 이용 불가능할 수 있음
- 잘 설치되었는지 확인하려면 창에 aws --version 을 입력한다
- 출력결과 : C:\\Users\\young>aws --version **aws-cli/2.5.8 Python/3.9.11 Windows/10 exe/AMD64 prompt/off**
- 사용자에 대한 설정하기
- 터미널에 aws --configure 입력
- aws access key ID 입력하라는 곳에 아까 생성된 엑세스 키
- secret access key 입력하라고 하면 같이 생성된 비밀 액세스 키 입력
- default region name은 이용하려는 지역 서버 이름에 맞추어 넣어준다.
- aws 홈페이지에서 확인 가능
- 서울은 ap-northeast-2(아시아 태평양 (서울) ap-northeast-2)
- default outpur format은 이후 오류등이 출력될 형태를 설정해 주는 것으로 json 이라고 입력하고 끝낸다.
- 터미널에 aws --configure 입력
- S3 간단한 커맨드
- 내 컴퓨터에 있는 파일 업로드(copy)
- S3 내부에서 복사하기Output:
- upload: test.txt to s3://mybucket/test2.txt
- aws s3 cp test.txt s3://mybucket/test2.txt --expires 2014-10-01T20:30:00Z
- S3에서 로컬로 복사하기→ 로컬에 저장Output:
- download: s3://mybucket/test.txt to test2.txt
- aws s3 cp s3://mybucket/test.txt test2.txt
- 다른 버켓에 복사하기Output:
- copy: s3://mybucket/test.txt to s3://mybucket2/test.txt
- aws s3 cp s3://mybucket/test.txt s3://mybucket2/
- upload: test.txt to s3://mybucket/test2.txt
- aws s3 cp test.txt s3://mybucket/test2.txt
- copy
- 권한 변경하면서 cp<aside> 💡 upload failed: .\cho.html to s3://bucketyej/cho.html An error occurred (AccessControlListNotSupported) when calling the PutObject operation: The bucket does not allow ACLs→ 버킷 설정에 들어가서 객체 소유권Info 편집 > ACL 활성화 하면 해결
- </aside>
- aws s3 cp [파일명] s3://[버킷명] --acl public-read
우여곡절 끝에
- 복사 전 파일목록 조회위해서 dir/b 를 입력하고 적당한 디렉토리로 이동
생성된 주소
https://bucketyej.s3.ap-northeast-2.amazonaws.com/*****.html
'TIL WIL' 카테고리의 다른 글
220428 TIL 플라스크 기본동작 원리이해 (0) | 2022.04.28 |
---|---|
20220427 TIL (0) | 2022.04.27 |
20220426 TIL (0) | 2022.04.26 |
WIL 1st (0) | 2022.04.24 |
TIL 20220422 : restart (0) | 2022.04.22 |