我有一个运行生产网站的Windows EC2实例,并且DNS配置为让我的域名指向其公共IP。目前没有与实例关联的弹性IP(EIP)。我想开始使用弹性IP并让我的域名指向它而不是公共IP(如果我必须更改实例,则可以更改)。
阅读文档我发现这句话令人不安:
将EIP与实例关联时,实例的当前关联 公共IP地址发布到EC2-Classic公共IP地址 池。
我担心的是:
如何在不必通过DNS传播的情况下实现这一目标?
答案 0 :(得分:3)
在预先确定的切换时间之前48到72小时,将DNS输入的生存时间(TTL)减少到300秒(5分钟)。
在指定的转换时间:
这样做,您的有效"停机时间"减少到5分钟。
答案 1 :(得分:3)
如果您的EC2实例位于VPC中,您可以在EC2实例上添加第二个网络接口。您可以将弹性IP地址与第二个网络接口相关联。这样,您的EC2实例就可以响应这两个IP地址。
<强>说明强>
请勿更改您的DNS。
您可能需要在EC2实例中使用RDP / SSH进行一些配置更改,以确保您的EC2实例正确响应新的IP地址。
修改本地计算机上的hosts文件,以测试通过新IP地址连接到您的网站。
如果有效,请执行DNS切换并恢复主机文件。
答案 2 :(得分:1)
您可以拥有两个相同的EC2实例。一个具有DNS记录所指向的旧公共IP。一个分配了EIP。请求应该能够访问这两个实例中的任何一个而不会注意到它。您的应用程序必须能够水平扩展。然后,您将DNS记录更改为指向EIP。最终,当DNS更新时,对您域的所有请求将最终通过EIP进入EC2实例。此时您可以停止或终止旧的EC2实例。
如果您的应用程序无法水平扩展并且如果它是Web应用程序,则其他可能性,旧EC2实例中的Web服务器可以将请求重定向到EIP。它会重定向到IP地址,但这是可能的。