创建基础设施配置 - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建基础设施配置

本节介绍如何使用 Image Builder 控制台或中的imagebuilder命令 Amazon CLI 来创建基础架构配置,

Console

要从 Image Builder 控制台创建基础设施配置资源,请执行以下步骤:

  1. 打开位于 https://console.aws.amazon.com/imagebuilder/的 EC2 Image Builder 控制台。

  2. 从导航窗格中选择基础设施配置

  3. 选择创建基础设施配置

  4. 概述 部分中,输入以下必要信息:

    • 输入基础设施配置资源的名称

    • 选择希望与构建和测试实例上的组件权限实例配置文件关联的 IAM 角色。Image Builder 使用这些权限来下载和运行您的组件 CloudWatch、向其上传日志,以及执行配方中组件指定的任何其他操作。

  5. 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,默认为一跃点。

  6. 基础设施标签部分(可选)中,您可以将元数据标签分配给 Image Builder 在构建过程中启动的 Amazon EC2 实例。标签以键值对的形式输入。

  7. 标签部分(可选)中,您可以将元标签分配给 Image Builder 作为输出创建的基础架构配置资源。标签以键值对的形式输入。

Amazon CLI

以下示例说明如何使用中的 Image Builder create-infrastructure-configuration 命令为您的映像配置基础架构 Amazon CLI。

  1. 创建 CLI 输入 JSON 文件

    本基础设施配置示例指定了两种实例类型(m5.largem5.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" }
  2. 当您运行以下命令时,使用您作为输入而创建的文件。
    aws imagebuilder create-infrastructure-configuration --cli-input-json file://create-infrastructure-configuration.json