Image Builder 如何使用 EC2 Task Orchestrator and Executor 应用程序管理组件 - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Image Builder 如何使用 EC2 Task Orchestrator and Executor 应用程序管理组件

EC2 Image Builder 使用 EC2 Task Orchestrator and Executor (EC2 TOE) 应用程序来编排复杂的工作流程、修改系统配置和测试映像,而无需额外的 devops 脚本或代码。此应用程序管理和运行使用其声明性文档架构的组件。

EC2 TOE 是一个独立的应用程序,当您创建映像时,Image Builder 会将其安装在其构建和测试实例上。您也可以在 EC2 实例上手动安装它,以创建自己的自定义组件。它不需要任何其他设置,也可以在本地运行。

EC2 TOE 下载

要进行安装 EC2 TOE,请选择适用于您的架构和平台的下载链接。如果您连接到服务的 VPC 终端节点(例如 Image Builder),则该终端节点必须附加自定义终端节点策略,其中包括访问 S3 存储桶进行 EC2 TOE 下载的权限。否则,您的构建和测试实例将无法下载引导脚本 (bootstrap.sh) 并安装 EC2 TOE 应用程序。有关更多信息,请参阅 为 Image Builder 创建 VPC 端点策略

重要

Amazon 正在逐步取消对 TLS 版本 1.0 和 1.1 的支持。要访问 S3 存储桶进行 EC2 TOE 下载,您的客户端软件必须使用 TLS 版本 1.2 或更高版本。有关更多信息,请参阅Amazon 此博客文章

架构 平台 下载链接 示例

386

AL 2 和 2023

RHEL 7 和 8

Ubuntu 16.04、18.04、20.04 和 22.04

CentOS 7 和 8

SUSE 12 和 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/386/awstoe

https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/386/awstoe

AMD64

Windows Server 2012 R2、2016、2019 和 2022

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/windows/amd64/awstoe.exe

https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/windows/amd64/awstoe.exe

AMD64

AL 2 和 2023

RHEL 7 和 8

Ubuntu 16.04、18.04、20.04 和 22.04

CentOS 7 和 8

CentOS Stream 8

SUSE 12 和 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/amd64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/amd64/awstoe
ARM64

AL 2 和 2023

RHEL 7 和 8

Ubuntu 16.04、18.04、20.04 和 22.04

CentOS 7 和 8

CentOS Stream 8

SUSE 12 和 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/arm64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/arm64/awstoe

支持的区域

EC2 TOE 在以下区域支持作为独立应用程序。

Amazon Web Services 区域 名字 Amazon Web Services 区域

美国东部(俄亥俄州)

us-east-2

美国东部(弗吉尼亚州北部)

us-east-1

Amazon GovCloud (美国东部)

us-gov-east-1

Amazon GovCloud (美国西部)

us-gov-west-1

美国西部(加利福尼亚北部)

us-west-1

美国西部(俄勒冈州)

us-west-2

非洲(开普敦)

af-south-1

亚太地区(香港)

ap-east-1

Asia Pacific (Osaka)

ap-northeast-3

Asia Pacific (Seoul)

ap-northeast-2

亚太地区 (孟买)

ap-south-1

亚太地区(海得拉巴)

ap-south-2

亚太地区(新加坡)

ap-southeast-1

亚太地区(悉尼)

ap-southeast-2

亚太地区(雅加达)

ap-southeast-3

Asia Pacific (Tokyo)

ap-northeast-1

加拿大(中部)

ca-central-1

欧洲地区(法兰克福)

eu-central-1

欧洲(苏黎世)

eu-central-2

欧洲地区(斯德哥尔摩)

eu-north-1

欧洲(米兰)

eu-south-1

欧洲(西班牙)

eu-south-2

欧洲地区(爱尔兰)

eu-west-1

欧洲地区(伦敦)

eu-west-2

欧洲地区(巴黎)

eu-west-3

以色列(特拉维夫)

il-central-1

中东(阿联酋)

me-central-1

中东(巴林)

me-south-1

南美洲(圣保罗)

sa-east-1

中国(北京)

cn-north-1

中国(宁夏)

cn-northwest-1

EC2 TOE 命令参考

EC2 TOE 是一款在 Amazon EC2 实例上运行的命令行组件管理应用程序。当 Image Builder 启动 EC2 构建或测试实例时,它会安装在该实例 EC2 TOE 上。然后,它会在中运行 EC2 TOE 命令 Amazon CLI 来安装或验证镜像或容器配方中指定的组件。

注意

某些 EC2 TOE 操作模块需要更高的权限才能在 Linux 服务器上运行。要使用提升的权限,请在命令语法前加上前缀 sudo,或者在登录时运行 sudo su 命令,然后再运行下面链接的命令。有关 EC2 TOE 操作模块的更多信息,请参见EC2 TOE 组件管理器支持的操作模块

run

使用 run 命令为一个或多个组件文档运行 YAML 文档脚本。

验证

使用 validate 命令为一个或多个组件文档验证 YAML 文档语法。

awstoe run command

该命令按 --config 参数指定的配置文件或 --documents 参数指定的组件文档列表中 YAML 组件文档脚本的内置顺序运行 YAML 组件文档脚本。

注意

您必须准确指定下列参数之一,切勿同时指定两个参数:

