什么是 Image Builder? - EC2Image Builder

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

什么是 Image Builder?

EC2Image Builder 是一个完全托管的 AWS 服务 它可以帮助您自动创建、管理和部署自定义、安全的 up-to-date 服务器映像。您可以使用 AWS Management Console, AWS Command Line Interface APIs,或者在你的 AWS 账户.

您在自己的账户中用 Image Builder 创建的自定义映像归您所有。您可以配置管道以对您拥有的映像进行自动化更新和为系统打补丁。您也可以运行独立命令,使用您定义的配置资源创建映像。

Image Builder 管道向导可以指导您通过以下步骤创建自定义映像,如下所示:

  1. 为自定义选择基础映像。

  2. 在基础映像中添加软件或从中移除软件。

  3. 使用构建组件自定义设置和脚本。

  4. 运行选定的测试或创建自定义测试组件。

  5. 分发AMIs给 AWS 区域 以及 AWS 账户.

  6. 如果您的 Image Builder 管道创建了用于分发的自定义 Amazon 系统映像 (AMI),则可以授权其他 AWS 账户、组织,OUs并从您的账户启动它。您的账户需要支付与相关的费用。AMI

Image Builder 的特点

EC2Image Builder 提供以下功能:

提高生产力,减少建筑物合规和 up-to-date 图像的操作

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

增加服务正常运行时间

Image Builder 提供对测试组件的访问权限,您可以在部署之前使用这些组件测试映像。您也可以使用创建自定义测试组件 AWS Task Orchestrator and Executor (AWSTOE),然后使用那些。只有在成功完成所有配置的测试时,Image Builder 才会分配您的映像。

提高部署安全性

通过使用 Image Builder,您可以创建映像以消除不必要的组件安全漏洞风险。你可以申请 AWS 安全设置,用于创建符合行业和内部安全标准的安全out-of-the-box 映像。Image Builder 还为受监管行业的公司提供设置集合。您可以使用这些设置来帮助您快速轻松地构建符合STIG标准的映像。有关通过 Image Builder 提供的STIG组件的完整列表,请参阅亚马逊管理了 Image B STIG uilder 的强化组件

集中的实施和跟踪管理

使用内置集成 AWS Organizations,Image Builder 允许您强制执行政策,限制账户只能在获得批准后才能运行实例AMIs。

简化了跨部门的资源共享 AWS 账户

EC2Image Builder 集成了 AWS Resource Access Manager (AWS RAM) 允许您与任何人共享某些资源 AWS 账户 或者通过 AWS Organizations。 EC2可以共享的 Image Builder 资源有:

  • 组件

  • 映像

  • 映像配方

  • 容器配方数

有关更多信息,请参阅 与共享 Image Builder 资源 AWS RAM

支持的操作系统

Image Builder 支持以下操作系统版本:

操作系统/发行 支持的版本

Amazon Linux

2 和 2023

CentOS

7 和 8

CentOS Stream

8

红帽企业 Linux (RHEL)

7、8 和 9

SUSELinux 企业服务器 (SUSE)

12 和 15

Ubuntu

18.04 LTS、20.04 LTS、22.04 和 24.04 LTS LTS

Windows Server

2012 R2、2016、2019 和 2022

支持的映像格式

对于您的自定义AMI图像,您可以选择现有图像AMI作为起点。对于 Docker 容器镜像,您可以从托管的公共镜像 DockerHub、亚马逊中的现有容器镜像或亚马逊ECR管理的容器镜像中进行选择。

概念

以下术语和概念对您理解和使用 EC2 Image Builder 至关重要。

AMI

亚马逊系统映像 (AMI) 是亚马逊的基本部署单元EC2,也是您可以使用 Image Builder 创建的映像类型之一。AMI是预先配置的虚拟机映像,其中包含用于部署EC2实例的操作系统 (OS) 和预安装的软件。有关更多信息,请参阅 Amazon 系统映像 (AMI)

映像管道

图像管道提供了一个自动化框架,用于在上构建AMIs安全的容器映像 AWS。 Image Builder 映像管道与定义映像构建生命周期的构建、验证和测试阶段的映像配方或容器配方相关联。

映像管道可与定义映像构建位置的基础设施配置相关联。您可以定义一些属性,例如,实例类型、子网、安全组、日志记录以及其他基础设施相关配置。还可以将映像管道与分发配置相关联,以定义您希望如何部署映像。

托管映像

