-
AWS | CLI를 이용하여 S3 버킷 액세스, 파일 업로드, 다운로드하기▼ DevOps/AWS 2021. 7. 14. 17:56반응형
시작하기 전 CLI(명령줄 인터페이스)를 통해 S3 버킷에 액세스를 하려면
IAM 자격증명을 통해 액세스 키를 먼저 발급받아야 한다.
IAM 계정이 생성되지 않았으면 생성부터 하고 진행한다.액세스 키를 발급받지 않은 경우 아래와 같은 메시지가 출력된다.
An error occurred (InvalidAccessKeyId) when calling ther ListBuckets operation: The AWS Access Key Id you provided does not exist in our records.
구성 및 자격 증명 설정
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-files.html이름 설명 AWS Access Key ID IAM 액세스 키 WS Secret Access Key IAM 비밀 키 Default regio name 리전 Default output format 포맷 형식 aws configure
버킷 및 객체 나열
정상적으로 버킷이 출력되면 구성 및 자격 증명 설정이 완료됐다.aws s3 ls
Access Denied(액세스 거부)
Access Denied) 발생 시 해결방법 1
IAM 계정에 S3 정책이 허용되어있는지 확인한다.
안되어있을 경우 인라인 정책 추가 부분을 확인한다.
13번 인라인 정책 추가 확인Access Denied) 발생 시 해결방법 2
해당 버킷에 버킷 정책을 직접 추가한다.
버킷 상세페이지에서 권한 탭으로 이동한다.버킷 정책의 편집을 들어간다.
버킷 ARN(①)을 복사한 상태로 정책 생성기(②)를 클릭한다.
AWS Policy Generator
Select Type of Policy : 정책 타입
Effect : 버킷에 대한 명령을 허용(Allow)할 것인지 거부(Deny)할 것인지에 대한 옵션
Principal : 특정 사용자에 대해 권한을 제어하고 싶다면 입력한다.
(전체 : * / 특정 사용자 : arn:aws:iam:AWS-account-ID:user/IAMID)
AWS Service : 정책 타입 선택 시 자동 지정되는 서비스
Actions : 버킷에 대해 어떤 작업을 허용(또는 거부)할 것인지 선택하는 옵션
Amazon Resource Name(ARN) : 접근 권한을 주고자 하는 버킷 ARN (arn:aws:s3:::버킷명/*), 버킷 ARN(①)
모두 입력 후 Add StatementGenerate Policy로 생성된 내용을 복사한다.
위에서 복사한 Policy JSON을 버킷 정책 편집 정책에 붙여 넣은 후 변경 사항을 저장한다.
테스트 목적으로 / 경로에 fileCopy 디렉터리를 생성한다.
mkdir fileCopy
객체 동기화
aws s3 sync <source> <target> [--options]
버킷과 디렉터리의 내용 또는 두 버킷의 내용을 동기화한다.
즉 버킷에 있는 파일들을 타깃 경로에 다운로드한다.aws s3 sync s3://s3bucketven /fileCopy
버킷에 있는 파일들이 fileCopy 경로에 다운로드된 것을 볼 수 있다.
↓
버킷에 있는 파일을 디렉터리에 복사하는 명령어
aws s3 cp <source> <target>aws s3 cp s3://s3bucketven/test/second.html /fileCopy/test/
#Reference
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-services-s3-commands.htmlhttps://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-access-s3-bucket/?nc1=h_ls
반응형'▼ DevOps > AWS' 카테고리의 다른 글
AWS | EC2 인스턴스 키 페어 추가, SSH 접속하기 (2) 2021.07.15 AWS | EC2 Apache(아파치) 설치 및 Tomcat(톰캣) 연동 (5) 2021.07.14 AWS | S3 버킷 생성 (0) 2021.07.14 AWS | EC2에 IAM 역할 추가 및 콘솔 접속 (0) 2021.07.13 AWS | IAM 계정 생성 (그룹, 역할, 정책) (3) 2021.07.13