本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对 Amazon A EC2 uto Scaling 进行故障排除:启动模板
使用以下信息可帮助您诊断和修复在尝试为自动扩缩组指定启动模板时可能遇到的常见问题。
无法启动实例
如果您无法使用已指定的启动模板启动任何实例,请检查以下一般故障排除内容:对 Amazon A EC2 uto Scaling 进行故障排除:EC2实例启动失败。
您必须使用有效的完整启动模板(无效值)
问题:当您尝试为某个自动扩缩组指定启动模板时,收到 You must use a valid fully-formed
launch template
错误。您可能遇到此错误,因为只有在使用启动模板的自动扩缩组被创建或更新时,才会对启动模板中的值进行验证。
原因 1:如果您收到You must use a
valid fully-formed launch template
错误,则存在一些问题会导致 Amazon A EC2 uto Scaling 认为启动模板的某些内容无效。这是一个通用错误,可能由几种不同的原因导致。
解决方案 1:请尝试以下步骤进行故障排除:
-
请注意错误消息的第二部分以查找更多信息。在遇到
You must use a valid fully-formed launch template
错误后,请参阅更具体的错误消息,该消息标识您需要解决的问题。 -
如果您无法找到原因,请使用 run-instances 命令测试您的启动模板。使用
--dry-run
选项,如以下示例中所示。这使您可以重现问题并提供有关问题原因的见解。aws ec2 run-instances --launch-template LaunchTemplateName=
my-template
,Version='1
' --dry-run -
如果值无效,请验证指定的资源是否存在且正确。例如,当您指定 Amazon EC2 密钥对时,该资源必须存在于您的账户以及您创建或更新 Auto Scaling 组的区域中。
-
如果缺少预期信息,请验证您的设置并根据需要调整启动模板。
-
进行更改后,使用
--dry-run
选项重新运行 run-instances 命令,以验证您的启动模板是否使用有效的值。
有关更多信息,请参阅 为 Auto Scaling 组创建启动模板。
您没有权限使用启动模板(权限不足)
问题:当您尝试为某个自动扩缩组指定启动模板时,收到 You are not authorized to use launch
template
错误。
原因 1:如果您尝试使用启动模板,而您使用的IAM证书权限不足,则会收到一条错误消息,提示您无权使用该启动模板。
解决方案 1:要解决此问题,请尝试以下方法:
-
验证您用于发出请求的IAM凭证是否有权调用您需要的EC2API操作,包括
ec2:RunInstances
操作。如果在启动模板中指定了任何标签,您还必须拥有使用ec2:CreateTags
操作的权限。 -
或者,验证您用于发出请求的IAM凭据是否已分配
AmazonEC2FullAccess
策略。该 AWS 托管策略授予对所有亚马逊EC2资源和相关服务的完全访问权限,包括 Amazon A EC2 uto Scaling 和 Elastic Load Balancing。 CloudWatch
有关使用启动模板所需权限的更多信息,包括示例IAM策略,请参阅 Amazon EC2 用户指南中的使用IAM权限控制启动模板的访问权限。有关其他IAM策略示例,请参阅在 Auto Scaling 群组中控制 Amazon EC2 启动模板的使用情况。
原因 2:如果您尝试使用指定实例配置文件的启动模板,则必须具有传递与实例配置文件关联的IAM角色的IAM权限。
解决方案 2:验证您用于发出请求的IAM证书是否具有将指定角色传递给 Amazon A EC2 uto Scaling 服务的正确iam:PassRole
权限。有关更多信息和IAM策略示例,请参阅在 Amazon EC2 实例上运行的应用程序的 IAM 角色。有关与实例配置文件相关的更多疑难解答主题,请参阅 Amazon 疑难解答EC2和IAMIAM用户指南。
原因 3:如果您尝试使用的启动模板AMI在另一个模板中指定了,并且该模板AMI是私有的 AWS 账户,不与 AWS 账户 您正在使用的启动模板共享,则会收到一条错误消息,提示您无权使用该启动模板。
解决方案 3:验证的权限是否AMI包括您正在使用的账户。有关更多信息,请参阅《Amazon EC2 用户指南》 AWS 账户中的 “AMI与特定对象共享”。