【问题标题】:Is it possible to replace the AMI on an EC2 instance with a different AMI?是否可以用不同的 AMI 替换 EC2 实例上的 AMI?
【发布时间】:2019-03-10 07:34:15
【问题描述】:

我正在运行一个带有 LAMP 堆栈和 Laravel 的 EC2 AMI 实例。 我需要更新我的 LAMP 堆栈版本以及 Laravel 版本。 我正在考虑运行一个新的 EC2 实例作为我的更新过程的沙箱,并安装一个全新的 LAMP 堆栈 + Laravel,然后对我的 Laravel 代码库进行更改,以使我的所有代码都能与新的更新一起使用。 然后我可以从这个新实例中导出 AMI 并用新实例替换我已经运行的 EC2 的 AMI。这样我就不需要让我的客户和他们的客户更改任何东西,比如 IP 地址。 我不得不提一下,我对所有这些都是新手,所以请教我最好的方法。 谢谢!

【问题讨论】:

  • 不,替换“AMI”实际上是创建新服务器的过程。如果 IP 地址的一致性是一个问题,那么您应该使用弹性 IP。

标签: amazon-web-services amazon-ec2 amazon amazon-ami


【解决方案1】:

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

  • 创建第二个系统的根卷的快照。
  • 将快照复制到与第一个系统相同的可用区。
  • 从快照创建一个新卷。
  • 分离旧的根卷。先贴标签,以防万一发生故障。
  • 附加新的根卷。
  • 启动实例并验证一切。

[更新]

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

【讨论】:

  • 对不起,我提到我是 aws 新手,那么你所说的 AZ 是什么意思?具有新根卷的旧实例会保留其 IP 地址吗?从我的客户的角度来看会发生什么变化?如果我说这实质上意味着我正在使用新的根卷运行我的旧 ec2 实例并且新的根卷包含我新更新的 LAMP + Laravel 和我所有的 ew 代码,我是对的吗?谢谢!
  • 可用区 - 这些是属于 AWS 区域的数据中心
猜你喜欢
  • 2015-05-27
  • 2018-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 1970-01-01
  • 2014-08-19
  • 1970-01-01
相关资源
最近更新 更多