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

调试Pulumi部署ECS Fargate CodeDeploy模式出现ResourceNotReady错误

调试定位Pulumi等待资源的方法
  • 运行部署命令时添加调试参数:执行pulumi up时带上--logtostderr -v=9,输出的全量日志会明确标注当前处于等待状态的资源类型、ARN以及关联的AWS API调用返回值,可直接定位卡住的具体资源。
  • 核对Pulumi栈资源状态:执行pulumi stack export导出栈的全量资源状态,对比AWS控制台中对应资源的实际运行状态,找到处于CREATE_IN_PROGRESS或UPDATE_IN_PROGRESS状态的异常资源。
  • 查看AWS侧资源事件:优先查看ECS服务的事件面板定位服务启动失败原因,再查看CodeDeploy控制台对应应用的部署记录,明确蓝绿部署流程卡在任务启动、健康检查还是流量切换环节。
ECS蓝绿部署(CODE_DEPLOY控制器)的隐藏依赖要求

使用CODE_DEPLOY作为部署控制器时,仅修改deploymentController.type无法完成部署,还需要满足以下前置条件:

  • 必须提前创建CodeDeploy ECS应用与对应部署组:部署组需要绑定目标ECS集群、ECS服务、负载均衡的两个目标组(分别用于蓝、绿版本流量挂载)、生产流量监听器,上述CodeDeploy侧资源不会由Pulumi自动创建,缺失会导致部署流程无法启动。
  • 负载均衡需完成双目标组配置:不能使用默认ECS部署的单目标组方案,两个目标组需配置相同的健康检查规则,供CodeDeploy切换流量使用。
  • 权限配置需覆盖CodeDeploy访问需求:ECS任务执行角色、CodeDeploy服务角色需要添加对应IAM权限,允许CodeDeploy操作ECS服务、修改负载均衡目标组挂载规则,同时ECS任务的安全组需要放行负载均衡的健康检查端口,避免绿版本任务健康检查失败。
  • 移除ECS服务原生滚动部署参数:使用CODE_DEPLOY控制器时,ECS服务的maxPercent、minHealthyPercent参数会失效,相关的部署策略需要在CodeDeploy部署配置中定义,保留上述参数会触发配置冲突导致部署超时。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:15:04