更新EC2 AMI根驱动器

时间:2015-01-02 05:28:42

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

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

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

1 个答案:

答案 0 :(得分:0)

您可以从现有的ec2实例构建私有AMI(当然您也可以公开它)。然后你可以从"我的AMI"开始一个新的ec2实例。直接安装所有应用程序/包。

看一下这个文档

Amazon Machine Images (AMI)

AWS上个月引入了Docker这样的新功能,但目前还没有公开使用。

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

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

如果您对这种方式没有信心 ,请考虑cloudformation模板。它会对你的系统有很大的改进。但是如果你完全设置它,那么cloudformation方式将为你节省大量的时间用于未来的更改。

在Cloudformation中,您需要设置启动配置及其自动缩放组,您仍需要创建私有AMI映像,但每次创建新映像后,都需要触发脚本以在其启动配置中更新ami映像,之后,任何新实例都将自动使用新的AMI。