本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
IDs 在启动模板中使用 Amazon Systems Manager 参数而不是 AMI
本节向您演示如何创建启动模板,该模板指定引用亚马逊机器映像(AMI)ID 的 Amazon Systems Manager 参数。您可以使用存储在您的同一个参数中的参数 Amazon Web Services 账户、从另一个 Amazon Web Services 账户共享的参数或由维护的公共 AMI 的公共参数 Amazon。
使用 Systems Manager 参数,您可以更新 Auto Scaling 组以使用新的 AMI,而 IDs 无需在每次更改 AMI ID 时创建新的启动模板或新版本的启动模板。它们 IDs 可能会定期更改,例如在 AMI 使用最新操作系统或软件更新进行更新时。
您可以使用参数存储器创建、更新或删除自己的 Systems Manager 参数,该功能为 Amazon Systems Manager。必须先创建 Systems Manager 参数,然后才能在启动模板中使用该参数。首先,您可以创建数据类型为 aws:ec2:image
的参数,并输入 AMI ID 作为其值。AMI ID 的格式为 ami-
,例如,<identifier>
ami-123example456
。AMI ID 是否正确取决于您在其中启动自动扩缩组的实例类型和 Amazon Web Services 区域 。
有关为 AMI ID 创建有效参数的更多信息,请参阅创建 Systems Manager 参数。
创建指定 AMI 参数的启动模板
要创建指定 AMI 参数的启动模板,请使用以下方法之一:
要在启动模板中指定来自 Parameter Store 的参数,您必须拥有指定参数的 ssm:GetParameters
权限。使用启动模板的任何人也需要 ssm:GetParameters
权限才能验证参数值。有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的使用 IAM 策略限制对 Systems Manager 参数的访问。
验证启动模板是否获得正确的 AMI ID
使用describe-launch-template-versions--resolve-alias
选项。
aws ec2 describe-launch-template-versions --launch-template-name
my-template-for-auto-scaling
\ --versions1
--resolve-alias
该示例返回 ImageId
的 AMI ID。使用此启动模板启动实例时,AMI ID 解析为 ami-0ac394d6a3example
。
{
"LaunchTemplateVersions": [
{
"LaunchTemplateId": "lt-089c023a30example",
"LaunchTemplateName": "my-template-for-auto-scaling",
"VersionNumber": 1,
"CreateTime": "2022-12-28T19:52:27.000Z",
"CreatedBy": "arn:aws:iam::123456789012:user/Bob",
"DefaultVersion": true,
"LaunchTemplateData": {
"ImageId": "ami-0ac394d6a3example",
"InstanceType": "t2.micro",
}
}
]
}
相关资源
有关在启动模板中指定 Systems Manager 参数的更多详情,请参阅亚马逊 EC2 用户指南中的使用系统管理器参数代替 AMI ID。
有关使用 Systems Manager 参数的更多信息,请参阅 Systems Manager 文档中的以下参考资料。
-
有关如何查找 Amazon 支持的 AMI 公共参数的信息 EC2,请参阅调用 AMI 公共参数。
-
有关与其他 Amazon 账户共享参数或通过共享参数的信息 Amazon Organizations,请参阅使用共享参数。
-
有关监控参数是否成功创建的信息,请参阅 Amazon 系统映像的原生参数支持 IDs。
限制
使用 Systems Manager 参数时,请注意以下限制:
-
Amazon A EC2 uto Scaling 仅支持将 AMI 指定 IDs 为参数。
-
不支持使用指定 Systems Manager 参数的启动模板创建或更新具有基于属性的实例类型选择的混合实例组。
-
如果您的自动扩缩组使用指定 Systems Manager 参数的启动模板,则您将无法使用所需的配置或使用跳过匹配开始实例刷新。
-
如果您的 Auto Scaling 组使用的启动模板指定 Systems Manager 参数,则不支持温池。
-
每次调用创建或更新您的 Auto Scaling 群组时,Amazon A EC2 uto Scaling 都会解析启动模板中的 Systems Manager 参数。如果您使用的是高级参数或更高的吞吐量限制,则频繁调用 Parameter Store(即
GetParameters
操作)可能会增加 Systems Manager 的成本,因为每次 Parameter Store API 交互都会产生费用。有关更多信息,请参阅 Amazon Systems Manager 定价。