Amazon EC2 인스턴스에서 Amazon S3 버킷에 연결할 수 없는 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 9월 8일

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 Amazon Simple Storage Service(Amazon S3) 버킷에 액세스할 수 없습니다. EC2 인스턴스에서 S3 버킷에 대한 읽기/쓰기 액세스를 활성화하려면 어떻게 해야 합니까?

간략한 설명

EC2 인스턴스에서 S3 버킷에 연결하려면 다음을 실행하십시오.

1.    AWS Identity and Access Management(IAM) 프로파일 역할을 생성하여 Amazon S3에 대한 액세스 권한을 부여하는 인스턴스에 연결합니다.

2.    S3 버킷 정책에 액세스를 거부하는 정책이 없는지 확인합니다.

3.    EC2 인스턴스와 Amazon S3 간의 네트워크 연결을 확인합니다.

​해결 방법

Amazon S3에 대한 액세스 권한을 부여하는 IAM 인스턴스 프로파일 생성

1.    IAM 콘솔을 엽니다.

2.    역할을 선택한 다음, 역할 생성을 선택합니다.

3.    AWS Service를 선택한 다음, EC2를 선택합니다.

참고: 신뢰할 수 있는 엔터티로 선택한 EC2를 사용하여 콘솔에서 IAM 역할을 생성하면 역할 이름과 동일한 이름의 IAM 인스턴스 프로파일이 자동으로 생성됩니다. 하지만 AWS 명령줄 인터페이스(AWS CLI)를 사용하거나 API에서 역할을 생성한 경우에는 인스턴스 프로파일이 자동으로 생성되지 않습니다. 자세한 내용은 IAM 역할을 생성했지만, 인스턴스를 시작할 때 드롭다운 목록에 역할이 표시되지 않습니다. 어떻게 해야 합니까?를 참조하십시오.

4.    다음: 권한을 선택합니다.

5.    S3 버킷에 액세스하는 데 필요한 최소 권한을 제공하는 사용자 지정 정책을 생성합니다. 사용자 지정 정책 생성에 대한 지침은 IAM 정책 작성: Amazon S3 버킷에 대한 액세스 권한 부여 방법 S3리소스에 대한 액세스 관리를 참조하십시오.

참고: 필요한 최소 권한으로 정책을 만드는 것이 보안 모범 사례입니다. 그러나 모든 Amazon S3 버킷에 대한 EC2 액세스를 허용하려면 AmazonS3ReadOnlyAccess 또는 AmazonS3FullAccess 관리형 IAM 정책을 사용할 수 있습니다.

6.    다음: 태그를 선택한 후 다음: 검토를 선택합니다.

7.    역할 이름을 입력하고 역할 생성을 선택합니다.

EC2 인스턴스에 IAM 인스턴스 프로파일 연결

1.    Amazon EC2 콘솔을 엽니다.

2.    인스턴스를 선택합니다.

3.    IAM 역할을 연결할 인스턴스를 선택합니다.

4.    작업 탭에서 인스턴스 설정을 선택한 다음, IAM 역할 연결/바꾸기를 선택합니다.

5.    방금 생성한 IAM 역할을 선택하고 적용을 선택한 다음, 닫기를 선택합니다. IAM 역할이 EC2 인스턴스에 할당됩니다.

S3 버킷에 대한 권한 확인

1.    Amazon S3 콘솔을 엽니다.

2.    정책을 확인할 S3 버킷을 선택합니다.

3.    권한을 선택합니다.

4.    버킷 정책을 선택합니다.

5.    Effect: Deny가 포함된 문을 검색합니다.

6.    버킷 정책에서 버킷에 대한 IAM 인스턴스 프로파일 액세스를 거부하는 Effect: Deny 문을 편집하거나 제거합니다. 정책 편집에 대한 지침은 IAM 정책 편집을 참조하십시오.

EC2 인스턴스에서 Amazon S3로의 네트워크 연결 확인

EC2 인스턴스가 S3 엔드포인트에 연결되어 있는지 확인합니다.

인스턴스는 다음 중 하나여야 합니다.

퍼블릭 IP 주소가 있고, 기본 경로가 인터넷 게이트웨이를 가리키는 경로 테이블 항목이 있는 EC2 인스턴스
NAT 게이트웨이를 통한 기본 경로가 있는 프라이빗 EC2 인스턴스
게이트웨이 VPC 엔드포인트를 사용하여 Amazon S3에 연결된 프라이빗 EC2 인스턴스

S3 버킷에 대한 액세스 확인

1.    AWS CLI를 설치합니다.

2.    다음 명령을 실행하여 S3 버킷에 대한 액세스를 확인합니다.

aws s3 ls

참고: 복사 또는 다운로드가 성공하려면 AWS Key Management Service(AWS KMS) 키로 암호화된 S3 객체에는 인스턴스에 연결된 IAM 역할 및 KMS 키 정책에 부여된 kms: Decrypt 권한이 있어야 합니다. 자세한 내용은 Amazon S3에서 KMS 암호화 객체를 다운로드할 때 AWS KMS 키를 지정해야 합니까?를 참조하십시오.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?