我有一个基本的VPC,其中有两个运行Apache的Linux EC2实例,它们位于经典ELB之后。
我想从Web应用程序中使用DynamoDB,这要求EC2实例具有出站Internet访问权限,因为DynamoDB端点不能通过后端获得。
我使用ELB避免将公共IP附加到EC2实例,因此我不想附加它们以便我可以访问DynamoDB。
此时我卡住了。
我设置了新的NAT Gateway
功能,以提供对DynamoDB公共端点的访问。这在配置时效果很好,这意味着Web应用程序可以成功连接到DynamoDB端点但是它会通过ELB中断传入流量。
配置了Nat Gateway后,EC2实例子网的默认网关是Nat Gateway。
ELB要求有一个互联网网关,以便路由工作......所以它是一个我不知道如何解决的问题。
总而言之,我想通过ELB提供对Web服务器的外部访问,我希望Web服务器可以通过Nat Gateway访问DynamoDB端点。无需为Web服务器实例分配公共接口。
有谁知道这是否有效?似乎很标准的设置。参考架构或教程会很棒。
非常感谢
答案 0 :(得分:5)
此设置需要(至少)两个子网:
一个公共子网0.0.0.0/0
路由到Internet网关(当然还有VPC CIDR的本地路由),一个私有子网0.0.0.0/0
路由到NAT实例的Elastic接口(和本地路由VPC CIDR)。
将NAT实例和ELB放在公有子网中,并将服务器放入 私有子网。