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

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

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

显然这不是什么好事情。

有什么方法可以分配弹性(或其他永久)IP 地址,而无需删除当前的“公共 IP”?或者,有没有其他我还没有想到的解决方案可以帮助我摆脱这种困境?

答案1

是的!拥抱 DNS 最终一致性的力量。

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

在等待的两周内,网站可能会同时访问旧 IP 地址和新 IP 地址。您可能无法分辨,但由于这两个 IP 地址仍可访问,因此您可以很快管理此更改。

答案2

另一个选项是创建一个 ENI 并将 EIP 附加到它。然后将 ENI 附加到您的实例并更改 DNS 条目。

相关内容