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-examplebucket1doc-examplebucket2에서 지원하며 모두 AWS 계정 123456789012에서 소유합니다. 이 경우 다음 VPCE 정책은 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-examplebucket1/*", "arn:aws:s3:::doc-examplebucket2/*", "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-examplebucket1", "arn:aws:s3:::doc-examplebucket2/*"] }] }

VPCE 정책 편집에 대한 자세한 내용은 VPC 사용 설명서VPC 엔드포인트를 통해 서비스에 대한 액세스 제어를 참조하세요.

VPC 엔드포인트에서 다중 리전 액세스 포인트에 대한 액세스 제거

다중 리전 액세스 포인트를 소유하고 있고 인터페이스 엔드포인트에서 액세스 권한을 제거하려면 VPC 엔드포인트를 통해 들어오는 요청에 대한 액세스를 차단하는 다중 리전 액세스 포인트에 새 액세스 정책을 제공해야 합니다. 다중 리전 액세스 포인트의 버킷이 VPC 엔드포인트를 통한 요청을 지원할 경우 이러한 요청을 계속 지원합니다. 이러한 지원을 방지하려면 버킷에 대한 정책도 업데이트해야 합니다. 다중 리전 액세스 포인트에 새 액세스 정책을 제공하면 다중 리전 액세스 포인트에 대한 액세스만 차단됩니다.

참고

다중 리전 액세스 포인트에 대한 액세스 정책은 삭제할 수 없습니다. 다중 리전 액세스 포인트에 대한 액세스를 제거하려면 원하는 수정된 액세스를 포함하는 새 액세스 정책을 제공해야 합니다.

또는 버킷 정책을 업데이트하여 VPC 엔드포인트를 통한 요청을 방지할 수 있습니다. 이 경우에도 사용자는 여전히 VPC 엔드포인트를 통해 다중 리전 액세스 포인트에 액세스할 수 있습니다. 그러나 버킷 정책에서 액세스를 차단하는 버킷으로 요청이 라우팅되면 오류 메시지가 생성됩니다.