必须为 CODE_DEPLOY 部署控制器配置部署组的 ECS 服务
Posted
技术标签:
【中文标题】必须为 CODE_DEPLOY 部署控制器配置部署组的 ECS 服务【英文标题】:Deployment group's ECS service must be configured for a CODE_DEPLOY deployment controller 【发布时间】:2019-10-24 12:03:31 【问题描述】:我在 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"
]
]
当我犯错时请告诉我?
【问题讨论】:
【参考方案1】:如果您使用 CodeDeploy,则必须定义您的 ECS 服务,以便 它使用蓝/绿代码部署而不是滚动更新:
HTH!
【讨论】:
我使用 cloudformation 模板创建了我的 ecs 服务。 cloudformation 中没有属性可以指定使用蓝/绿部署模型。我正在关注一个线程 ***.com/questions/54304700/…,它表示尚未在 cloudformation 中添加对此的支持。【参考方案2】:此外,如果您使用的是 terraform,您只需将其添加到 aws_ecs_service
即可修复它:
deployment_controller
type = "CODE_DEPLOY"
【讨论】:
以上是关于必须为 CODE_DEPLOY 部署控制器配置部署组的 ECS 服务的主要内容,如果未能解决你的问题,请参考以下文章
如何配置从 BamBoo 到 CloudControl 的持续部署 [关闭]