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

AWS CDK创建Fargate服务时资源卡在CREATE_IN_PROGRESS,求助排查

排查思路与解决方案

首先明确:日志里的NextToken: undefined不是问题根源。这个参数是CloudFormation的分页标记,第一次调用describeStackEvents时没有上一页的令牌,所以会显示undefined,属于正常现象,不用纠结这个点。

下面是针对Fargate资源创建卡住的排查步骤:

  • 镜像与权限检查

    • 确认ECR仓库repo-name中存在latest标签的镜像(你的代码里没指定镜像标签,默认用latest),如果镜像标签不是latest,要在EcrImage.fromEcrRepository里补充指定,比如ecs.EcrImage.fromEcrRepository(repo, "your-tag")
    • 检查Fargate任务执行角色是否有拉取ECR镜像的权限,需要附加AmazonEC2ContainerRegistryReadOnly策略,或者自定义包含ecr:GetDownloadUrlForLayer、ecr:BatchGetImage、ecr:BatchCheckLayerAvailability权限的策略
    • 本地拉取该ECR镜像测试启动,确认镜像本身没有启动失败的问题(比如缺少依赖、端口未暴露等)
  • 网络配置排查

    • 确认Fargate任务所在的子网配置:如果是私有子网,必须配置NAT网关让任务能访问互联网拉取ECR镜像;如果是公有子网,要开启任务的公共IP(CDK中assignPublicIp设为true)
    • 检查安全组:任务的安全组要允许出站443端口(用于拉取ECR镜像),负载均衡的安全组要允许与任务安全组的对应端口通信
  • 查看详细CloudFormation/ECS事件

    • 直接登录AWS控制台,进入CloudFormation服务找到对应堆栈,查看事件列表,里面会显示具体哪个子资源卡在创建中(比如ECS服务、任务定义、目标组等)
    • 如果是ECS服务卡住,进入ECS控制台找到对应服务,查看服务事件,里面会有更具体的报错信息(比如任务启动失败原因、镜像拉取超时等)
  • CDK配置验证

    • 检查ApplicationLoadBalancedFargateService的配置:确认容器端口与负载均衡监听端口匹配,任务的CPU和内存规格符合Fargate的要求(比如最小0.25vCPU、0.5GB内存)
    • 用cdk synth生成CloudFormation模板,检查模板中资源配置是否符合预期,有没有遗漏的必要参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 09:08:12