本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AMIIDs在启动模板中使用 AWS Systems Manager 参数而不是使用参数
本节介绍如何创建启动模板,该模板指定引用 Amazon 系统映像 (AMI) ID 的 AWS Systems Manager 参数。您可以使用存储在您的同一个参数中的参数 AWS 账户、从另一个共享的参数 AWS 账户,或者将公共参数用于由AMI维护的公共参数 AWS。
使用 Systems Manager 参数,您可以更新您的 Auto Scaling 组以使用新的,而AMIIDs无需在每次 AMI ID 更改时创建新的启动模板或新版本的启动模板。它们IDs可能会定期更改,例如使用最新的操作系统或软件更新进行更新时。AMI
您可以使用参数存储器创建、更新或删除自己的 Systems Manager 参数,该功能为 AWS Systems Manager。必须先创建 Systems Manager 参数,然后才能在启动模板中使用该参数。首先,使用数据类型创建一个参数aws:ec2:image
,然后为其值输入的 ID AMI。例如,AMIID 的形式ami-
为<identifier>
ami-123example456
。正确的 AMI ID 取决于实例类型以及 AWS 区域 您在其中启动 Auto Scaling 组的实例。
有关为 AMI ID 创建有效参数的更多信息,请参阅创建 Systems Manager 参数。
创建用于指定参数的启动模板 AMI
要创建为指定参数的启动模板AMI,请使用以下方法之一:
要在启动模板中从 Parameter Store 中指定参数,您必须拥有指定参数的ssm:GetParameters
权限。任何使用启动模板的人也需要ssm:GetParameters
权限才能验证参数值。有关更多信息,请参阅《AWS Systems Manager 用户指南》中的使用IAM策略限制对 Systems Manager 参数的访问。
验证启动模板获得正确的 AMI ID
使用describe-launch-template-versions命令并包含将参数解析为实际 AMI ID 的--resolve-alias
选项。
aws ec2 describe-launch-template-versions --launch-template-name
my-template-for-auto-scaling
\ --versions$Default
--resolve-alias
该示例返回的 AMI ID ImageId
。使用此启动模板启动实例时,AMIID 将解析为。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 Manag er 参数的更多详情,请参阅亚马逊EC2用户指南中的使用系统管理器参数代替 AMI ID。
有关使用 Systems Manager 参数的更多信息,请参阅 Systems Manager 文档中的以下参考资料。
-
有关如何查找 Amazon 支持的AMI公共参数的信息EC2,请参阅调用AMI公共参数。
-
有关与其他 AWS 账户或通过其他账户共享参数的信息 AWS Organizations,请参阅使用共享参数。
-
有关监控参数是否成功创建的信息,请参阅 Amazon 系统映像的原生参数支持IDs。
限制
使用 Systems Manager 参数时,请注意以下限制:
-
Amazon A EC2 uto Scaling 仅支持指定AMIIDs为参数。
-
如果您的 Auto Scaling 组使用的启动模板指定 Systems Manager 参数,则您将无法使用所需的配置或使用跳过匹配来启动实例刷新。
-
每次调用创建或更新您的 Auto Scaling 群组时,Amazon A EC2 uto Scaling 都会解析启动模板中的 Systems Manager 参数。如果您使用的是高级参数或更高的吞吐量限制,则频繁调用 Parameter Store(即
GetParameters
操作)可能会增加 Systems Manager 的成本,因为每次参数存储API交互都会产生费用。有关更多信息,请参阅 AWS Systems Manager 定价。