Amazon EC2 인스턴스에 Amazon S3 버킷 액세스 권한을 부여하려면 어떻게 해야 하나요?

3분 분량
0

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

간략한 설명

EC2 인스턴스에서 S3 버킷에 연결하려면 다음을 실행해야 합니다.

  1. Amazon S3의 액세스 권한을 부여하는 AWS Identity and Access Management(IAM) 프로필 역할을 생성합니다.

  2. IAM 인스턴스 프로파일을 인스턴스에 연결합니다.

  3. S3 버킷에서 권한을 검증합니다.

  4. EC2 인스턴스에서 Amazon S3로 네트워크 연결을 검증합니다.

  5. S3 버킷 액세스를 검증합니다.

해결 방법

Amazon S3 액세스 권한을 부여하는 IAM 인스턴스 프로파일을 생성합니다.

1.    IAM 콘솔을 엽니다.

  1. 역할을 선택하고 역할 생성을 선택합니다.

  2. AWS 서비스를 선택하고 사용 사례에서 EC2를 선택합니다.

참고: EC2로 콘솔에서 IAM 역할을 생성하고 신뢰할 수 있는 엔터티로 선택하면 역할 이름과 동일한 이름의 IAM 인스턴스 프로파일이 자동으로 생성됩니다. 그러나 AWS Command Line Interface(AWS CLI)를 사용하거나 API에서 역할을 생성한 경우에는 인스턴스 프로파일이 자동으로 생성되지 않습니다. 자세한 내용은 IAM 역할을 만들었는데 인스턴스를 시작할 때 드롭다운 목록에 역할이 나타나지 않습니다. 어떻게 해야 하나요?를 참고하세요.

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

  2. S3 버킷에 액세스하는 데 필요한 최소 권한을 제공하는 사용자 지정 정책을 생성합니다. 사용자 지정 정책을 생성하는 방법은 IAM 정책 작성: Amazon S3 버킷에 액세스 권한을 부여하는 방법Amazon S3에서 자격 증명 및 액세스 관리를 참고하세요.

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

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

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

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

1.    Amazon EC2 콘솔을 엽니다.

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

  1. IAM 역할에 연결하려는 인스턴스를 선택합니다.

  2. 작업 탭을 선택하고 보안을 선택한 다음 IAM 역할 수정을 선택합니다.

  3. 생성한 IAM 역할을 선택한 다음 저장을 선택합니다. IAM 역할이 EC2 인스턴스에 할당됩니다.

S3 버킷에서 권한 검증

1.    Amazon S3 콘솔을 엽니다.

  1. 정책을 확인하려는 S3 버킷을 선택합니다.

3.    권한을 선택합니다.

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

  1. Effect: Deny가 포함된 문을 찾습니다.

  2. 버킷 정책으로 이동해 버킷에서 IAM 인스턴스 프로파일 액세스를 거부하는 Effect: Deny 문을 편집하거나 제거합니다. 정책 편집에 관한 지침은 IAM 정책 편집을 참고하세요.

EC2 인스턴스에서 Amazon S3로 네트워크 연결 검증

EC2 인스턴스를 S3 엔드포인트에 연결하려면 인스턴스가 다음 중 하나여야 합니다.

  • 공용 IP 주소와 라우팅 테이블 항목의 기본 경로가 인터넷 게이트웨이를 가리키고 있는 EC2 인스턴스
  • 기본 경로가 NAT 게이트웨이를 통하는 프라이빗 EC2 인스턴스
  • 게이트웨이 VPC 엔드포인트를 사용해 Amazon S3에 연결할 수 있는 프라이빗 EC2 인스턴스

프라이빗 EC2 인스턴스와 S3 버킷 간의 연결 문제를 해결하려면 게이트웨이 VPC 엔드포인트를 사용해 S3 버킷에 연결할 수 없는 이유는 무엇인가요?를 참고하세요.

S3 버킷 액세스 검증

  1. EC2 인스턴스에 AWS CLI를 설치합니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하면 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

  1. 다음 명령을 실행해 S3 버킷 액세스를 확인합니다. DOC-EXAMPLE-BUCKET을 내 S3 버킷 이름으로 바꾸세요.
aws s3 ls s3://DOC-EXAMPLE-BUCKET

참고: AWS Key Management Service(AWS KMS) 키로 암호화된 S3 개체에는 다음과 같이 부여된 kms: Decrypt 권한이 있어야 합니다.

  • 인스턴스에 연결된 IAM 역할.
  • KMS 키 정책.

이와 같은 권한이 부여되지 않으면 S3 개체를 복사하거나 다운로드할 수 없습니다. 자세한 내용은 Amazon S3에서 KMS로 암호화된 개체를 다운로드할 때 AWS KMS 키를 지정해야 하나요?를 참고하세요.


관련 정보

게이트웨이 VPC 엔드포인트를 사용해 S3 버킷에 연결할 수 없는 이유는 무엇인가요?

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