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

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

创建和更新基础架构配置

本节介绍创建和更新 EC2 Image Builder 基础设施配置。

创建基础设施配置(Amazon CLI)

下面的示例演示了如何使用create-infrastructure-configuration命令为您的映像配置基础架构,使用Amazon CLI.

  1. 创建 CLI 输入 JSON 文件

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

    这些区域有:instanceProfileName指定为实例提供执行自定义活动所需权限的实例配置文件。例如,如果您具有一个从 Amazon S3 中检索资源的组件,则实例配置文件需要具有访问这些文件的权限。EC2 Image Builder 还需要具备能使成功与实例进行通信的最第权限。有关更多信息,请参阅Prerequisites

    使用您最喜欢的文件编辑工具创建 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

更新基础设施配置(Amazon CLI)

下面的示例演示了如何使用update-infrastructure-configuration命令来更新映像的基础架构配置,使用Amazon CLI.

  1. 创建 CLI 输入 JSON 文件

    此基础架构配置示例使用与创建示例相同的设置,不同之处是我们更新了terminateInstanceOnFailure设置为false. 在我们运行之后update-infrastructure-configuration命令,使用此基础设施配置的管道会在构建失败时终止构建和测试实例。

    使用您最喜欢的文件编辑工具创建 JSON 文件,其中包含以下示例所示的密钥以及对您的环境有效的值。此示例使用名为 update-infrastructure-configuration.json 的文件:

    { "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration", "description": "An example that will terminate instances of failed builds", "instanceTypes": [ "m5.large", "m5.2xlarge" ], "instanceProfileName": "myIAMInstanceProfileName", "securityGroupIds": [ "sg-12345678" ], "subnetId": "sub-12345678", "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket", "s3KeyPrefix": "my-path" } }, "terminateInstanceOnFailure": true, "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic" }
  2. 使用创建的文件作为输入,运行以下命令。

    aws imagebuilder update-infrastructure-configuration --cli-input-json file://update-infrastructure-configuration.json