来自AWS自动调整组的传出stream量的静态IP地址

我将在VPC的默认子网中的Elastic Beanstalk自动缩放组中使用多个EC2实例。 这些EC2实例上的应用程序需要连接到使用IP地址白名单来允许访问的第三方服务。 所以我需要一个或多个静态IP地址,我可以给这个服务提供商,所以他们可以被添加到白名单。 我的理解是获得静态IP的唯一方法是获取弹性IP地址。 而且我一次只能将Elastic IP与一个EC2实例相关联 – 我无法将其与整个子网或Internet网关关联(这是否正确?)。 那么我是否需要每个EC2实例的弹性IP,因此每个实例可以单独列入白名单? 如果自动缩放增加了另一个实例,这将如何工作? 我应该有一个具有弹性IP的EC2实例,并通过该实例路由所有传出stream量? 如果是这样,那么这个实例是否仅仅是为了这个目的,或者它可能是运行我的应用程序的实例之一?

你需要一个NAT。 这种configuration通常用于支持VPC中的私有子网,这里有一个相当详细的指导。 将VPCconfiguration为使用NAT实例后,所有出站通信量都将归属于NAT实例的EIP。

如果是这样,那么这个实例是否仅仅是为了这个目的,或者它可能是运行我的应用程序的实例之一?

技术上你可能会,但这不是一个好主意:

  • 让angular色孤立是安全的。
  • 您希望应用程序服务器具有相似或相同的负载configuration文件。 如果一个实例由于NAT而有额外的10%的负载,那么当你达到这个实例的限制时,你将不得不提前放大。 随着越来越多的实例被添加到群集中,NAT变得越来越忙,这将会变得越来越糟糕。
  • 你希望你的应用服务器是相同的和短暂的,所以你可以把它们拆下来和/或在有问题或者需要扩展时replace它们。 有一个应用程序服务器是不同的rest将是一个主要的头痛。

如果你的实例是集装箱的,你可能会摆脱它,但它可能不是一个好主意。

另外请记住,您的NAT实例可能是单点故障,所以您可能要考虑冗余。

我知道这是一个老话题 – 对于现在有类似用例的人来说,AWS nat-gateway将会是一个更好的解决scheme。