8

有没有办法让添加到自动缩放组的新实例与弹性 IP 关联?我有一个用例,我的自动缩放组中的实例需要在远程服务器上列入白名单,因此它们需要具有可预测的 IP。

我意识到有一些方法可以使用 API 以编程方式执行此操作,但我想知道是否还有其他方法。CloudFormation 似乎可以做到这一点。

4

2 回答 2

4

您可以使用手动或脚本 API 调用将弹性 IP 关联到 ASG 实例,就像对任何其他实例一样 - 但是,没有自动方法可以做到这一点。ASG 实例被设计为临时/一次性的,而 Elastic IP 关联违背了这一理念。

为了解决您的问题:白名单,您有几个选择:

  1. 如果需要可预测源 IP 的系统位于 EC2 上并且在您的控制之下,您可以禁用 IP 限制并改用 EC2 安全组来保护流量
  2. 如果系统不受您的控制,您可以使用弹性 IP 设置代理服务器,并让您的 ASG 实例使用代理处理出站流量
  3. 您可以使用http://aws.amazon.com/vpc/来完全控制实例寻址,包括网络出口 IP——尽管这可能很耗时
于 2012-06-14T19:07:02.773 回答
0

我可以找到 3 种方法来做到这一点。Cloud Formation 只会使其自动化,但您需要先了解发生了什么。

1.-正如@gabrtv 提到的使用VPC,这有两种选择。1.1-在 VPC 内使用 NAT 网关将所有流量路由进出网关。网关将具有弹性 IP 和互联网流量,然后将您的服务器端的 NAT 网关列入白名单。在 AWS 文档中查找 NAT 网关。

1.2-创建一个虚拟专用网关/VPN 连接到您的数据中心的后端服务器,并通过它路由流量。1.2.a-在专用私有子网中创建您的实例。1.2.b-将您这边的整个子网列入白名单,来自该子网的任何请求都将被允许进入。 1.2.c 确保您在子网中的路由正确。

(我故意跳过 2,因为那是 1.2)

3.-懒惰的方式:利用 AWS Opsworks 做两件事:第一:分配弹性 IP 的资源池。第二:按需启动 LOAD 实例并自动从池中为它们分配一个弹性 ip。对于第二部分,您需要将 24/7 实例设为最小值,将 Load 实例设为 MAX。AWS Opsworks 现在允许 Cloud Watch 警报触发实例启动,因此它与 ASG 非常相似。Opsworks 的唯一缺点是实例不会终止,而是会在负载下降时停止,并且您必须事先“创建”实例。此外,您还依靠 Chef solo 来启动您的实例,但这是将 EIP 自动分配给我能找到的新创建实例的唯一方法。

干杯!

于 2016-02-10T20:03:43.533 回答