本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建基础设施配置
本节介绍如何使用 Image Builder 控制台或中的imagebuilder命令 Amazon CLI 来创建基础架构配置,
- Console
-
要从 Image Builder 控制台创建基础设施配置资源,请执行以下步骤:
-
打开位于 https://console.aws.amazon.com/imagebuilder/
的 EC2 Image Builder 控制台。 -
从导航窗格中选择基础设施配置。
-
选择创建基础设施配置。
-
在 概述 部分中,输入以下必要信息:
-
输入基础设施配置资源的名称。
-
选择希望与构建和测试实例上的组件权限实例配置文件关联的 IAM 角色。Image Builder 使用这些权限来下载和运行您的组件 CloudWatch、向其上传日志,以及执行配方中组件指定的任何其他操作。
-
-
在Amazon 基础架构面板中,您可以配置其余可用的基础架构设置。输入以下必要信息:
-
实例类型:您可以为此构建指定一个或多个实例类型。该服务将根据可用性选择其中一种实例类型。
-
SNS 主题(可选)-选择一个 SNS 主题以接收来自 EC2 Image Builder 的通知和提醒。
如果您没有为以下设置提供值,则这些设置将使用特定于服务的默认值(如适用)。
-
VPC、子网和安全组:Image Builder 将使用默认 VPC 和子网。有关配置 VPC 接口端点的更多信息,请参阅 EC2 Image Builder 和接口 VPC 端点 (Amazon PrivateLink)。
-
在故障排除设置部分,配置以下值:
-
默认情况下,失败时终止实例复选框为选中状态。但是,构建失败时,您可以登录 EC2 实例排查问题。如果您希望实例在构建失败后继续运行,请清除该复选框。
-
密钥对:如果 EC2 实例在构建失败后继续运行,则可以创建密钥对或使用现有密钥对登录实例并排查问题。
-
日志:您可以指定一个 S3 存储桶,Image Builder 可以在其中写入应用程序日志,以帮助构建和测试排查问题。如果您未指定 S3 存储桶,Image Builder 会将应用程序日志写入实例。
-
-
在实例元数据设置部分,您可以配置以下值以应用于 Image Builder 用于构建和测试映像的 EC2 实例:
-
选择元数据版本,确定 EC2 是否要求为元数据检索请求提供签名令牌标头。
-
V1 和 V2(令牌可选):如果您未选择任何内容,则为默认值。
-
V2(令牌必填)
注意
我们建议,将 Image Builder 从管道版本中启动的所有 EC2 实例配置为使用 Imdsv2,这样实例元数据检索请求将需要签名令牌标头。
-
-
元数据标记响应跃点限制 – 元数据令牌可以传输的网络跃点数。最小跃点数:1,最大跃点数:64,默认为一跃点。
-
-
-
在基础设施标签部分(可选)中,您可以将元数据标签分配给 Image Builder 在构建过程中启动的 Amazon EC2 实例。标签以键值对的形式输入。
-
在标签部分(可选)中,您可以将元标签分配给 Image Builder 作为输出创建的基础架构配置资源。标签以键值对的形式输入。
-
- Amazon CLI
-
以下示例说明如何使用中的 Image Builder create-infrastructure-configuration
命令为您的映像配置基础架构 Amazon CLI。 -
创建 CLI 输入 JSON 文件
本基础设施配置示例指定了两种实例类型(
m5.large
和m5.xlarge
)。我们建议指定多种实例类型,因为这允许 Image Builder 从具有足够容量的池中启动实例。这可以减少临时的生成失败次数。instanceProfileName
规定了实例配置文件,该文件用于为实例提供执行自定义活动所需的权限。例如,如果您具有一个从 Amazon S3 中检索资源的组件,则实例配置文件需要具有访问这些文件的权限。该实例配置文件还需要具备能使EC2 Image Builder 成功与实例进行通信的最低权限。有关更多信息,请参阅 先决条件。使用文件编辑工具创建一个 JSON 文件,其中包含以下示例中显示的密钥,以及对您的环境有效的值。此示例使用名为
create-infrastructure-configuration.json
的文件:{ "name": "
MyExampleInfrastructure
", "description": "An example that will retain instances of failed builds
", "instanceTypes": [ "m5.large", "m5.xlarge" ], "instanceProfileName": "myIAMInstanceProfileName
", "securityGroupIds": [ "sg-12345678
" ], "subnetId": "sub-12345678
", "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket
", "s3KeyPrefix": "my-path
" } }, "keyPair": "myKeyPairName
", "terminateInstanceOnFailure": false, "snsTopicArn": "arn:aws:sns:us-west-2:123456789012
:MyTopic
" } -
当您运行以下命令时,使用您作为输入而创建的文件。
aws imagebuilder create-infrastructure-configuration --cli-input-json file://
create-infrastructure-configuration.json
-