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

EC2实例无法注册到ECS集群 任务放置无可用容器实例问题排查

问题背景

报错信息:service was unable to place a task because no container instance met all of its requirements. Reason: No Container Instances were found in your cluster
已确认VPC、子网、路由表、互联网网关、NAT网关、EC2实例、安全组、负载均衡等资源均正常创建,EC2实例运行状态正常,已配置CloudFormation信令脚本且补充了ECSCapacityProvider配置后问题仍存在,部署会超时回滚。

排查思路

1. 检查EC2实例的基础运行环境

  • 确认EC2实例使用的是AWS官方提供的ECS优化AMI,避免因缺少ECS代理、Docker运行时组件导致注册失败
  • 远程连接到异常EC2实例,查看ECS代理服务状态:systemctl status ecs
  • 查看代理日志定位注册失败原因:cat /var/log/ecs/ecs-agent.log
  • 确认ECS代理配置文件中指定的集群名称和你目标集群完全一致:cat /etc/ecs/ecs.config,重点检查ECS_CLUSTER参数值是否匹配

2. 检查EC2实例的IAM权限配置

  • 确认EC2实例关联的IAM角色包含AmazonEC2ContainerServiceforEC2Role托管策略,或者手动配置了ecs:RegisterContainerInstance、ecs:DeregisterContainerInstance等必要权限
  • 检查实例角色的信任关系是否允许ec2.amazonaws.com服务代入

3. 检查网络连通性配置

  • 确认EC2实例所在安全组出站规则放行443端口访问ECS服务端点、SSM服务端点(如果使用内网端点)或者公网
  • 如果实例部署在私网子网,确认已经配置ECS服务的VPC端点,或者NAT网关规则允许实例访问ECS公有服务端点
  • 验证实例可以正常访问ECS服务:curl https://ecs.<所在区域>.amazonaws.com 确认返回正常

4. 检查ECS集群与容量配置

  • 确认配置的ECS容量提供商已经关联到目标集群,且容量提供商关联的自动扩缩容组就是当前创建的ECS Auto Scaling Group
  • 检查自动扩缩容组的实例是否配置了正确的ECS实例标签,没有被集群的实例筛选规则排除
  • 检查ECS任务定义的资源要求(CPU、内存、端口)是否不超过EC2实例的可用资源阈值

5. 检查CloudFormation信令配置

  • 确认EC2实例的UserData脚本中执行cfn-signal命令前已经完成了ECS代理的初始化配置,避免初始化失败但错误信号没有正确返回的问题
  • 检查CloudFormation栈的ECSAutoScalingGroup资源是否配置了正确的CreationPolicy,超时时间是否足够实例完成全量初始化

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:24:00