AWS ELB和Nat Gateway不能很好地融合在一起

时间:2016-08-19 10:54:42

标签: amazon-web-services amazon-ec2 amazon-dynamodb amazon-elb

我有一个基本的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服务器实例分配公共接口。

有谁知道这是否有效?似乎很标准的设置。参考架构或教程会很棒。

非常感谢

1 个答案:

答案 0 :(得分:5)

此设置需要(至少)两个子网:

一个公共子网0.0.0.0/0路由到Internet网关(当然还有VPC CIDR的本地路由),一个私有子网0.0.0.0/0路由到NAT实例的Elastic接口(和本地路由VPC CIDR)。

将NAT实例和ELB放在公有子网中,并将服务器放入 私有子网。