在食谱中使用基本图像参数 - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在食谱中使用基本图像参数

在创建图像自定义方法时,有几种方法可以识别您一开始使用的基础图片。如果您为基础映像指定亚马逊系统映像 (AMI) ID,并且该基础映像已更新,则其 AMI ID 可能会更改,您需要更新配方才能匹配。

您可以定义 Amazon Systems Manager 参数存储参数(SSM 参数)来存储基础映像 AMI ID 的值,然后使用该参数在配方中指定基础映像,而不必在每次更改基础映像 ID 时都更改配方。对于 Amazon 托管 AMIs,您可以使用最新版本的公共参数。

本教程将引导您完成创建 AMI ID 参数并在图像配方中使用该参数的过程。本教程中的 Image Builder 步骤基于控制台。

步骤 1:查找或创建参数存储参数

此步骤的过程取决于您为基础映像指定的 AMI 类型。对于 Amazon 托管 AMIs,您可以使用引用当前版本的公共参数。有些参数可能并非全部可用 Amazon Web Services 区域。

首先,打开与您的 AMI 对应的选项卡。

Amazon managed AMI

如果您的基础映像是 Amazon 托管 AMI,则可以使用公共参数指定 AMI ID,而不必创建自己的参数。要查找您的 AMI 的公共参数,请参阅Amazon Systems Manager 用户指南中的发现公共参数

Custom AMI

要创建 AMI ID 参数,请使用控制台、或按照在 S ystems Manager 中创建参数存储库参数的说明进行操作 PowerShell。 Amazon CLI提供以下值以确保参数值为 AMI ID。

参数层Standard

类型String

数据类型:选择aws:ec2:image。当您指定此类型时,系统会验证输入的值以确保它是 AMI ID。

:输入有效的 AMI ID(例如ami-1234567890abcdef1)。

步骤 2:配置 IAM 权限

要使用 Systems Manager 参数存储参数(SSM 参数),无论是公开的还是私有的,都必须在 Image Builder 执行角色中指定以下 Systems Manager 参数存储操作,并将该参数列为资源。

  • ssm:GetParameter— 此操作允许您使用 SSM 参数在食谱中指定基础图像。

  • ssm:PutParameter— 此操作允许您在分发期间将输出 AMI ID 存储在 SSM 参数中。策略定义看起来相同,但本教程在示例策略中不包括放置操作。

要在自定义组件中使用 SSM 参数,必须改为ssm:GetParameter在实例配置文件角色中指定。有关更多信息,请参阅 使用 Systems Manager 参数存储参数

在中创建管道或使用 create-image 命令时 Amazon CLI,只能指定一个 Image Builder 执行角色。如果您定义了 Image Builder 工作流程执行角色,则需要为该角色添加参数权限。否则,您将创建一个新的自定义角色,其中包含 SSM 参数所需的权限。

  1. 创建自定义角色(可选)

    如果您已经为Image Builder权限定义了自定义角色,则可以跳过此步骤。

    按照《Amazon Identity and Access Management 用户指南》中创建角色向 Amazon 服务委派权限的过程进行操作。

  2. 为您的自定义角色添加权限

    要向自定义角色添加 SSM 参数权限,请按照《Amazon Identity and Access Management 用户指南》中的 “更新角色权限策略” 流程进行操作。

    以下策略示例显示了使用在您的账户中创建的参数的ssm:GetParameter操作。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:GetParameter", "Resource": "arn:aws:ssm:*:111122223333:parameter/ImageBuilder-*" } ] }

有关公共参数资源的更多信息,请参阅Amazon Systems Manager 用户指南中的调用 AMI 公共参数

步骤 3:创建使用参数的图像配方

  1. 打开 EC2 Image Builder 控制台,网址为https://console.aws.amazon.com/imagebuilder/

  2. 选择 “图像配方”,然后从列表页中选择 “创建图像配方”。

  3. 填写 “基础图片” 部分,如下所示:

    1. 选择 “使用自定义 AMI” 选项。这将显示其他字段,您可以在其中输入 AMI ID 或包含 AMI ID 的 SSM 参数。

    2. 选择 SSM 参数选项。

    3. SSM 参数字段中,输入您在步骤 1 中创建的参数的参数名称或 Amazon 资源名称 (ARN)。如果输入名称,则控制台中将没有前缀。

  4. 根据需要完成剩余的配方配置。

注意

如果您通过其他接口(例如)设置父映像 Amazon CLI,则参数名称的前缀必须为ssm:(例如,ssm:/ImageBuilder-Tutorial/BaseAMI