-
AWS | CLI를 이용하여 S3 버킷 액세스, 파일 업로드, 다운로드하기▼ DevOps/AWS 2021. 7. 14. 17:56반응형
시작하기 전 CLI(명령줄 인터페이스)를 통해 S3 버킷에 액세스를 하려면
IAM 자격증명을 통해 액세스 키를 먼저 발급받아야 한다.
IAM 계정이 생성되지 않았으면 생성부터 하고 진행한다.AWS | IAM 계정 생성 (그룹, 역할, 정책)
IAM(Identity and Access Managemnet)이란? AWS의 리소스에 대한 접근제어와 권한을 가지도록 계정 또는 그룹을 생성하는 서비스이다. IAM 계정에 따라 EC2 서비스만 접근할 수 있도록 권한을 부여하고, 다른
kitty-geno.tistory.com
액세스 키를 발급받지 않은 경우 아래와 같은 메시지가 출력된다.
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.htmlAWS CLI에서 상위 수준(s3) 명령 사용 - AWS 명령줄 인터페이스
PowerShell을 사용하는 경우 셸은 CRLF의 인코딩을 변경하거나, 파이프 입력이나 출력 또는 리디렉션된 출력에 CRLF를 추가할 수 있습니다.
docs.aws.amazon.com
https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-access-s3-bucket/?nc1=h_ls
S3 버킷에 대한 EC2 인스턴스 액세스 권한 부여
Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 Amazon Simple Storage Service(Amazon S3) 버킷에 액세스할 수 없습니다. EC2 인스턴스에서 S3 버킷에 대한 읽기/쓰기 액세스를 활성화하려면 어떻게 해야 하나
aws.amazon.com
반응형'▼ 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