将静态专用IP地址设置为使用AWS Elastic Load Balancer

时间:2017-08-12 08:31:28

标签: amazon-web-services amazon-ec2 elastic-load-balancer amazon-cloudformation

我正在尝试将静态私有IP地址设置为使用AWS Elastic Load Balancer注册的AWS EC2实例。

到目前为止,我遇到的最流行的方法是使用Auto Scaling Groups。这种方法在this论坛讨论中得到了很好的阐述。

后来,我遇到了AWS Auto Recovery for Amazon EC2 Instances功能,它简化了与上述论坛讨论(自动缩放方法)中讨论的AWS弹性网络接口附件相关的大部分工作。

但基于自动恢复的方法中一个不明确的部分(这将是一个问题),是它在失败期间动态注册恢复的EC2实例的成功,以及他们已经注册的任何负载平衡器。没有关于如何使用自动恢复实例以及如何使用负载平衡器的信息。 This自动恢复功能简介定义了自动恢复功能的以下优点:

  
      
  • 正在运行的实例会自动转移到新的底层硬件。
  •   
  • 无需迁移到新的EC2实例。
  •   
  • 实例ID不会被更改。
  •   
  • 如果是弹性IP地址,则IP地址保持不变。
  •   
  • 实例元数据和私有IP地址也保持不变。
  •   

上述好处让我觉得自动恢复的实例可以成功地与故障和恢复期间附加的任何负载均衡器(主要是由于常量实例ID)一起使用。

但我的问题如下:

  1. EC2实例的自动恢复功能是否可以成功使用它们所连接的任何负载均衡器(在成功实例注册和故障恢复期间注销)?
  2. 哪种方法是将静态私有IP地址设置为使用AWS Elastic Load Balancers注册的AWS EC2实例?

1 个答案:

答案 0 :(得分:1)

  

EC2实例的自动恢复功能是否可以成功使用它们所连接的任何负载均衡器(在成功实例注册和故障和恢复期间注销时)?

是的,它有效,因为没有发生注册/注销。该实例仍在注册。实例自动恢复的要点是EC2中没有其他组件意识到实例已被替换。在实例恢复之后,关于实例的所有内容都保持原样 - 实例ID,私有IP地址,EBS和ENI附件。

  

恢复的实例与原始实例相同,包括实例ID,私有IP地址,弹性IP地址和所有实例元数据。

     

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html

换句话说,它与每种方式中完全相同的实例重要......只有为其供电的物理硬件才有所不同。

平衡器会在实例失败后得出不健康的结论,但不会意识到它已经消失并被自动恢复取代,因此平衡器将继续健康检查实例... ...实例恢复后,运行状况检查开始成功,平衡器开始再次向实例发送流量。

  

哪种方法是将静态私有IP地址设置为使用AWS Elastic Load Balancers注册的AWS EC2实例?

您不需要这样做。平衡器与实例相关联,而不是与IP地址相关联。如果终止实例并使用相同的私有IP创建新实例,则之前向该私有IP发送流量的平衡器都不会继续这样做,因为平衡器知道其预期目标 - 具有特定特定实例的特定实例实例ID - 已经消失。

当然,如果不在自动扩展组中,可以使用静态IP,但没有理由与手头的问题相关。