Amazon web services 如果弹性ip与另一个正在运行的ec2实例关联,那么在重新启动后是否可以将弹性ip与ec2实例重新关联?
我们有一个设置,其中3个ec2实例各自与其主网络接口eth0上的弹性ip相关联,因此传入的请求可以由这些实例提供服务 这些实例中的每一个都有一个辅助网络接口eth1,在实例发生故障/崩溃/重新启动的情况下,与该实例关联的弹性ip将与该接口上其余运行的ec2实例之一关联。这是一种故障转移机制,因为我们总是希望那些弹性IP由某个正在运行的实例提供服务,这样我们就不会丢失任何传入的请求 我遇到的问题特别是在实例重新启动时。当一个实例重新启动时,它无法恢复它拥有的公共ip,而该公共ip是现在与另一个实例关联的弹性ip的公共ip。因此,除非我手动将弹性ip重新分配给该实例,否则该实例无法访问internet 是否可以在重新启动时自动回收/重新关联它曾经拥有的弹性ip到其eth1接口上?如果没有,您是否有解决方案的建议 重新启动是必要的,因为我们将在实例上进行无人值守的升级 更新:Amazon web services 如果弹性ip与另一个正在运行的ec2实例关联,那么在重新启动后是否可以将弹性ip与ec2实例重新关联?,amazon-web-services,amazon-ec2,elastic-ip,Amazon Web Services,Amazon Ec2,Elastic Ip,我们有一个设置,其中3个ec2实例各自与其主网络接口eth0上的弹性ip相关联,因此传入的请求可以由这些实例提供服务 这些实例中的每一个都有一个辅助网络接口eth1,在实例发生故障/崩溃/重新启动的情况下,与该实例关联的弹性ip将与该接口上其余运行的ec2实例之一关联。这是一种故障转移机制,因为我们总是希望那些弹性IP由某个正在运行的实例提供服务,这样我们就不会丢失任何传入的请求 我遇到的问题特别是在实例重新启动时。当一个实例重新启动时,它无法恢复它拥有的公共ip,而该公共ip是现在与另一个实例
还请注意,我需要使用这些弹性IP,因为它们是我们与之集成的合作伙伴公司的防火墙中允许使用的IP。使用ELBs不会起作用,因为它的IP会随着时间的推移而变化。听起来使用弹性负载平衡器(ELB)会更好。您可以只使用一个ELB,它将为您的3个应用程序服务器提供请求 如果其中一个出现故障,ELB会检测到并停止在那里路由请求。当它重新联机时,ELB会检测到这一点并再次将其添加到路由组中
我终于解决了这个问题。我错过的是,Amazon只在两种情况下为实例提供新的公共IP
- 它的弹性IP是分离的
- 它只有一个网络接口
顺便说一句,至少从我读到的所有内容来看,这些获得新公共ip的条件在amazon文档中没有明确提到。感谢您的反馈。但我需要对这些实例使用弹性IP,因为它们是我们正在与之集成的合作伙伴公司防火墙中唯一允许的。ELBs IPs会随着时间而变化,因此不会有帮助。我将更新描述以使其更清楚。您是否已经有了用于第1部分(将非响应服务器的弹性IP重新分配给故障转移服务器eth1)的脚本?是的。该脚本使用python编写,使用boto库将非响应服务器的弹性IP重新分配给eth1上的故障转移服务器。