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

Is it possible to automate the creation of AMIs in AWS?

这些是我在 AWS 文档中找到的步骤: 您可以使用 AWS 管理控制台或命令行创建 AMI。

下图总结了从 运行 EC2 实例创建 Amazon EBS 支持的 AMI 的过程。从现有的 AMI 开始,启动一个实例,自定义它,从中创建一个新的 AMI,最后启动一个新 AMI 的实例。

这些可以自动化吗?我不确定目前要使用哪种服务,或者是否可以使用。任何想法表示赞赏

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

此实例可以手动配置或使用配置工具(例如Ansible, Chef or Puppet)。

通过使用这些工具,您可以自动构建服务器,以始终遵循一套可重现的指令。称为 pre-baked/golden AMI 的工作流程涉及 运行 这些配置工具在新服务器上,然后从该服务器创建映像。然后将推出替换其他服务器。

亚马逊在 Golden AMI Pipeline 上有一个博客 post,有助于解释如何实现自动化。

AWS 最近还推出了一个名为 EC2 Image Builder 的工具,它允许完全自动化以及在创建 AMI 后对其进行验证。

我认为现有工具中您可以尝试的最佳工具是packer。开箱即用,Packer 支持为 Amazon EC2、CloudStack、DigitalOcean、Docker、Google Compute Engine、Microsoft Azure、QEMU、VirtualBox、VMware 等构建映像.

现代,自动化

HashiCorp Packer automates the creation of any type of machine image. It embraces modern configuration management by encouraging you to use automated scripts to install and configure the software within your Packer-made images. Packer brings machine images into the modern age, unlocking untapped potential and opening new opportunities.

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

This Packer AMI Builder creates a new AMI out of the latest Amazon Linux AMI, and also provides a cloudformation template that leverages AWS CodePipeline to orchestrate the entire process. packer

所有你需要的

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

ami-builder-packer

This Packer AMI Builder creates a new AMI out of the latest Amazon Linux AMI, and also provides a cloudformation template that leverages AWS CodePipeline to orchestrate the entire process.

另外加壳提供跨云服务提供商AMI构建器AWS、Azure和Google云等