本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在食谱中使用基本图像参数
在创建图像自定义方法时,有几种方法可以识别您一开始使用的基础图片。如果您为基础映像指定亚马逊系统映像 (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 对应的选项卡。
步骤 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 参数所需的权限。
-
创建自定义角色(可选)
如果您已经为Image Builder权限定义了自定义角色,则可以跳过此步骤。
按照《Amazon Identity and Access Management 用户指南》中创建角色向 Amazon 服务委派权限的过程进行操作。
-
为您的自定义角色添加权限
要向自定义角色添加 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:创建使用参数的图像配方
-
打开 EC2 Image Builder 控制台,网址为https://console.aws.amazon.com/imagebuilder/
。 -
选择 “图像配方”,然后从列表页中选择 “创建图像配方”。
-
填写 “基础图片” 部分,如下所示:
-
选择 “使用自定义 AMI” 选项。这将显示其他字段,您可以在其中输入 AMI ID 或包含 AMI ID 的 SSM 参数。
-
选择 SSM 参数选项。
-
在 SSM 参数字段中,输入您在步骤 1 中创建的参数的参数名称或 Amazon 资源名称 (ARN)。如果输入名称,则控制台中将没有前缀。
-
-
根据需要完成剩余的配方配置。
注意
如果您通过其他接口(例如)设置父映像 Amazon CLI,则参数名称的前缀必须为ssm:
(例如,ssm:
。/ImageBuilder-Tutorial/BaseAMI