本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是 EC2 Image Builder
EC2 Image Builder 是一个完全托管Amazon Web Service的,可帮助您自动创建、管理和部署自定义、安全映像和 up-to-date 服务器映像。您可以使用Amazon Web Services Management ConsoleAmazon Command Line Interface、或 API 在您的中创建自定义镜像Amazon Web Services 账户。
您拥有 Image Builder 在您的账户中创建的自定义图像。您可以配置管道以自动更新和修补您拥有的映像。您也可以运行独立命令,使用已定义的配置资源创建映像。
Image Builder 流水线向导可以指导您完成创建自定义映像的步骤,如下所示:
-
选择基本映像进行自定义。
-
在基础映像中添加软件或从中删除软件。
-
使用构建组件自定义设置和脚本。
-
运行选定的测试或创建自定义测试组件。
-
将 AMI 分发给Amazon Web Services 区域和Amazon Web Services 账户。
-
如果您的 Image Builder 管道创建了用于分发的自定义 Amazon Machine Image (AMI)Amazon Web Services 账户,则您可以授权其他、组织和 OU 从您的账户启动该管道。您的账户需要支付与 AMI 相关的费用。
Image Builder 集成了以下内容,Amazon Web Services以提供详细的事件指标、日志记录和监控。这些信息可帮助您跟踪活动、解决映像构建问题以及根据事件通知创建自动化。
EC2 Image Builder
EC2 Image Builder 提供以下功能:
提高生产力并减少建筑合规性和 up-to-date 映像方面的操作
Image Builder 通过自动化构建管道,减少了大规模创建和管理图像所涉及的工作量。您可以提供生成执行计划首选项以自动完成生成。自动化降低了使用最新操作系统补丁维护软件的运营成本。
增加服务正常运行时间
Image Builder 提供对测试组件的访问权限,您可以使用这些组件在部署之前测试映像。您也可以使用EC2 Task Orchestrator and Executor (EC2 TOE) 创建自定义测试组件,然后使用它们。只有在所有配置的测试都成功后,Image Builder 才会分发您的映像。
提高部署安全性
Image Builder 允许您创建映像,以消除不必要的组件安全漏洞风险。您可以应用Amazon安全设置来创建符合行业和内部安全标准的安全out-of-the-box 映像。Image Builder 还为受监管行业的公司提供设置集合。您可以使用这些设置,以帮助您快速轻松地生成符合 STIG 标准的镜像。有关可通过Image Builder 提供的 STIG 组件的完整列表,请参阅EC2 Task Orchestrator and ExecutorSTIG 组件。
集中的实施和跟踪管理
Image Builder 使用与Amazon Organizations的内置集成,使您能够强制执行限制账户只能从经批准的 AMI 运行实例的政策。
简化了跨部门资源共享Amazon Web Services 账户
EC2 Image Builder 与Amazon Resource Access Manager (Amazon RAM) 集成,允许您与任何人Amazon Web Services 账户或通过任何人共享某些资源Amazon Organizations。可以共享EC2 Image Builder 资源有:
-
组件
-
映像
-
镜像配方
-
容器配方数
有关更多信息,请参阅共享 EC2 Image Builder:
支持的操作系统
Image Builder 支持以下操作系统版本:
操作系统/发行版 | 支持的版本 |
---|---|
Amazon Linux |
2 和 2023 |
CentOS |
7 和 8 |
Red Hat Enterprise Linux (RHEL) |
7 和 8 |
SUSE Linux Linux Enterprise |
12 和 15 |
Ubuntu |
18.04 LTS、20.04 LTS 和 22.04 LTS |
Windows Server |
2012 R2、2016、2019 和 2022 2004 和 20H2 |
支持的镜像格式
对于您的自定义 AMI 映像,您可以选择现有 AMI 作为起点。对于 Docker 容器镜像,您可以从托管的公共映像 DockerHub、Amazon ECR 中的现有容器映像或亚马逊管理的容器映像中进行选择。
概念
以下术语和概念是您了解和使用 EC2 Image Builder 的核心术语和概念。
AMI
亚马逊系统映像 (AMI) 是 Amazon EC2 中的基本部署单元,也是您可以使用 Image Builder 创建的映像类型之一。AMI 是预配置的虚拟机映像,包含用于部署 EC2 实例的操作系统 (OS) 和预安装的软件。有关更多信息,请参阅 Amazon 系统镜像 (AMI)。
镜像管道
映像管道为在上构建安全的 AMI 和容器镜像提供了自动化框架Amazon。Image Builder 映像生成器映像生成器映像生成器映像生成器映像生成器映像生成器映像配方或容器配方相关联。
映像管道可与定义映像构建位置的基础设施配置相关联。您可以定义一些属性,例如,实例类型、子网、安全组、日志记录以及其他基础设施相关配置。还可以将映像管道与分发配置相关联,以定义您希望如何部署映像。
托管映像
托管映像是 Image Builder 中的一种资源,由 AMI 或容器映像以及版本和平台等元数据组成。Image Builder 管道使用托管映像来确定要使用哪个基础映像进行构建。在本指南中,托管映像有时被称为 “映像”,但是,图像与 AMI 不同。
镜像配方
映像生成器映像生成器映像配方是一个文档,用于定义基本映像和要应用于基本映像以生成输出映像所需配置的组件。您可以使用映像食谱复制构建。可以使用控制台向导、Amazon CLI 或 API 共享、分支和编辑映像生成器映像食谱。您可以将映像食谱与版本控制软件一起使用,以维护可共享的版本化映像食谱。
容器配方
Image Builder 器容器配方是一个文档,用于定义基本映像和要应用于基本映像以生成输出映像所需配置的组件。您可以使用容器食谱复制构建。您可以使用控制台向导、或 API 共享、分支和编辑映像生成器映像生成器映像配方。Amazon CLI可将容器配方与版本控制软件一起使用,以维护可共享的版本化容器配方。
基础映像
基础映像是您的映像或容器配方文档中使用的选定映像和操作系统以及组件。基础映像和组件定义相结合,可以为输出图像生成所需的配置。
组件
组件定义了在创建映像之前自定义实例(构建组件)或测试从创建的映像启动的实例(测试组件)所需的步骤顺序。
组件是根据声明式纯文本 YAML 或 JSON 文档创建的,该文档描述了用于构建和验证或测试管道生成的实例的运行时配置。组件使用组件管理应用程序在实例上运行。组件管理应用程序解析文档并运行所需的步骤。
创建后,使用映像配方或容器配方将一个或多个组件组合在一起,以定义构建和测试虚拟机或容器映像的计划。可以使用由其拥有并管理的公共组件Amazon,也可以创建自己的组件。有关组件的更多信息,请参阅EC2 Task Orchestrator and Executor组件管理器。
组件文档
一个声明性的纯文本 YAML 或 JSON 文档,描述了可以应用于图像的自定义配置。该文档用于创建构建或测试组件。
运行时阶段
EC2 Image Builder 有两个运行时阶段:构建和测试。每个运行时阶段都有一个或多个阶段,其配置由组件文档定义。
配置阶段
以下列表显示了在构建和测试阶段运行的阶段:
构建阶段:
- 构建阶段
-
映像流水线在运行时从构建阶段的构建阶段开始。下载基础映像,并将为组件的构建阶段指定的配置应用于构建和启动实例。
- 验证阶段
-
在 Image Builder 启动实例并应用所有构建阶段的自定义设置后,验证阶段开始。在此阶段,Image Builder 根据组件为验证阶段指定的配置,确保所有自定义均按预期运行。如果实例验证成功,Image Builder 将停止实例,创建映像,然后继续进入测试阶段。
测试阶段:
- 测试阶段
-
在此阶段,Image Builder 从成功完成验证阶段后创建的映像启动一个实例。Image Builder 在此阶段运行测试组件,以验证实例运行状况良好且按预期运行。
- 容器主机测试阶段
-
在 Image Builder 对您在容器配方中选择的所有组件运行测试阶段后,Image Builder 会针对容器工作流运行此阶段。容器主机测试阶段可以运行其他测试,以验证容器管理和自定义运行时配置。
工作流程
工作流程定义了 Image Builder 在创建新图像时执行的步骤顺序。所有映像都有构建和测试工作流程。容器还有额外的分发工作流程。
工作流程类型
BUILD
-
涵盖创建的每个图像的构建阶段配置。
TEST
-
涵盖创建的每个图像的测试阶段配置。
DISTRIBUTION
-
涵盖容器镜像的分发工作流程。
定价
使用 EC2 Image Builder 创建自定义 AMI 或容器映像是免费的。但是,标准定价适用于在此过程中使用的其他服务。以下列表包括一些Amazon Web Services在创建、构建、存储和分发自定义 AMI 或容器映像时可能会产生成本的使用情况,具体取决于您的配置。
-
启动 EC2 实例
-
在 Amazon S3 上存储日志
-
使用Amazon Inspector tor 验证图片
-
为您的 AMI 存储亚马逊 EBS 快照
-
在亚马逊 ECR 中存储容器镜像
-
将容器镜像推入和拉出 Amazon ECR
-
如果 Systems Manager Advanced Tier 已开启,并且 Amazon EC2 实例通过本地激活运行,则可能需要通过Systems Manager 向您收取资源费用
相关 Amazon Web Services
EC2 Image Builder 使用其他Amazon Web Services来构建镜像。根据您的 Image Builder 镜像配方或容器配方配置,可能会使用以下服务。
Amazon License Manager
Amazon License Manager 允许您从账户许可证配置存储中创建和应用许可证配置。对于每个 AMI,您可以使用 Image Builder 附加到您Amazon Web Services 账户在 Image Builder 工作流程中可以访问的预先存在的许可证配置。许可证配置只能应用于 AMI。Image Builder 只能使用预先存在的许可证配置,不能直接创建或修改许可证配置。License Manager 设置将无法在您的账户中启用,例如,在ap-east-1
(亚太地区:香港)和me-south-1
(中东:巴林)区域之间。Amazon Web Services 区域
亚马逊 CloudWatch 日志
您可以使用 Amazon Lo CloudWatch gs 监控、存储和访问来自 EC2 实例Amazon CloudTrail、Amazon Route 53 和其他来源的日志文件。
Amazon Elastic Container Registry (Amazon ECR)
Amazon ECR 是一项托管式Amazon容器映像注册表服务,它安全、可扩展且可靠。您使用 Image Builder 创建的容器映像存储在您的默认区域的 Amazon ECR 中,以及您分发容器映像的任何区域。有关 Amazon ECR 的更多信息,请参阅Amazon Elastic Co ntainer Registry 用户指南。