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

使用CDK部署ECS服务失败:实例无法联网且无法注册集群

ECS容器实例无法注册、服务无法放置任务的排查与修复方案

针对部署ClickHouse(用于Plausible Analytics托管)时遇到的ECS容器实例无法注册、服务无法放置任务的问题,按以下步骤逐一排查修复:

1. 修正容器实例角色配置

  • 确认ASG启动模板/配置已绑定正确的实例配置文件:实例配置文件必须关联排查工具指出的角色PlausibleStack-ClickHouseAutoScalingGroupInxxxxxx3c1Rx5YEV,且ASG创建的实例已成功获取该角色。
  • 验证角色权限:确保所需的ECS权限(ecs:RegisterContainerInstance, ecs:DeregisterContainerInstance, ecs:Poll, ecs:StartTelemetrySession, ecs:UpdateContainerInstancesState, ecs:SubmitAttachmentStateChange, ecs:SubmitContainerStateChange, ecs:SubmitTaskStateChange)已直接附加到角色,且无IAM权限边界限制这些权限。
  • 检查信任关系:角色的信任策略必须允许EC2服务扮演,确认策略内容为:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "ec2.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

2. 修复VPC通信问题

  • 检查ECS接口端点:
    • 确认已创建com.amazonaws.<region>.ecs-agent、com.amazonaws.<region>.ecs-telemetry、com.amazonaws.<region>.ecs三个VPC接口端点,且均启用了私有DNS(这是实例能通过默认域名访问ECS服务的关键)。
    • 端点的安全组需允许容器实例所在子网的TCP 443入站流量。
  • 验证路由配置:
    • 使用NAT网关的话,私有子网路由表必须有0.0.0.0/0指向NAT网关的路由,且NAT网关所在公有子网有互联网网关路由。
    • 仅使用接口端点的话,确保所有依赖服务(ECS、CloudWatch、ECR)的接口端点都已配置,且实例无需访问公网。

3. 修正UserData执行顺序

你的UserData执行顺序错误,导致ECS服务重启时还没读取到指定集群名称,实例会注册到默认集群而非目标集群。修正后的脚本如下:

#!/bin/bash
# 先写入ECS集群配置,确保重启服务时能读取到
echo ECS_CLUSTER=PlausibleStack-ClusterEB038xxxxxARS3re >> /etc/ecs/ecs.config
# 配置IMDS阻断(按需保留)
echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config
# 安装RexRay插件,加容错避免安装失败卡住流程
docker plugin install rexray/ebs REXRAY_PREEMPT=true EBS_REGION=eu-central-1 --grant-all-permissions || echo "RexRay插件安装失败,不影响ECS注册"
# 最后重启ECS服务加载新配置
systemctl restart ecs
# 配置iptables规则(按需保留,确认不会阻断ECS通信)
sudo iptables --insert FORWARD 1 --in-interface docker+ --destination 169.254.169.254/32 --jump DROP
sudo service iptables save

4. 验证实例注册状态

  • 登录容器实例,执行journalctl -u ecs查看ECS代理日志,检查是否有Registered container instance的成功日志,或定位具体错误(比如权限不足、连接超时)。
  • 到ECS控制台查看目标集群的容器实例列表,确认实例是否已成功注册。

内容的提问来源于stack exchange,提问作者Nikola-Milovic

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:46:06