You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS ASG关联Launch Template启动EC2报Server.InternalError错误求助

AWS ASG启动EC2实例自动终止故障排查

核心故障根因

报错Client.InternalError: Client error on launch的直接原因是EBS卷加密使用的KMS密钥权限配置缺失:

  • 单独手动启动EC2实例时,使用的操作账号/角色已经在KMS密钥策略的允许列表中,可正常调用KMS接口完成卷的加密/解密操作,实例启动正常
  • 关联ASG启动时,由Auto Scaling服务对应的角色(默认是服务关联角色AWSServiceRoleForAutoScaling,或用户自定义的ASG服务角色)调用KMS接口,该角色未被添加到KMS密钥策略的授权列表中,权限校验失败导致实例启动后直接终止。

解决方案

步骤1:修改KMS密钥策略,添加ASG角色授权

在KMS密钥策略的Allow use of the key、Allow attachment of persistent resources两个Statement的Principal列表中,添加ASG对应角色的ARN:

  • 若使用默认ASG服务关联角色,ARN格式为:arn:aws:iam::[你的AWS账号ID]:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
  • 若ASG绑定了自定义服务角色,填写该自定义角色的ARN即可。

修改后的授权片段示例:

{
    "Sid": "Allow use of the key",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::xxxxxxx:role/core-CloudformationStackAdmin",
            "arn:aws:iam::xxxxxxx:root",
            "arn:aws:iam::xxxxxxx:role/core-ServiceCatalogLaunchAdmin",
            "arn:aws:iam::xxxxxxx:role/core-AccountAdmin=fGLB@I+000",
            "arn:aws:iam::xxxxxxx:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
        ]
    },
    // 其余配置保持不变
}

两个Statement都需要同步添加相同的Principal配置。

步骤2:(可选)调整权限校验条件

如果修改授权后仍然报错,可以先临时移除两个Statement中的"kms:GrantIsForAWSResource": "true"条件,验证是权限问题后再按需补充细粒度权限控制规则。

步骤3:验证修复效果

修改完KMS策略后,调整ASG的期望实例数触发扩容,确认新启动的EC2实例可以正常运行,没有被自动终止即可。

次要排查方向

如果调整KMS权限后问题仍然存在,可进一步检查以下配置:

  • 确认Launch Template中指定的AMI、实例类型、安全组、子网在ASG部署的可用区中均存在,没有被删除或禁用
  • 确认AWS账号对应区域的EC2实例配额、EBS卷配额没有耗尽

内容的提问来源于stack exchange,提问作者Vaibhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:45:02