AWS PrivateLink와 함께 사용할 다중 리전 액세스 포인트 구성 - Amazon Simple Storage Service

AWS PrivateLink와 함께 사용할 다중 리전 액세스 포인트 구성

AWS PrivateLink는 Virtual Private Cloud(VPC)의 프라이빗 IP 주소를 사용하여 Amazon S3에 대한 프라이빗 연결을 제공합니다. VPC 내부에 하나 이상의 인터페이스 엔드포인트를 프로비저닝하여 Amazon S3 다중 리전 액세스 포인트에 연결할 수 있습니다.

AWS Management Console, AWS CLI 또는 AWS SDK를 통해 다중 리전 액세스 포인트의 com.amazonaws.s3-global.accesspoint 엔드포인트를 생성할 수 있습니다. 다중 리전 액세스 포인트의 인터페이스 엔드포인트를 구성하는 방법에 대한 자세한 내용은 VPC 사용 설명서인터페이스 VPC 엔드포인트를 참조하세요.

인터페이스 엔드포인트를 통해 다중 리전 액세스 포인트에 요청하려면 다음 단계에 따라 VPC 와 다중 리전 액세스 포인트를 구성합니다.

AWS PrivateLink와 함께 사용할 다중 리전 액세스 포인트 구성
  1. 다중 리전 액세스 포인트에 연결할 수 있는 적절한 VPC 엔드포인트를 생성하거나 보유합니다. VPC 엔드포인트 생성에 대한 자세한 내용은 VPC 사용 설명서VPC 엔드포인트를 참조하세요.

    중요

    com.amazonaws.s3-global.accesspoint 엔드포인트를 생성해야 합니다. 다른 엔드포인트 유형은 다중 리전 액세스 포인트에 액세스할 수 없습니다.

    이 VPC 엔드포인트가 생성되면 엔드포인트에 프라이빗 DNS가 사용 설정된 경우 VPC의 모든 다중 리전 액세스 포인트 요청이 이 엔드포인트를 통해 라우팅됩니다. 이는 기본값으로 사용 설정되어 있습니다.

  2. 다중 리전 액세스 포인트 정책이 VPC 엔드포인트의 연결을 지원하지 않는 경우 이를 업데이트해야 합니다.

  3. 개별 버킷 정책이 다중 리전 액세스 포인트의 사용자에 대한 액세스를 허용하는지 확인합니다.

다중 지역 액세스 포인트는 요청 자체를 이행하는 것이 아니라 요청을 버킷으로 라우팅하여 작동한다는 점을 기억하세요. 요청 발신자는 다중 리전 액세스 포인트에 대한 권한을 가지고 있어야 하며 다중 리전 액세스 포인트의 개별 버킷에 액세스할 수 있어야 합니다. 그렇지 않은 경우, 요청 발신자에게 요청을 이행할 권한이 없는 버킷으로 요청이 라우팅될 수 있습니다. 다중 리전 액세스 포인트 및 다중 리전 액세스 포인트에 연결된 버킷은 같거나 다른 AWS에서 소유할 수 있습니다. 그러나 권한이 올바르게 구성된 경우 서로 다른 계정의 VPC는 다중 리전 액세스 포인트를 사용할 수 있습니다.

따라서 VPC 엔드포인트 정책은 다중 리전 액세스 포인트 및 요청을 이행할 수 있는 각 기본 버킷에 대한 액세스를 모두 허용해야 합니다. 예를 들어 별칭이 mfzwi23gnjvgw.mrap인 다중 리전 액세스 포인트가 있다고 가정해 보겠습니다. 이는 버킷 DOC-EXAMPLE-BUCKET1DOC-EXAMPLE-BUCKET2에서 지원하며 모두 AWS 계정 123456789012에서 소유합니다. 이 경우 다음 VPC 엔드포인트트 정책은 mfzwi23gnjvgw.mrap에 대한 VPC의 GetObject 요청을 어느 것이든 하나의 백업 버킷에서 이행하도록 허용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Read-buckets-and-MRAP-VPCE-policy", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*", "arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap/object/*" ] }] }

앞서 언급했듯이 다중 리전 액세스 포인트 정책이 VPC 엔드포인트를 통한 액세스를 지원하도록 구성되어 있는지 확인해야 합니다. 액세스를 요청하는 VPC 엔드포인트는 지정할 필요가 없습니다. 다음 샘플 정책은 GetObject 요청에 다중 리전 액세스 포인트를 사용하려는 모든 요청자에게 액세스 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Open-read-MRAP-policy", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap/object/*" }] }

물론 개별 버킷에는 각각 VPC 엔드포인트를 통해 제출된 요청의 액세스를 지원하는 정책이 필요합니다. 다음 예제 정책은 모든 익명 사용자에게 읽기 액세스 권한을 부여하며, 여기에는 VPC 엔드포인트를 통한 요청이 포함됩니다.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "Public-read", "Effect":"Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1", "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*"] }] }

VPC 엔드포인트트 정책 편집에 대한 자세한 내용은 VPC 사용 설명서Control access to services with VPC endpoints(VPC 엔드포인트를 통해 서비스에 대한 액세스 제어)를 참조하세요.