首页 > 解决方案 > AWS Blue/Green CodeDeploy 到 ECS 安装生命周期事件超时

问题描述

正如标题所示,ecs 的蓝/绿部署永远不会完成,因为安装生命周期事件永远不会完成和超时。

这是显示的图片: 在此处输入图像描述 appspec 文件:

version: 0.0 
Resources: 
  - TargetService: 
      Type: AWS::ECS::Service 
      Properties: 
        TaskDefinition: <TASK_DEFINITION> 
        LoadBalancerInfo: 
          ContainerName: "WordpressContainer" 
          ContainerPort: 80 

任务定义文件:

{ 
    "executionRoleArn": "arn:aws:iam::336636872471:role/WordpressPipelineExecutionRole", 
    "containerDefinitions": [ 
        { 
            "name": "WordpressContainer", 
            "image": "<IMAGE1_NAME>", 
            "essential": true, 
            "portMappings": [ 
                { 
                    "hostPort": 80, 
                    "protocol": "tcp", 
                    "containerPort": 80 
                } 
            ] 
        } 
    ], 
    "requiresCompatibilities": [ 
        "FARGATE" 
    ], 
    "networkMode": "awsvpc", 
    "cpu": "256", 
    "memory": "512", 
    "family": "wordpress" 
} 

我正在将一个简单的 wordpress docker 图像推送到 ECR,它触发了一个管道,但它卡在了CodeDeploy上。

任何想法发生了什么?我什至应该如何调试它?

PS 它在 60 分钟后超时并显示以下消息:

等待替换任务集恢复正常时部署超时。此超时时间为 60 分钟。

标签: amazon-web-servicesamazon-ecsaws-code-deployaws-codepipelineamazon-ecr

解决方案


我会检查目标群体的健康检查,因为它正在等待替换任务变得更健康。您当前部署的 ECS 目标是否健康?如果不是,ALB 将尝试反弹这些容器以尝试刷新它们以通过运行状况检查。此外,您的 CodeDeplot 是否有权部署到 ECR?


推荐阅读