AWS PrivateLink와 함께 사용하도록 Multi-Region Access Point 구성
AWS PrivateLink와 함께 사용하도록 Multi-Region Access Point 구성
AWS PrivateLink는 가상 사설 클라우드(VPC) 안의 프라이빗 IP 주소를 사용해 Amazon S3에 대한 프라이빗 연결을 제공해요. VPC 안에 인터페이스 엔드포인트 하나 이상을 구축해서 Amazon S3 Multi-Region Access Points에 연결할 수 있습니다.
AWS Management Console, AWS CLI, AWS SDK를 통해 Multi-Region Access Points용 com.amazonaws.s3-global.accesspoint 엔드포인트를 만들 수 있어요. Multi-Region Access Point용 인터페이스 엔드포인트를 구성하는 방법에 대해 자세히 알아보려면 VPC 사용자 안내서의 인터페이스 VPC 엔드포인트를 참고하세요.
인터페이스 엔드포인트를 통해 Multi-Region Access Point에 요청을 하려면 다음 단계에 따라 VPC와 Multi-Region Access Point를 구성하세요.
AWS PrivateLink와 함께 사용하도록 Multi-Region Access Point 구성하기
- Multi-Region Access Points에 연결할 수 있는 적절한 VPC 엔드포인트를 만들거나 보유해요. VPC 엔드포인트 생성에 대한 자세한 내용은 VPC 사용자 안내서의 인터페이스 VPC 엔드포인트를 참고하세요.
- 중요:
com.amazonaws.s3-global.accesspoint엔드포인트를 만들어야 해요. 다른 엔드포인트 유형은 Multi-Region Access Points에 액세스할 수 없어요.
- 중요:
- 이 VPC 엔드포인트가 만들어진 뒤에는 엔드포인트에 프라이빗 DNS가 활성화되어 있다면(기본적으로 활성화됨) VPC의 모든 Multi-Region Access Point 요청이 이 엔드포인트를 통해 라우팅됩니다.
- Multi-Region Access Point 정책이 VPC 엔드포인트의 연결을 지원하지 않는다면 그 정책을 갱신해야 해요.
- 개별 버킷 정책이 Multi-Region Access Point 사용자에게 액세스를 허용하는지 확인해요.
Multi-Region Access Points는 요청을 버킷으로 라우팅하는 방식으로 작동하며 요청을 직접 처리하지 않는다는 점을 기억하세요. 이는 요청을 시작한 사람이 Multi-Region Access Point에 대한 권한을 갖고 있고 Multi-Region Access Point 안의 개별 버킷에 액세스할 수 있어야 하기 때문에 중요해요. 그렇지 않으면 요청이 설정된 권한이 없는 시작자가 요청을 처리할 수 없는 버킷으로 라우팅될 수 있어요. Multi-Region Access Point와 연결된 버킷은 같은 AWS 계정이나 다른 AWS 계정이 소유할 수 있어요. 다만 권한이 올바르게 구성되어 있다면 다른 계정의 VPC도 Multi-Region Access Point를 사용할 수 있습니다.
이 때문에 VPC 엔드포인트 정책은 Multi-Region Access Point와 요청을 처리할 수 있길 원하는 각 기본 버킷 양쪽 모두에 대한 액세스를 허용해야 해요. 예를 들어 별칭이 mfzwi23gnjvgw.mrap인 Multi-Region Access Point가 있고, 그것이 AWS 계정 123456789012가 소유한 버킷 amzn-s3-demo-bucket1과 amzn-s3-demo-bucket2로 지원된다고 가정해 보세요. 이 경우 다음 VPC 엔드포인트 정책은 VPC에서 mfzwi23gnjvgw.mrap으로 보낸 GetObject 요청이 두 지원 버킷 중 어느 하나로 처리되도록 허용할 거예요.
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "Read-buckets-and-MRAP-VPCE-policy",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket1/*",
"arn:aws:s3:::amzn-s3-demo-bucket2/*",
"arn:aws:s3::111122223333:accesspoint/mfzwi23gnjvgw.mrap/object/*"
]
}]
}
앞서 말했듯이 Multi-Region Access Point 정책이 VPC 엔드포인트를 통한 액세스를 지원하도록 구성되어 있는지도 확인해야 해요. 액세스를 요청하는 VPC 엔드포인트를 지정할 필요는 없습니다. 다음 샘플 정책은 GetObject 요청에 Multi-Region Access Point를 사용하려는 모든 요청자에게 액세스를 부여해요.
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "Open-read-MRAP-policy",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3::111122223333:accesspoint/mfzwi23gnjvgw.mrap/object/*"
}]
}
물론 개별 버킷도 VPC 엔드포인트를 통해 제출된 요청의 액세스를 지원하는 정책이 각각 필요해요. 다음 예시 정책은 익명 사용자에게 읽기 액세스를 부여해요. 여기에는 VPC 엔드포인트를 통해 이루어진 요청도 포함됩니다.
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "Public-read",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket1",
"arn:aws:s3:::amzn-s3-demo-bucket2/*"]
}]
}
VPC 엔드포인트 정책을 편집하는 방법에 대한 자세한 내용은 VPC 사용자 안내서의 VPC 엔드포인트로 서비스 액세스 제어를 참고하세요.
출처: 문서