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

AWS ECS集群EC2实例未显示、任务Pending问题排查求助

ECS EC2实例未加入集群及任务Pending问题排查

以下是针对问题的核心排查方向,结合你的操作和Terraform配置逐一验证:

  • ECS Agent与IAM角色权限

    1. 确认EC2实例关联的IAM角色包含ECS实例所需权限:必须附加AmazonEC2ContainerServiceforEC2Role托管策略,或自定义策略涵盖ecs:RegisterContainerInstance、ecs:DeregisterContainerInstance、ecs:Submit*等核心动作。Terraform中需确保IAM角色的信任策略允许ec2.amazonaws.com扮演该角色,且权限策略正确关联。
    2. 登录EC2实例查看ECS Agent日志(/var/log/ecs/ecs-agent.log),搜索RegisterContainerInstance相关报错,排查是否存在集群名称不匹配、权限拒绝或网络连接失败等问题。
    3. 验证实例用户数据的实际生效内容:在EC2控制台实例详情的“用户数据”栏,确认ECS_CLUSTER的值与你创建的ECS集群名称完全一致,避免Terraform变量渲染错误。
  • 网络连通性深度验证

    1. 在EC2实例上执行curl https://ecs.${你的区域}.amazonaws.com(替换为实际区域,如ecs.us-east-1.amazonaws.com),检查是否能正常访问ECS服务端点。若失败:
      • 确认子网路由表配置:公有子网路由表需包含指向IGW的0.0.0.0/0路由;私有子网需指向NAT Gateway。
      • 检查安全组出站规则:允许HTTPS(443端口)流量到0.0.0.0/0。
      • 检查VPC的DNS设置:确保enableDnsHostnames和enableDnsSupport均设为true,否则实例无法解析ECS服务域名。
    2. 用nslookup ecs.${你的区域}.amazonaws.com测试域名解析,若失败需检查VPC DNS配置或实例的DNS服务器设置。
  • Auto Scaling Group配置校验

    1. 确认ASG关联的Launch Template/Configuration正确,且其中的用户数据确实注入了正确的ECS集群名称。
    2. 检查ASG的实例是否部署在ECS集群关联的子网内,同时子网的网络ACL需允许:
      • 出站HTTPS(443)流量到ECS服务端点
      • 入站流量来自ECS控制平面(可参考AWS官方的ECS端口要求)
  • 区域一致性检查
    确保Terraform配置中ECS集群、EC2实例、ASG等所有资源的AWS区域完全一致,跨区域实例无法加入集群。

  • 任务Pending额外排查(若实例最终加入集群)

    • 检查任务定义的CPU、内存需求是否超过EC2实例的可用资源。
    • 确认任务执行角色拥有拉取容器镜像的权限(如访问ECR的ecr:GetDownloadUrlForLayer、ecr:BatchGetImage等动作)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 14:47:09