是否可以将 EC2 实例上的 AMI 替换为不同的 AMI?

Bah*_*n.A 7 amazon-ec2 amazon-web-services amazon-ami

我正在运行带有 LAMP 堆栈和 Laravel 的 EC2 AMI 实例。我需要更新我的 LAMP 堆栈版本以及 Laravel 版本。

我正在考虑运行一个新的 EC2 实例作为更新过程的沙箱,并安装一个全新的 LAMP 堆栈 + Laravel,然后对我的 Laravel 代码库进行更改,以使我的所有代码都适用于新的更新。

然后我可以从这个新实例导出 AMI 并用新实例替换我已经运行的 EC2 AMI 吗?这样我就不需要要求我的客户和他们的客户更改任何内容,例如 IP 地址。

Joh*_*ley 10

答案是您无法替换现有 EC2 实例的 AMI。但是,您可以用新卷替换根卷,这基本上是相同的。该新根卷可以来自另一个 EC2 实例。我只是重复了这些步骤来验证这是否确实可以完成。

  • 创建第二个系统的根卷的快照。
  • 将快照复制到与第一个系统相同的可用区。
  • 从快照创建新卷。
  • 分离旧的根卷。首先贴上标签,以防万一出现问题。
  • 连接新的根卷。
  • 启动实例并验证一切。

[更新]

我只是再次重复这些步骤,但这次我在快照复制期间启用了加密。现在,这是加密 EC2 实例根卷的另一种方法。另一种方法是在启用加密的同时复制现有 AMI,但第二种方法是创建新实例。

  • 可用区 - 这些是属于 AWS 区域的数据中心 (2认同)