【问题标题】:AWS Micro instance: upgrade to Medium?AWS 微型实例:升级到中?
【发布时间】:2026-02-21 16:15:01
【问题描述】:

我正在运行一个 AWS Micro 实例,我想将其升级为 Medium 实例。

我可以做到这一点的一种方法就是硬着头皮承认我会失去一些流量:停止 Micro,创建图像,从该图像创建 Medium。应该需要 5 分钟,这是可以接受的(对我来说,在特定情况下)。

但是这里的问题是域名。 Medium 实例可能有不同的 IP,然后我必须将域名指向新 IP,这可能需要几个小时。这是不可接受的。

建议?

【问题讨论】:

  • 您是否考虑过设置elastic IP
  • 如果您现在在 DNS A 记录上设置合理的 TTL(例如60 秒),然后等待前一个 TTL 过期,然后再更改任何内容。

标签: amazon-web-services


【解决方案1】:

在大多数情况下,应该可以启动新实例、安装应用程序并将其连接到与旧实例相同的数据库。这样,您可以在 DNS 设置中更改 IP 地址,并且用户可以在 DNS 记录传播时无缝地开始使用新实例。

如果您的应用程序的设计方式不可行,您应该考虑设置一个代理/负载平衡器,只将请求转发到首选服务器。然后,您将 DNS 设置为指向负载均衡器/代理,然后您可以启动新实例并通过更新负载均衡器中的 IP 地址设置将其投入运行,然后所有流量都将转到新服务器瞬间。

【讨论】:

    【解决方案2】:

    您的微实例需要分配一个弹性 IP 地址。您可以现在添加一个,然后更改您的 DNS 以使用新的弹性 iP。这是一个 IP 地址,您可以保留并将其连接到您的任何实例。优点是您可以启动新的 Medium 实例。然后只需将您的弹性 IP 从您的 micro 中分离出来,并将其附加到您的中型实例。停机时间应为 30 秒或更短。

    http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#concepts-elastic-addressing

    【讨论】:

    • 除非实例还没有弹性IP,附加一个会释放当前的公共IP地址,这引入了与OP试图避免的完全相同的问题。