--config

--documents

语法

awstoe run [--config <file path>] [--cw-ignore-failures <?>] [--cw-log-group <?>] [--cw-log-region us-west-2] [--cw-log-stream <?>] [--document-s3-bucket-owner <owner>] [--documents <file path,file path,...>] [--execution-id <?>] [--log-directory <file path>] [--log-s3-bucket-name <name>] [--log-s3-bucket-owner <owner>] [--log-s3-key-prefix <?>] [--parameters name1=value1,name2=value2...] [--phases <phase name>] [--state-directory <directory path>] [--version <?>] [--help] [--trace]

参数和选项

参数
config./config-example.json

简写形式:-c ./config-example.json

配置文件(条件性)。此参数包含 JSON 文件的文件位置,该文件包含此命令正在运行的组件的配置设置。如果在配置文件中指定 run 命令设置,则不得指定 --documents 参数。有关输入配置的更多信息,请参阅 配置 EC2 TOE 运行命令的输入

有效位置包括:

  • 本地文件路径 (./config-example.json)

  • 一个 S3; URI。(s3://bucket/key)

--cw-ignore-failures

简写形式:不适用

忽略日志中的 CloudWatch 日志失败。

--cw-log-group

简写形式:不适用

CloudWatch 日志的LogGroup名称。

--cw-log-region

简写形式:不适用

适用于 CloudWatch 日志的 Amazon 区域。

--cw-log-stream

简写形式:不适用

CloudWatch 日志的LogStream名称,用于指示将console.log文件流式传输到 EC2 TOE 何处。

--document-s3-bucket-owner

简写形式:不适用

基于 S3 URI 的文档的存储桶拥有者账户 ID。

 文档./doc-1.yaml,./doc-n.yaml

简写形式:-d ./doc-1.yaml,./doc-n

组件文档(条件性)。此参数包含以逗号分隔的文件位置列表,以供运行 YAML 组件文档。如果您使用 --documents 参数为 run 命令指定 YAML 文档,则不得指定 --config 参数。

有效位置包括:

  • 本地文件路径 (. /component-doc-example.yaml)

  • S3 URI (s3://bucket/key)。

  • Image Builder 组件构建版本 ARN(arn: aws: imagebuilder: us-west-2:123456789012: component/ /2021.12.02/1)。my-example-component

注意

列表中的项目之间没有空格,只有逗号。

--execution-id

简写形式:-i

这是适用于执行当前 run 命令的唯一 ID。此 ID 包含在输出和日志文件名中,用于唯一标识这些文件,并将它们链接到当前的命令执行。如果省略此设置,则 EC2 TOE 生成 GUID。

--log-directory

简写形式:-l

EC2 TOE 存储此命令执行的所有日志文件的目标目录。默认情况下,该目录位于以下父目录中:TOE_<DATETIME>_<EXECUTIONID>。如果未指定日志目录,则 EC2 TOE 使用当前工作目录 (.)。

--log-s3-bucket-name

简写形式:-b

如果组件日志存储在 Amazon S3 中(推荐),则将组件应用程序日志 EC2 TOE 上传到此参数中命名的 S3 存储桶。

--log-s3-bucket-owner

简写形式:不适用

如果组件日志存储在 Amazon S3 中(推荐),则这是 EC2 TOE 写入日志文件的存储桶的所有者账户 ID。

--log-s3-key-prefix

简写形式:-k

如果组件日志存储在 Amazon S3 中(推荐),则这是存储桶中日志位置的 S3 对象键前缀。

--parameters name1=value1,name2=value2...

简写形式:不适用

参数是在组建文档中定义的可变变量,其设置由调用应用程序在运行时提供。

--phases

简写形式:-p

以逗号分隔的列表,它指定要从 YAML 组件文档中运行哪些阶段。如果组件文档包含其他阶段,则这些阶段将无法运行。

--state-directory

简写形式:-s

存储状态跟踪文件的文件路径。

--version

简写形式:-v

指定组件应用程序版本。

Options
--help

简写形式:-h

显示使用组件管理应用程序选项的帮助手册。

--trace

简写形式:-t

启用对控制台的详细日志记录。

awstoe validate command

运行此命令时,它会验证 --documents 参数指定的每个组件文档的 YAML 文档语法。

语法

awstoe validate [--document-s3-bucket-owner <owner>] --documents <file path,file path,...> [--help] [--trace]

参数和选项

参数
--document-s3-bucket-owner

简写形式:不适用

提供的基于 S3 URI 的文档源账户 ID。

 文档./doc-1.yaml,./doc-n.yaml

简写形式:-d ./doc-1.yaml,./doc-n

组件文档(必填)。此参数包含以逗号分隔的文件位置列表,以供运行 YAML 组件文档。有效位置包括:

  • 本地文件路径 (. /component-doc-example.yaml)

  • S3 URI (s3://bucket/key)

  • Image Builder 组件构建版本 ARN(arn: aws: imagebuilder: us-west-2:123456789012: component/ /2021.12.02/1)my-example-component

注意

列表中的项目之间没有空格,只有逗号。

Options
--help

简写形式:-h

显示使用组件管理应用程序选项的帮助手册。

--trace

简写形式:-t

启用对控制台的详细日志记录。