Auto Scaling / Load Balanced Instances的一致IP地址

时间:2016-08-18 21:56:01

标签: mongodb amazon-web-services containers load-balancing elastic-ip

设置

  • ECS(Containerized)应用程序(Node.js,仅限API)
  • ECS容器实例的Auto Scaling组
  • 自动缩放组前面的Load Balancer
  • VPC涵盖所有实例和ELB
  • 托管在另一个VPC中的数据库,未明确管理(MongoDB Atlas),可能不是同一个区域。

问题

我希望我的数据库使用良好的安全策略,因此我选择按照Atlas的建议将IP列入白名单 - 而不是通过0.0.0.0/0向全世界开放我的数据库。

每个服务器都有自己的IP地址,在自动扩展事件中,需要通过自动添加到Atlas安全规则(这是可能的,不理想)。

我如何(使用NAT网关?弹性IP?)为我的所有负载平衡实例获取一个IP。

解决方案失败?

我尝试使用NAT网关,基本上是scenario 2,其中我的所有实例都在私有子网中,NAT位于具有Internet访问权限的公共子网中,并且实例通过它来访问数据库。这有效! NAT上的弹性IP和我能够在Atlas 上授权它然而它有奇怪的问题,实例在65-75秒内没有响应,间歇性地在ping时。我怀疑这是因为它在互联网上没有技术上的可用性,并且有一些我不完全理解的路由发生。一旦你得到一个200,虽然一切都会正常工作,然后又有70秒的延迟再次恢复良好......

真的很感激输入,一直在搜索没有运气!

1 个答案:

答案 0 :(得分:0)

您是否尝试过VPC对等连接?只要VPC CIDR块不重叠,这是一个不错的选择,因为您可以在对等VPC之间使用安全组和私有IP。

http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/Welcome.html