我正在研究适用于AWS VPC的隐私兼容的高安全部署选项。
我正在寻找在NAT实例中从私有子网收紧出站stream量的方法。 例如,如何限制NAT后面的出站stream量,只允许调用AWS S3? 我正在计划使用由Ansible和Packer驱动的Shorewall创build自定义NAT AMI。
看来没有一个固定的S3 IP地址列表,所以按IP列出白名单。 根据协议白名单是不够的, 至less应将端点限制在AWS的API空间中。 主机名白名单肯定不会超出第一个DNS查询的第一个IP。
选项似乎是:
请让我知道如果你想进一步澄清我的需求。
你知道如何只允许来自EC2 VPC私有子网内部的S3(和依赖项)stream量吗?
谢谢你,约书亚
PS噢,如果它可以高度可用,那也会很好。 我正在计划在一个地区的三个地区的每一个“NAT”或“类似NAT”的实例。 我打算使用Autoscaling小组来保持这三个实例的存在,但也许你有另一个想法。 最初,我打算使用三个ENI,每个AZ一个,通过Corosync&Pacemaker为NAT漂浮。 我希望避免需要通过路由到ENI来防止在NAT中发生NAT故障时的路由表。
/ endblabbing
相关链接:
http://www.shorewall.net/4.2/FAQ.htm#faq39 没有NAT的EC2 VPC?
我们build议您为S3configurationVPC端点,而不是在NAT实例上将S3stream量列入白名单。
这样,您的EC2节点就可以直接在VPC专用networking上访问S3,而无需通过NAT。
如果仍然需要S3使用的IP列表,则可以使用AWS CLI命令describe-prefix-lists :
aws ec2 describe-prefix-lists
这会给出一个输出
{ "PrefixLists": [ { "PrefixListName": "com.amazonaws.eu-west-1.s3", "Cidrs": [ "54.231.128.0/19" ], "PrefixListId": "pl-6da54004" } ] }
该列表适用于AWS CLI使用的区域。 我的示例显示了eu-west-1的当前输出,您可以通过传递--region参数来指定不同的区域,例如aws --region us-east-1 ec2 describe-prefix-lists 。
但请注意,服务的IP范围可能会不时变化。