弹性负载均衡器指向专用子网

时间:2019-02-25 17:21:45

标签: amazon-web-services amazon-ec2 amazon-elb subnet private-subnet

我已经创建了一个面向互联网的弹性负载均衡器,以指向我在VPC中的EC2实例,因为我之前有很多次,但是与此同时,我正在使用带有nat网关的私有子网来控制传出流量并将其引导全部通过列入白名单的IP。

不幸的是,仅此负载均衡器就存在间歇性连接问题,这会导致各种问题,包括Cloudfront可靠地与原始站点联系。

这在公共子网(实际上我已经将其直接交换了)上工作正常,但不适用于私有子网。

任何想法都会被感激,

克里斯

1 个答案:

答案 0 :(得分:0)

  

我要使其可靠运行的唯一方法是将其指向两个公共子网。

这是设计使然。

面向Internet的应用程序负载平衡器(ALB)和经典ELB必须专门在公共子网中进行配置。

无论平衡器后面的实例是否在专用子网中,这始终是正确的。

如果将平衡器放置在专用子网中,则浏览器无法建立与平衡器的连接,因为平衡器的子网的默认路由不是Internet网关-平衡器的答复被错误地路由并且连接超时。如果平衡器位于公共子网和私有子网中,则超时将变得间歇性,因为某些连接是通过公用子网(和工作)到达平衡器的,而另一些连接则是通过私有子网(而不是通过子网)到达平衡器的。

平衡器不需要位于任何任何专用子网中,因为VPC路由表始终包含一个隐式路由,该隐式路由允许VPC内的所有子网都可以访问所有其他子网,而仅受安全组的约束和网络ACL规则。在与实例完全不同的子网中拥有平衡器没有性能上的缺点。