什么是 EC2 映像生成器? - EC2 映像生成器
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

什么是 EC2 映像生成器?

EC2 映像生成器 是一项完全托管的 AWS 服务,它可以轻松自动创建、管理和部署自定义、安全且最新的“黄金”服务器映像,这些映像是预先安装的,并预配置了软件和设置以符合特定的 IT 标准。

您可以使用 AWS 管理控制台、AWS CLI 或 API 在您的 AWS 账户中创建“黄金”映像。在使用 AWS 管理控制台时,镜像生成器 向导将指导您完成以下步骤:

  • 提供起始构件

  • 添加和删除软件

  • 自定义设置和脚本

  • 运行选定的测试

  • 将映像分发到 AWS 区域

您生成的映像是在您的账户中创建的,您可以将其配置为定期安装操作系统补丁。

要对映像部署进行故障排除和调试,您可以配置生成日志以添加到 Amazon Simple Storage Service (Amazon S3) 存储桶中。您还可以将实例生成应用程序配置为将日志发送到 CloudWatch。为了接收映像生成状态通知,并将 Amazon Elastic Compute Cloud (Amazon EC2) 密钥对与实例关联以执行手动调试和检查,您可以配置 SNS 主题。

除了最终映像以外,镜像生成器 还会创建映像配方,这是生成的源映像和组件组合。您可以将映像配方与现有的源代码版本控制系统和持续集成/持续部署管道一起使用,以实施可重复的自动化。

EC2 映像生成器 功能

EC2 映像生成器 提供以下功能:

提高生产效率,并减少生成符合要求的最新映像的操作

通过自动完成生成管道,镜像生成器 减少了大规模创建和管理映像所需的工作量。您可以提供生成执行计划首选项以自动完成生成。自动化降低了使用最新操作系统补丁维护软件的运营成本。

增加服务正常运行时间

镜像生成器 允许您在部署之前使用 AWS 提供的测试和自定义的测试对映像进行测试。只有在成功完成所有配置的测试时,AWS 才会分发映像。

提高部署安全性

通过使用 镜像生成器,您可以创建映像以消除不必要的组件安全漏洞风险。您可以应用 AWS 安全设置,以创建符合行业和内部安全标准的安全的现成映像。镜像生成器 还为受管制行业的公司提供了一组设置。您可以使用这些设置,以帮助您快速轻松地生成符合 STIG 标准的映像。有关通过 镜像生成器 提供的 STIG 组件的完整列表,请参阅 EC2 映像生成器 STIG 组件

集中的实施和跟踪管理

通过使用与 AWS Organizations 的内置集成,您可以通过 镜像生成器 实施策略以仅限账户从批准的 AMI 中运行实例。

支持的操作系统

镜像生成器 支持以下操作系统:

  • Amazon Linux 2

  • Windows Server 2019/2016/2012 R2

  • Windows Server 版本 1909

  • Red Hat Enterprise Linux (RHEL) 8 和 7

  • CentOS 8 和 7(CentOS 8 未在 AWS Marketplace 中作为公有 AMI 提供。您可以使用 VMIE 自带您的 CentOS 8 AMI)

  • Ubuntu 18 和 16

  • SUSE Linux Enterprise Server (SUSE) 15

支持的映像格式

您可以选择现有的 AMI 以作为生成映像的起点。

概念

以下术语和概念对您了解和使用 EC2 映像生成器 非常有用。

AMI

Amazon 系统映像 (AMI) 是 Amazon EC2 中的基本部署单元。AMI 是一个预配置的虚拟机映像,其中包含用于部署 EC2 实例的操作系统和预装软件。有关更多信息,请参阅 Amazon 系统映像 (AMI)

映像管道

映像管道是用于在 AWS 上生成安全操作系统映像的自动化配置。镜像生成器 映像管道与映像配方相关联,该配方定义映像生成生命周期的生成、验证和测试阶段。映像管道可以与定义映像生成位置的基础设施配置相关联。您可以定义一些属性,例如,实例类型、子网、安全组、日志记录以及其他基础设施相关配置。您也可以将映像管道与分发配置相关联,以定义所需的映像部署方式。

