2021년 10월부터 PrivateLink for S3가 정상 서비스가 되어, 이제 VPC Interface Endpoint를 통해서, Private S3처럼 사용할 수 있다.
설정방법 및 Endpoint URL을 변수로 주어서 CLI 및 SDK로 요청 방법은 메뉴얼에서 확인가능하나,
Public과 같이 URL로 접근하는 방법은 메뉴얼에 나와있지 않다.
설정 방법.
0. 전제 조건: Endpoint를 생성할 VPC와 Direct Connect로 연결이 되어 있거나 VPC Private Subnet에 접근이 가능해야 한다.
1. VPC S3 Interface Endpoint 생성.
Private Subnet 대역으로 생성하며, Security Group으로 Network 통제를 할 수 있다.
생성해서 나오는 "*."으로 시작하는 VPC Endpoint DNS Name이 필요하다.
2. S3 Bucket Policy 설정
Private으로 연결하려는 S3 Bucket에 위의 VPC Endpoint가 접근할 수 있도록, 아래의 Statement를 Bucket Policy에 추가한다.
=====================
"Statement": [
{ "Sid": "Access-to-specific-VPCE-only",
"Principal": "*",
"Action": "s3:*",
"Effect": "Allow",
"Resource": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET2",
"arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*"],
"Condition": {"StringEquals": {"aws:sourceVpce": "vpce-1a2b3c4d"}}
}
]
==================================
3. URL 호출.
bucket. 으로 시작하는 VPC Endpoint DNS 주소로 S3 를 호출하면, Private LInk를 통해 S3 에 접근이 가능하다.
https://bucket.< vpce-interface-endpoint>/BucketName/ObjectName
https://aws.amazon.com/ko/blogs/korea/aws-privatelink-for-amazon-s3-now-available/