具有弹性IP的Amazon EC2自动扩展实例

时间:2012-06-13 21:23:11

标签: amazon-ec2 amazon-web-services autoscaling

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

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

2 个答案:

答案 0 :(得分:4)

您可以使用手动或脚本化API调用将弹性IP与ASG实例相关联,就像使用任何其他实例一样 - 但是,没有自动执行此操作的方法。 ASG实例设计为短暂的/一次性的,弹性IP协会违背了这一理念。

要解决您的问题:白名单,您有以下几种选择:

  1. 如果需要可预测源IP的系统位于EC2且受您控制,您可以禁用IP限制并使用EC2安全组来保护流量
  2. 如果系统不在您的控制范围内,您可以设置具有弹性IP的代理服务器,并让您的ASG实例使用代理进行出站流量
  3. 您可以使用http://aws.amazon.com/vpc/来完全控制实例寻址,包括网络出口IP - 尽管这可能非常耗时

答案 1 :(得分:0)

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

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

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

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

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

干杯!