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/