本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Image Builder 如何使用 AWS Task Orchestrator and Executor 应用程序管理组件
EC2Image Builder 使用 AWS Task Orchestrator and Executor (AWSTOE) 应用程序来编排复杂的工作流程、修改系统配置和测试映像,而无需额外的 devops 脚本或代码。此应用程序管理和运行使用其声明性文档架构的组件。
AWSTOE 是一个独立的应用程序,当您创建映像时,Image Builder 会将其安装在其构建和测试实例上。您也可以将其手动安装在EC2实例上,以创建自己的自定义组件。它不需要任何其他设置,也可以在本地运行。
内容
AWSTOE 下载
要安装 AWSTOE,请选择适用于您的架构和平台的下载链接。如果您连接到服务的VPC终端节点(例如 Image Builder),则该终端节点必须附加自定义终端节点策略,其中包括访问 S3 存储桶进行 AWSTOE 下载的权限。否则,您的构建和测试实例将无法下载引导脚本 (bootstrap.sh
) 并安装 AWSTOE 应用程序。有关更多信息,请参阅为 Image Builder 创建VPC终端节点策略。
重要
AWS 正在逐步取消对 1.0 和 1.1 TLS 版本的支持。要访问 S3 存储桶进行 AWSTOE 下载,您的客户端软件必须使用 1.2 或更高TLS版本。有关更多信息,请参阅AWS 此博客文章
架构 | 平台 | 下载链接 | 示例 |
---|---|---|---|
386 |
AL 2 和 2023 RHEL7、8 和 9 Ubuntu 16.04、18.04、20.04、22.04 和 24.04 CentOS 7 和 8 SUSE12 和 15 |
|
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-us-east-1.s3.us-east-1.amazonaws.com/latest/windows/amd64/awstoe.exe |
AMD64 |
AL 2 和 2023 RHEL7、8 和 9 Ubuntu 16.04、18.04、20.04、22.04 和 24.04 CentOS 7 和 8 CentOS Stream 8 SUSE12 和 15 |
https://awstoe- |
https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/amd64/awstoe |
ARM64 |
AL 2 和 2023 RHEL7、8 和 9 Ubuntu 16.04、18.04、20.04、22.04 和 24.04 CentOS 7 和 8 CentOS Stream 8 SUSE12 和 15 |
https://awstoe- |
https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/arm64/awstoe |
支持的区域
AWSTOE 在以下区域支持作为独立应用程序。
AWS 区域 名字 | AWS 区域 |
---|---|
美国东部(俄亥俄州) |
us-east-2 |
美国东部(弗吉尼亚州北部) |
us-east-1 |
AWS GovCloud (美国东部) |
us-gov-east-1 |
AWS 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 |
中东 (UAE) |
me-central-1 |
中东(巴林) |
me-south-1 |
南美洲(圣保罗) |
sa-east-1 |
中国(北京) |
cn-north-1 |
中国(宁夏) |
cn-northwest-1 |
AWSTOE 命令参考
AWSTOE 是一款在 Amazon EC2 实例上运行的命令行组件管理应用程序。当 Image Builder 启动EC2构建或测试实例时,它会安装在该实例 AWSTOE 上。然后,它会在中运行 AWSTOE 命令 AWS CLI 来安装或验证镜像或容器配方中指定的组件。
注意
某些 AWSTOE 操作模块需要更高的权限才能在 Linux 服务器上运行。要使用提升的权限,请在命令语法前加上前缀 sudo,或者在登录时运行 sudo su 命令,然后再运行下面链接的命令。有关 AWSTOE 操作模块的更多信息,请参见AWSTOE 组件管理器支持的操作模块。
awstoe run command
此命令按参数指定的配置文件或--config
参数指定的YAML组件文档列表中包含的顺序运行组件文档脚本。--documents
注意
您必须准确指定下列参数之一,切勿同时指定两个参数:
--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 <?>] [--parametersname1
=value1
,name2
=value2
...] [--phases <phase name>] [--state-directory <directory path>] [--version <?>] [--help] [--trace]
参数和选项
参数
- --config
。 /config-example.json
-
简写形式:-c
。 /config-example.json
配置文件(条件性)。此参数包含包含此命令正在运行的组件的配置设置的JSON文件的文件位置。如果在配置文件中指定 run 命令设置,则不得指定
--documents
参数。有关输入配置的更多信息,请参阅 配置 AWSTOE 运行命令的输入。有效位置包括:
-
本地文件路径 (
)。 /config-example.json
-
一个 S3 URI (
s3://
)bucket/key
-
- --cw-ignore-failures
-
简写形式:不适用
忽略日志中的 CloudWatch 日志失败。
- --cw-log-group
-
简写形式:不适用
CloudWatch 日志的
LogGroup
名称。 - --cw-log-region
-
简写形式:不适用
适用于 CloudWatch 日志的 AWS 区域。
- --cw-log-stream
-
简写形式:不适用
CloudWatch 日志的
LogStream
名称,用于指示将console.log
文件流式传输到 AWSTOE 何处。 - --document-s3-bucket-owner
-
简写形式:不适用
URI基于 S3 的文档的存储桶所有者的账户 ID。
- --documents
。 /doc-1.yaml
,。 /doc-n.yaml
-
简写形式:-d
,。 /doc-1.yaml
。 /doc-n
组件文档(条件性)。此参数包含以逗号分隔的文件位置列表,供YAML组件文档运行。如果您使用
--documents
参数为run命令指定YAML文档,则不得指定该--config
参数。有效位置包括:
-
本地文件路径 (
./component-doc-example.yaml
). -
S3 URIs (
s3://
)。bucket/key
-
Image Builder 组件构建版本 ARNs (arn: aws: imageBuilder: us-west-
2:123456789012
:component/my-example-component
/2021.12.02/1)。
注意
列表中的项目之间没有空格,只有逗号。
-
- --execution-id
-
简写形式:-i
这是适用于执行当前 run 命令的唯一 ID。此 ID 包含在输出和日志文件名中,用于唯一标识这些文件,并将它们链接到当前的命令执行。如果省略此设置,则 AWSTOE 生成GUID。
- --log-directory
-
简写形式:-l
AWSTOE 存储此命令执行的所有日志文件的目标目录。默认情况下,该目录位于以下父目录中:
TOE_<DATETIME>_<EXECUTIONID>
。如果未指定日志目录,则 AWSTOE 使用当前工作目录 (.
)。 - --log-s3-bucket-name
-
简写形式:-b
如果组件日志存储在 Amazon S3 中(推荐),则将组件应用程序日志 AWSTOE 上传到此参数中命名的 S3 存储桶。
- --log-s3-bucket-owner
-
简写形式:不适用
如果组件日志存储在 Amazon S3 中(推荐),则这是 AWSTOE 写入日志文件的存储桶的所有者账户 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
-
简写形式:不适用
提供的URI基于 S3 的文档的源账户 ID。
- --documents
。 /doc-1.yaml
,。 /doc-n.yaml
-
简写形式:-d
,。 /doc-1.yaml
。 /doc-n
组件文档(必填)。此参数包含以逗号分隔的文件位置列表,供YAML组件文档运行。有效位置包括:
-
本地文件路径 (
./component-doc-example.yaml
) -
S3 URIs (
s3://
)bucket/key
-
Image Builder 组件构建版本 ARNs (arn: aws: imageBuilder: us-west-
2:123456789012
:component/my-example-component
/2021.12.02/1)
注意
列表中的项目之间没有空格,只有逗号。
-
Options
- --help
-
简写形式:-h
显示使用组件管理应用程序选项的帮助手册。
- --trace
-
简写形式:-t
启用对控制台的详细日志记录。