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

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

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-<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

RHEL7、8 和 9

Ubuntu 16.04、18.04、20.04、22.04 和 24.04

CentOS 7 和 8

CentOS Stream 8

SUSE12 和 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

RHEL7、8 和 9

Ubuntu 16.04、18.04、20.04、22.04 和 24.04

CentOS 7 和 8

CentOS Stream 8

SUSE12 和 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

支持的区域

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 组件管理器支持的操作模块

run

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

验证

运行validate命令以验证一个或多个组件YAML文档的文档语法。

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 <?>] [--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 参数。有关输入配置的更多信息,请参阅 配置 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

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