Amazon EC2 - 需要在不停机的情况下更改 IP 地址

Gre*_*reg 4 domain-name-system amazon-ec2 amazon-elastic-ip

我正在维护一个相当引人注目的站点,该站点托管在 Amazon EC2 上,之前的开发人员将 A 记录指向实例的“公共 IP”,而不是使用“弹性 IP”。据我所知,“公共 IP”在任何情况下都不是永久性的,因此如果我需要停止实例,它将获得一个新的实例。此外,如果我分配一个弹性 IP,它会删除公共 IP,因此如果我更改它,该站点将无法访问,直到 A 记录更改传播。

显然这并不好。

有什么方法可以在不删除当前“公共 IP”的情况下分配弹性(或其他永久)IP 地址?或者,有没有其他我没有想到的解决方案可以让我摆脱这个烂摊子?

sys*_*138 6

就在这里!拥抱 DNS 最终一致性的力量。

  1. 设置一个 ELB,将其指向您的实例。
  2. 使用 ELB 的 CNAME 更新公共实例的 A 记录。
  3. 等一个星期。
  4. 将 Elastic-IP 与实例关联。
  5. 使用 EIP 的新 A 记录更新您应用的 CNAME 记录。
  6. 等一个星期。
  7. 关闭 ELB。

在等待的两周内,站点可能会同时获得新旧 IP 地址的点击量。您可能无法分辨,但由于两者仍然可以访问,您可以非常快速地管理此更改。