必须为CODE_DEPLOY部署控制器配置部署组的ECS服务

PPS*_*ein 4 amazon-ecs amazon-iam aws-code-deploy

尝试在Code Deploy中为ECS群集创建部署组时遇到以下错误。我创建了基于CodeDeploy ECS及其策略的IAM:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeServices",
                "ecs:CreateTaskSet",
                "ecs:UpdateServicePrimaryTaskSet",
                "ecs:DeleteTaskSet",
                "elasticloadbalancing:DescribeTargetGroups",
                "elasticloadbalancing:DescribeListeners",
                "elasticloadbalancing:ModifyListener",
                "elasticloadbalancing:DescribeRules",
                "elasticloadbalancing:ModifyRule",
                "lambda:InvokeFunction",
                "cloudwatch:DescribeAlarms",
                "sns:Publish",
                "s3:GetObject",
                "s3:GetObjectMetadata",
                "s3:GetObjectVersion"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "iam:PassRole"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": [
                        "ecs-tasks.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

当我犯错时请告诉我?

在此处输入图片说明

小智 11

另外,如果您使用 terraform,您可以通过将其添加到以下内容来简单地修复它aws_ecs_service

  deployment_controller {
      type = "CODE_DEPLOY"
  }
Run Code Online (Sandbox Code Playgroud)


dig*_*ise 5

如果您使用的是CodeDeploy,则必须定义ECS服务,以便它使用Blue / Green代码部署而不是Rolling Updates

AWS管理控制台> ECS>创建服务的快照

HTH!

  • 我已经使用 cloudformation 模板创建了我的 ecs 服务。cloudformation 中没有指定使用蓝/绿部署模型的属性。我正在关注一个线程 /sf/ask/3801329031/,该线程表示尚未在 cloudformation 中添加对此的支持。 (3认同)