让我假装我将AWS EIP分配为:eipalloc-94eb5af1 让我有一个AWS网络接口:eni-e3d20a9a,eni-e3d20a9a
现在让我有两个EC2服务器。网络接口位于这两个服务器上。
现在......让我们假设我想设置监控。或许Ping监控。如果eni-e3d20a9a变得不可见,我希望将EIP转移到eni-e3d20a9a。
这可以通过以下方式轻松完成:
aws ec2 associate-address --allocation-id eipalloc-03d3b666 \
--allow-reassociation --network-interface-id eni-98e03bd3
此外,在每台服务器上设置基本bash脚本以相互监控相当简单。
但是,我需要有关在AWS上有效执行此操作的建议。不是使用脚本也许使用Lambda或Cloudwatch?
完成EIP移动的最佳方法是什么?
答案 0 :(得分:2)
您可以监控实例,如果发生故障,将弹性IP地址重新关联到其他实例或网络接口。
没有自动设施可以为您执行此监控/切换。您可以从EC2实例上的脚本,计划的AWS Lambda函数或甚至Internet上任何位置的计算机监视您的实例。但是,您将对该脚本负责。
或者,您可以让实例本身定期向Amazon CloudWatch发送自定义指标,然后创建一个警报,如果指标值发生变化(例如最近未更新,则表明将触发)潜在的系统故障)。警报可能会触发AWS Lambda函数,该函数将重新关联弹性IP地址。
或者,另一个想法是使用带有健康检查的Amazon Route 53 。如果Amazon Route 53运行状况检查程序检测到问题,则可以将DNS名称的分辨率更改为备用IP地址。这不会重新关联弹性IP地址。相反,它正在更改解析DNS名称时返回的IP地址。