在AWS中自动创建AMI是否可行?

3
以下是我在 AWS 文档中找到的步骤:
您可以使用 AWS 管理控制台或命令行创建 AMI。
下面的图表总结了从运行中的 EC2 实例创建 Amazon EBS 支持的 AMI 的过程。从现有的 AMI 开始,启动实例,自定义它,从它创建一个新的 AMI,最后启动您的新 AMI 实例。
这些步骤是否可以自动化?我不确定现在应该使用哪个服务,或者是否可能自动化。欢迎任何想法。
2个回答

6

构建AMI有许多方法。AMI是通过创建现有实例的映像来构建的。

可以手动或使用配置工具(如AnsibleChefPuppet)配置该实例。

通过使用这些工具,您可以自动化构建服务器,以始终遵循可重复执行的一系列指令。一个被称为预制/黄金AMI的工作流程涉及在新服务器上运行这些配置工具,然后从该服务器创建映像。然后将其推出以替换其他服务器。

Amazon在Golden AMI Pipeline博客文章中介绍了如何自动化此过程。

AWS还最近推出了一种名为EC2 Image Builder的工具,可以在创建AMI之后进行完全自动化验证。


1
只是为了澄清,制作黄金 AMI 和使用 EC2 镜像构建器有什么区别? - notaproatbash
1
它们都具有相同的输出,EC2 Image Builder是一个托管服务,可以处理整个工作流程,包括验证,但可能不支持您目前想要执行的所有功能。另一方面,Golden AMI工作流实际上是让您创建EC2并在其上运行工具,然后将其打包。这也可以通过AWS工具或您自己的脚本自动化,它将提供更多的自由度,但如果工作流出现问题,则需要您负责调试 :) - Chris Williams

1
我认为在现有的工具中,你可以尝试使用packer。Packer自带支持构建Amazon EC2、CloudStack、DigitalOcean、Docker、Google Compute Engine、Microsoft Azure、QEMU、VirtualBox、VMware等镜像。

现代化、自动化

HashiCorp Packer自动创建任何类型的机器镜像。它采用现代配置管理方式,鼓励您使用自动化脚本来安装和配置Packer制作的镜像中的软件。Packer将机器镜像带入现代时代,释放未被开发的潜力并开辟新机会

这里是包含完整生命周期的repo

此Packer AMI Builder从最新的Amazon Linux AMI创建新的AMI,并提供一个云形成模板,利用AWS CodePipeline编排整个过程。 packer

enter image description here

你所需要的一切

git add .
git commit -m "SHIP THIS AMI"
git push origin master

ami-builder-packer

这个 Packer AMI Builder 可以基于最新的 Amazon Linux AMI 创建一个新的 AMI,并提供一个云形成模板,利用 AWS CodePipeline 来编排整个过程。

Packer 还提供跨云服务提供商的 AMI 构建工具,如 AWS、Azure 和 Google Cloud 等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接