映像配方

镜像生成器 映像配方是一个文档,用于定义源映像以及要应用于源映像的组件以生成输出映像所需的配置。您可以使用映像配方复制生成。可以使用控制台向导、AWS CLI 或 API 共享和编辑 镜像生成器 映像配方以及创建分支。您可以将映像配方与版本控制软件一起使用,以维护可共享且进行版本控制的映像配方。

源映像

源映像是映像配方文档中与组件一起使用的选定映像和操作系统。源映像和组件组合在一起,定义了生成输出映像所需的配置。

组件

组件定义在创建映像之前改变实例(生成组件)或测试从创建的映像启动的实例(测试组件)所需的步骤及顺序。组件是一个声明性的纯文本 YAML 文档,描述了要执行的一系列步骤。组件通过组件管理应用程序在实例上执行。组件管理应用程序会解析文档并执行所需的步骤。创建组件后,需要根据映像配方将它们分成一个或多个一组,用于定义生成和测试虚拟机映像的执行计划。您可以使用 AWS 拥有和管理的公共组件,也可以创建自己的组件。有关组件的更多详细信息,请参阅 EC2 映像生成器 组件管理器

文档

这是一种声明性文档,它使用 YAML 格式列出在实例上生成、验证和测试 AMI 的执行步骤。该文档是配置管理应用程序的输入,该应用程序在 Amazon EC2 实例本地运行以执行文档步骤。

执行阶段

EC2 映像生成器 有两个执行阶段:生成测试。组件有三个可能的阶段:生成验证测试。映像管道启动时,镜像生成器 处于生成阶段。在此阶段,会启动一个实例,并将映像配方中定义的所有组件下载到该实例。组件按照映像配方指定的顺序执行。对于每个组件,组件管理应用程序会解析相关文档并执行生成和验证阶段。如果成功,则会关闭实例并创建映像,而 镜像生成器 将继续执行测试阶段。在测试阶段,将从先前创建的映像启动实例,并将组件下载到该实例。组件管理应用程序将解析文档并执行测试阶段。镜像生成器 中的生成阶段对应于组件中的生成和验证阶段,而测试阶段对应于组件中的测试阶段。

定价

使用 EC2 映像生成器 不会产生任何费用。启动 Amazon EC2 实例以及在 Amazon S3 上存储日志、使用 Amazon Inspector 验证映像以及 Amazon EBS 快照的 AMI 存储可能会产生相应的费用,具体取决于您的映像的配置。如果启用 Systems Manager 高级套餐并运行具有本地激活的 EC2 实例,则可能会通过 Systems Manager 向您收取资源费用。

EC2 映像生成器 使用其他 AWS 服务生成映像。根据 镜像生成器 映像配方配置,可能使用以下服务。

AWS License Manager

AWS License Manager 允许您从账户许可证配置存储中创建和应用许可证配置。对于每个 AMI,您可以使用 镜像生成器 附加您的 AWS 账户有权访问的预先存在的许可证配置,以作为 镜像生成器 工作流程的一部分。只能将许可证配置应用于 AMI。镜像生成器 只能使用预先存在的许可证配置,而不能直接创建或修改许可证配置。不会在您的账户中必须启用的 AWS 区域之间复制 License Manager 设置,例如,在 ap-east-1 (HKG) 和 me-south-1 (BAH) 区域之间。

AWS Systems Manager (SSM) Automation

Systems Manager Automation 文档定义 Systems Manager 对托管实例和 AWS 资源执行的操作。SSM 文档使用 JSON 或 YAML,并包含您指定的步骤和参数。您指定的步骤按顺序运行。Automation 文档是 Automation 类型的 Systems Manager 文档,与 Command 和 Policy 文档相对。有关更多信息,请参阅 AWS Systems Manager Automation

Amazon CloudWatch Logs

您可以使用 Amazon CloudWatch Logs 来监控、存储和访问来自 Amazon EC2 实例、AWS CloudTrail、Amazon Route 53 和其他来源的日志文件。