간단히 대답하면 다른 지역의 VPC에서 한 영역의 S3 버킷에 대한 액세스를 제한 할 수 없다는 것입니다. IP 주소를 사용하여 액세스를 제어하는 S3 정책을 만들 수 있습니다. NAT 게이트웨이에 공용 IP 주소가 있고 인스턴스에 공용 주소가있을 수 있습니다.
트래픽이 VPC에서 나가면 공용 IP 주소 공간이 사용됩니다. S3 버킷이 이러한 요청을 받으면 어떤 VPC가 시작되었는지 알 수 없습니다. 이는 VPC 엔드 포인트 및 사설 링크가 생성 된 이유 중 하나입니다.
아래는 IP 주소를 사용하여 권한을 제어하는 S3 정책의 예입니다. VPC에서 실제 공개 주소로 수정하십시오.
{
"Version": "2012-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "statement1",
"Effect": "Allow",
"Principal": "*",
"Action":["s3:GetObject"] ,
"Resource": "arn:aws:s3:::examplebucket/*",
"Condition" : {
"IpAddress" : {
"aws:SourceIp": "192.168.143.0/24"
},
"NotIpAddress" : {
"aws:SourceIp": "192.168.143.188/32"
}
}
}
]
}
VPN. 이것이 당신이 필요로하는 것입니다. –
* "지역의 모든 가용 영역의 모든 서브넷에 대해 NAT 게이트웨이를 만듭니다."* 실제로는 아니지만 ... 소스 VPC 당 하나씩 또는 내결함성을 위해 VPC 당 AZ 당 하나씩 "필요"합니다. –
최소 설치 : 1 AZ에서 1 NAT 게이트웨이, 다른 AZ에서 EC2 인스턴스가 해당 NAT 게이트웨이를 사용할 수 있다면 @ Michael-sqlbot? – mash