vpc endpoint 사용 시 aws 내부망을 통해 public access point에 접근할 수 있습니다.
EC2 instances가 private subnet에 올라가있고, 인스턴스들이 s3와 상호작용하는 과정이 private해야하고, VPC에서만 접근 가능 하여야할 때 S3 bucket policy를 수정하여 이를 달성할 수 있습니다.
예시 policy는 아래와 같습니다.
{
"Version": "2012-10-17",
"Id": "Policy1415115909152",
"Statement": [
{
"Sid": "Access-to-specific-VPCE-only",
"Principal": "*",
"Action": "s3:*",
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::exampleBucket",
"arn:aws:s3:::exampleBucket/*"
],
"Condition": {
"StringNotEquals": {
"aws:SourceVpce": "vpce-1a2b3c4d"
}
}
}
]
}
policy Condition 설정 시에 VPCSourceIp를 사용하여 접근을 제한할 수도 있습니다.(SourceIp 옵션도 존재하지만 해당 옵션은 public IP 대역을 대상으로 제한하므로 VPC CIDR를 제한할 수 없습니다.)