AWS中的Auto Scale的静态IP

Sab*_*boo 9 amazon-web-services chef-infra aws-cloudformation

我需要在AWS自动扩展组中的所有实例配置(已知)静态IP.我将在稍后的邮件服务器中将所有这些IP列入白名单(这就是为什么需要所有这些IP都是静态的).是否可以使用常规的云形式方法?可能是分配第二个NIC并从静态IP范围为其分配IP?有任何想法吗?

mic*_*zer 7

遗憾的是,您无法访问自动缩放组的任何自定义IP范围.

您可以获取您正在使用的区域的IP范围,并将该区域中的所有IP列入白名单,但这不会将来自其他AWS账户的实例列入黑名单.你可以在这里获得这些范围.

您可以在AWS中配置静态IP - 它们称为弹性IP.弹出IP地址将在停止/启动之间保持实例.弹性IP也是"弹性的",因为它们可以从一个网络接口或实例分离并附加到另一个网络接口或实例.

遗憾的是,无法使自动扩展自动为新启动的实例分配弹性IP地址.您需要编写一个在启动新实例时运行的脚本.您可以使用EC2用户数据运行此脚本.

然后,您可以使用CLI或SDK.该脚本需要为您的帐户分配一个新的弹性IP地址,然后将该弹性IP与该实例相关联.

或者,您可以使用Lambda运行脚本来执行相同的操作,但是响应自动缩放事件.

您可能遇到的其他问题:

  1. 默认情况下,每个区域的帐户中只能有5个弹性IP.您需要提交限制增加以获得更多 - 这可能最终成为一个持续存在的问题.
  2. 当实例在ASG中终止时会发生什么?弹性IP将被取消关联 - 您需要为分离的弹性IP付费.您总是可以编写一个Lambda函数来运行,以响应释放任何解除关联的弹性IP的自动控制事件 - 但这会产生更多的开销.

不幸的是,这个问题没有很好的解决方案.最简单的方法是将该区域的所有Amazon IP列入白名单,但您仍会遇到潜在的安全问题.

编辑: 您也可以只创建一个代理实例.您可以配置ASG中的所有实例以通过代理实例引导流量.然后,您可以为代理实例提供弹性IP并将其保留在防火墙中.

唯一可能的问题是您的代理服务器过载.您需要确保您使用的实例类型可以处理ASG中满负荷允许的最大实例数.


小智 1

听起来你要找的是弹性IP

弹性IP地址是专为动态云计算而设计的静态IP地址。借助弹性 IP 地址,您可以通过快速将地址重新映射到账户中的另一个实例来掩盖实例或软件的故障。您的弹性 IP 地址与您的 AWS 账户相关联,而不是与特定实例相关联,并且它会一直与您的账户相关联,直到您选择明确释放它为止。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html