更新 EC2 AMI 根驱动器



我有一个 EC2 AMI,我从中创建实例以用于执行构建。我现在需要修改此 AMI,因为我需要在其上安装一个额外的程序。我想做的是让我的 AMI 指向不同的快照以用作其根驱动器(安装了新程序的快照),一切都会很好。但是,我找不到一种方法来做到这一点。论坛上来自亚马逊的人说这是不可能的,但我不太确定。所以,我想在这里问一下。

我知道我可以获取我想要的更新快照并从中创建全新的 AMI,但这会产生一个新的 AMI ID,现在我需要更改我的脚本用于启动新实例的 AMI ID。我不想每次意识到需要更改我的 AMI 设置时都这样做。

您可以从现有的 ec2 实例构建私有 AMI(当然您也可以公开它)。然后,您可以从"我的 AMI"直接使用所有已安装的应用程序/软件包启动新的 ec2 实例。

看看这个文档

Amazon Systems Images (AMI)

AWS上个月推出了一些新功能,例如Docker,但目前尚未准备好公开使用。

创建私有 AMI 映像的另一个好处是,当您需要启动新实例时,它将为您节省大量时间。

如果您需要更新配置文件,在创建新的 AMI 后,我建议您创建一个 CI 触发器(例如,通过 Jenkins)。 在脚本中运行 awscli 命令,它将轻松更新您的配置文件。所有这些任务,包括创建新的 AMI、更新配置文件等,都可以在 Jenkins/bamboo 下自动完成。

如果您对这种方式没有信心,请考虑 cloudformation模板。 它将对您的系统进行重大改进。但是如果你完全设置它,云形成方式将在以后的更改中为您节省大量时间。

在 Cloudformation 中,您需要设置启动配置及其自动扩展组,您仍然需要创建私有 AMI 镜像,但每次创建新镜像后,您都需要触发一个脚本来更新其启动配置中的 ami 镜像,之后,任何新实例都会自动使用新的 AMI。

最新更新