本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建基础设施配置
本节介绍如何使用 Image Builder 控制台或中的imagebuilder命令 Amazon CLI 来创建基础架构配置,
- Console
-
要从 Image Builder 控制台创建基础设施配置资源,请执行以下步骤:
-
打开 EC2 Image Builder 控制台,网址为https://console.aws.amazon.com/imagebuilder/
。 -
从导航窗格中选择基础设施配置。
-
选择创建基础设施配置。
-
在 概述 部分中,输入以下必要信息:
-
输入基础设施配置资源的名称。
-
选择要与实例配置文件关联的IAM角色,以获得构建和测试实例的组件权限。Image Builder 使用这些权限来下载和运行您的组件 CloudWatch、向其上传日志,以及执行配方中组件指定的任何其他操作。
-
-
在 Amazon 基础设施面板中,您可以配置其余可用的基础设施设置。输入以下必要信息:
-
实例类型:您可以为此构建指定一个或多个实例类型。该服务将根据可用性选择其中一种实例类型。
注意
Mac 实例运行于专属主机上的
.metal
实例类型。您的实例类型必须与为运行它的主机定义的类型之一相匹配。有关 Mac 实例的更多信息以及原生支持 macOS 操作系统的实例类型列表,请参阅亚马逊用户指南中的EC2亚马逊 Mac 实例。EC2 -
SNS主题(可选)-选择一个SNS主题以接收来自 EC2 Image Builder 的通知和警报。
如果您没有为以下设置提供值,则这些设置将使用特定于服务的默认值(如适用)。
-
VPC、子网和安全组 — Image Builder 使用您的默认子网VPC和子网。有关配置VPC接口端点的更多信息,请参阅Image Builder 和 Amazon PrivateLink 接口VPC端点。
-
在故障排除设置部分,配置以下值:
-
默认情况下,失败时终止实例复选框为选中状态。但是,当构建失败时,您可以登录EC2实例进行故障排除。如果您希望实例在构建失败后继续运行,请清除该复选框。
-
密钥对 — 如果您的EC2实例在构建失败后继续运行,您可以创建密钥对或使用现有密钥对登录实例并进行故障排除。
-
日志:您可以指定一个 S3 存储桶,Image Builder 可以在其中写入应用程序日志,以帮助构建和测试排查问题。如果您未指定 S3 存储桶,Image Builder 会将应用程序日志写入实例。
-
-
在实例元数据设置部分,您可以配置以下值以应用于 Image Builder 用于构建和测试映像的EC2实例:
-
选择元数据版本以确定例如元数据检索请求是否EC2需要签名的令牌标头。
-
V1 和 V2(令牌可选):如果您未选择任何内容,则为默认值。
-
V2(令牌必填)
注意
我们建议您将 Image Builder 从管道版本启动的所有EC2实例配置为使用,IMDSv2以便实例元数据检索请求需要签名的令牌标头。
-
-
元数据标记响应跃点限制 – 元数据令牌可以传输的网络跃点数。最小跃点数:1,最大跃点数:64,默认为一跃点。
-
-
在实例放置设置部分,您可以配置以下值以应用于 Image Builder 用来构建和测试您的映像的EC2实例:
-
您可以选择 Image Builder 在创建映像期间启动实例的可用区。
-
(可选)为运行您启动的实例的服务器选择租赁。默认情况下,EC2实例在共享租赁硬件上运行。这表示多个 Amazon Web Services 账户 可能会共享相同物理硬件。具有
dedicated
租期的实例在单租户硬件上运行。具有host
租期的实例在专属主机上运行。在构建自定义映像之前,Mac 实例需要一台作为先决条件创建的专属主机。为您的 macOS 映像选择
host
。然后,您可以选择目标主机或主机资源组来启动实例,但如果您的专属主机启用了自动置放功能,则不需要这样做。有关更多信息,请参阅 Amazon EC2 用户指南中的自动投放。-
租赁主机 ID - 运行实例的专属主机的 ID。
-
租赁主机资源组 — 启动实例的主机资源组的 Amazon 资源名称 (ARN)。
-
-
-
-
在基础设施标签部分(可选)中,您可以为 Image Builder 在构建过程中启动的 Amazon EC2 实例分配元数据标签。输入标签作为键值对。
-
在标签部分(可选)中,您可以将元数据标签分配给 Image Builder 作为输出创建的基础设施配置资源。输入标签作为键值对。
-
- Amazon CLI
-
以下步骤说明如何使用 Amazon CLI中的 Image Builder create-infrastructure-configuration
命令为您的映像配置基础设施。步骤 2 中的命令采用您在步骤 1 中创建的文件。对于这些示例,步骤 1 中的文件称为 create-infrastructure-configuration.json
。-
创建CLI输入JSON文件
以下示例显示了您可能为基础架构配置创建的JSON文件的变体。使用文件编辑工具创建自己的JSON文件。
示例 1:用于保留编译失败后的实例的配置
此示例指定了两种实例类型,即
m5.large
和m5.xlarge
。我们建议指定多种实例类型,因为这允许 Image Builder 从具有足够容量的池中启动实例。这可以减少临时的生成失败次数。instanceProfileName
规定了实例配置文件,该文件用于为实例提供执行自定义活动所需的权限。例如,如果您具有一个从 Amazon S3 中检索资源的组件,则实例配置文件需要具有访问这些文件的权限。实例配置文件还需要一组最低权限才能让 EC2 Image Builder 成功与实例通信。有关更多信息,请参阅 准备好使用 Image Builder 构建自定义映像。{ "name": "
ExampleInfraConfigDontTerminate
", "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
" }示例 2:具有自动置放功能的 macOS 配置
此示例为专属主机启用了自动置放功能的 Mac 实例指定实例类型和置放位置。
{ "name": "
macOSInfraConfigAutoPlacement
", "description": "An example infrastructure configuration for macOS.
", "instanceProfileName": "EC2InstanceProfileForImageBuilder
", "instanceTypes": ["mac1.metal, mac2.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host" } }示例 3:指定了主机 ID 的 macOS 配置
此示例为以特定专属主机为目标的 Mac 实例指定实例类型和置放位置。
{ "name": "
macOSInfraConfigHostPlacement
", "description": "An example infrastructure configuration for macOS.
", "instanceProfileName": "EC2InstanceProfileForImageBuilder
", "instanceTypes": ["mac2-m1ultra.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host", "hostId" : "h-1234567890abcdef0
" } } -
当您运行以下命令时,使用您作为输入而创建的文件。
aws imagebuilder create-infrastructure-configuration --cli-input-json file://
create-infrastructure-configuration.json
-