创建基础设施配置 - EC2 Image Builder

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

创建基础设施配置

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

Console

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

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

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

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

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

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

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

  5. AWS 基础架构面板中,您可以配置其余可用的基础架构设置。输入以下必要信息:

    • 实例类型:您可以为此构建指定一个或多个实例类型。该服务将根据可用性选择其中一种实例类型。

    • SNS 主题(可选)— 选择一个 SNS 主题以接收来自 EC2 Image Builder 的通知和提醒。

    如果您没有为以下设置提供值,则这些设置将使用特定于服务的默认值(如适用)。

    • VPC、子网和安全组:Image Builder 将使用默认 VPC 和子网。有关配置 VPC 接口端点的更多信息,请参阅 EC2 Image Builder 和 AWS PrivateLink 接口 VPC 终端节点

    • 故障排除设置部分,配置以下值:

      • 默认情况下,失败时终止实例复选框为选中状态。但是,构建失败时,您可以登录 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 作为输出创建的基础架构配置资源。标签以键值对的形式输入。

AWS CLI

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

  1. 创建 CLI 输入 JSON 文件

    本基础设施配置示例指定了两种实例类型(m5.largem5.xlarge)。我们建议指定多种实例类型,因为这允许 Image Builder 从具有足够容量的池中启动实例。这可以减少临时的生成失败次数。

    instanceProfileName 规定了实例配置文件,该文件用于为实例提供执行自定义活动所需的权限。例如,如果您具有一个从 Amazon S3 中检索资源的组件,则实例配置文件需要具有访问这些文件的权限。该实例配置文件还需要具备能使EC2 Image Builder 成功与实例进行通信的最低权限。有关更多信息,请参阅 在使用 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