托管映像是 Image Builder 中的一种资源,由AMI或容器映像以及版本和平台等元数据组成。Image Builder 管道使用托管映像来确定构建时使用哪个基础映像。在本指南中,托管图像有时被称为 “图像”,但是,图像与 “图像” 不同AMI。

映像配方

Image Builder 图像配方是一个文档,用于定义基础图像和应用于基础图像的组件,以生成输出AMI图像所需的配置。您可以使用映像配方复制构建。可以使用控制台向导共享、分支和编辑 Image Builder 图像配方,即 AWS CLI,或者API。您可以将映像配方与版本控制软件一起使用,以维护可共享的版本化映像配方。

容器配方

Image Builder 映像配方是一个文档,用于定义基础映像和要应用于基础映像以生成输出容器映像所需配置的组件。您可以使用容器配方复制构建。您可以使用控制台向导共享、分支和编辑 Image Builder 图像配方,即 AWS CLI,或者API。您可以将容器配方与版本控制软件一起使用,以维护可共享的版本化容器配方。

基础映像

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

组件

组件定义在创建映像之前自定义实例(构建组件)或测试从创建的映像启动的实例(测试组件)所需的步骤及顺序。

组件是根据声明式、纯文本YAML或JSON文档创建的,该文档描述了用于构建和验证或测试管道生成的实例的运行时配置。组件使用组件管理应用程序在实例上执行。组件管理应用程序会解析文档并运行所需的步骤。

创建组件后,使用映像配方或容器配方将它们分成一个或多个一组,用于定义构建和测试虚拟机或容器映像的计划。您可以使用由其拥有和管理的公共组件 AWS,或者你可以自己创建。有关组件的更多信息,请参阅 Image Builder 如何使用 AWS Task Orchestrator and Executor 用于管理组件的应用程序

组件文档

描述可应用于图像的自定义配置的声明性、纯文本YAML或JSON文档。该文档用于创建构建或测试组件。

运行时阶段

EC2Image Builder 有两个运行阶段:构建测试。每个运行时阶段都有一个或多个阶段,其配置由组件文档定义。

配置阶段

以下列表显示了在构建测试阶段运行的阶段:

构建阶段:
构建阶段

映像管道在运行时从构建阶段的构建时段开始。下载基础映像,并应用为组件的构建阶段指定的配置,以构建和启动实例。

验证阶段

在 Image Builder 启动实例并应用所有构建阶段自定义后,验证阶段开始。在此阶段,根据组件为验证阶段指定的配置,Image Builder 确保所有自定义项均按预期运行。如果实例验证成功,Image Builder 将停止实例,创建映像,然后继续测试阶段。

测试阶段:
测试时段

在此阶段,Image Builder 会根据验证阶段成功完成后创建的映像启动实例。Image Builder 在此阶段运行测试组件,以验证实例是否正常并按预期运行。

容器主机测试阶段

在 Image Builder 对您在容器配方中选择的所有组件运行测试阶段后,Image Builder 会针对容器工作流程运行此阶段。容器主机测试阶段可以运行其他测试,以验证容器管理和自定义的运行时配置。

工作流

工作流程定义了 Image Builder 在创建新映像时执行的步骤顺序。所有映像都有构建和测试工作流程。容器还有一个额外的分配工作流程。

工作流程类型
BUILD

涵盖所创建的每个映像的构建阶段配置。

TEST

涵盖所创建的每个映像的测试阶段配置。

DISTRIBUTION

涵盖容器映像的分配工作流程。

定价

使用 EC2 Image Builder 创建自定义镜像AMI或容器镜像不收取任何费用。但是,标准定价仍适用于该过程中使用的其他服务。以下列表包括一些用法 AWS 服务 在创建、构建、存储和分发自定义映像AMI或容器映像时,这可能会产生成本,具体取决于您的配置。

  • 启动实EC2例

  • 在 Amazon S3 上存储日志

  • 使用 Amazon Inspector 验证映像

  • 为您存储亚马逊EBS快照 AMIs

  • 在 Amazon 中存储容器图片 ECR

  • 将容器镜像推送和拉出亚马逊 ECR

  • 如果 Systems Manager 高级套餐已开启,并且亚马逊EC2实例在本地激活的情况下运行,则可能会通过 Systems Manager 向你收取资源费用

EC2Image Builder 使用其他 AWS 服务 生成映像,具体取决于您的 Image Builder 配方配置。有关自定义镜像的产品和服务集成的更多信息,请参阅在 Image Builder 中集成产品和服务