AWS CodeDeploy:停留在安装步骤

AWS CodeDeploy: stuck on install step

我正在运行学习 this 教程,以使用基于 .net 的自定义 docker 图像创建部署管道。
但是当我开始部署时,它停留在 install 阶段,所以我必须手动停止它:

之后,我得到了几个具有不同任务定义的 运行ning 任务(注意:1 和:4,因为我现在已经尝试 运行 部署 4 次):

他们也一直在改变他们的状态运行->PROVISIONING->PENDING。停止的任务列表不断增加:

问: 那么,如何找出 CodeDeploy 的问题呢?为什么它永远 运行ning?

更新: 它连接到健康检查。

更新: 我得到这个:

(service dataapi-dev-service, taskSet ecs-svc/9223370487815385540) (port 80) is unhealthy in target-group dataapi-dev-tg1 due to (reason Health checks failed with these codes: [404]).

不太明白,为什么新创建的容器会失败,因为原来的容器通过了健康检查。

当 ECS 任务 运行 时,ELB(弹性负载均衡器)会根据您在目标组中的配置不断对容器进行健康检查,以检查容器是否仍在响应。

根据您的调试消息,容器 (api) 以 404 响应健康检查路径。

我建议您在目标组 dataapi-dev-tg1 中配置 healhcheck 路径。

对于那些仍然遇到这个问题的人:在我的例子中,ECS 集群没有出站连接。

这个问题的可能解决方案:

  • 使您与 VPC 一起使用的安全组允许出站流量
  • 确保您用于 VPC 的路由 table 与您用于负载均衡器的子网有子网关联(检查路由 tables)

我之所以能够弄清楚,是因为我在 ECS 集群创建期间启用了 CloudWatch 并获得了 CannotPullContainerError。有关解决此问题的更多信息,请查看 Cannot Pull Container Image Error.

如果您的负载均衡器面向互联网,请确保您的互联网网关通过路由 Table(路由)连接到您的子网。

错误是由于健康检查检测到不健康的目标。 确保在目标组设置中检查您的配置。