AWS CodeDeploy 是否可与 ECS、AutoScaling 和容量提供程序一起使用?
Is AWS CodeDeploy usable with ECS, AutoScaling, and a capacity provider?
首先我会稍微解释一下我的情况。
我正在使用 AWS 控制台(网站)来完成我将要谈论的所有事情。我目前正在主持一个 API 的新项目。我想要一个可以自动适应当前流量的解决方案,我希望部署尽可能简单。
为了托管我的 API 和其他服务,我使用 ECS 集群 ,目前只有一项服务(API)。还有一个附加到它的 ALB(应用程序负载平衡器)。该服务可以启动 1 到 X 个任务,其中 X 是 Auto Scaling 可以启动的最大实例数。 Auto Scaling 在这里是为了随着对 ALB 的请求数量的增加而调整实例数量。
只是旁注,严格来说每个实例一个任务。因此,有 5 个实例意味着总共有 5 个任务。
据我了解,要将 ECS 任务正确放置在将自动添加或删除的实例之间,它需要容量提供程序。
因为我希望部署简单,所以我首先选择了 CodeBuild 来做一些事情(比如为我的 API 构建一个可重用的自定义 docker 图像)。我发现 CodePipeline 还可以以某种方式包装“构建”过程和“部署”过程。但是它需要一个CodeDeploy已经配置好,所以我尝试创建一个以ECS为计算平台。
现在的问题是CodeDeploy需要ECS服务才能使用蓝/绿部署。要启用Blue / Green deployment,似乎不允许我们拥有Capacity Provider。
“使用 blue/green 部署类型时 不支持 集群容量提供程序。”
Source
我发现一个主题似乎使用 Auto Scaling 作为 CodeDeploy 应用程序的计算平台
Source
但这里他们只使用 EC2,而不使用 ECS...
那么,还有其他方法可以实现我想要的吗?
遵循此文档:https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorial-ecs-deployment.html、CodeDeploy 当前不支持 Amazon ECS 容量提供程序。
根据 thread git,ECS 服务现在 支持容量提供程序的蓝/绿部署。
首先我会稍微解释一下我的情况。
我正在使用 AWS 控制台(网站)来完成我将要谈论的所有事情。我目前正在主持一个 API 的新项目。我想要一个可以自动适应当前流量的解决方案,我希望部署尽可能简单。
为了托管我的 API 和其他服务,我使用 ECS 集群 ,目前只有一项服务(API)。还有一个附加到它的 ALB(应用程序负载平衡器)。该服务可以启动 1 到 X 个任务,其中 X 是 Auto Scaling 可以启动的最大实例数。 Auto Scaling 在这里是为了随着对 ALB 的请求数量的增加而调整实例数量。
只是旁注,严格来说每个实例一个任务。因此,有 5 个实例意味着总共有 5 个任务。
据我了解,要将 ECS 任务正确放置在将自动添加或删除的实例之间,它需要容量提供程序。
因为我希望部署简单,所以我首先选择了 CodeBuild 来做一些事情(比如为我的 API 构建一个可重用的自定义 docker 图像)。我发现 CodePipeline 还可以以某种方式包装“构建”过程和“部署”过程。但是它需要一个CodeDeploy已经配置好,所以我尝试创建一个以ECS为计算平台。
现在的问题是CodeDeploy需要ECS服务才能使用蓝/绿部署。要启用Blue / Green deployment,似乎不允许我们拥有Capacity Provider。
“使用 blue/green 部署类型时 不支持 集群容量提供程序。” Source
我发现一个主题似乎使用 Auto Scaling 作为 CodeDeploy 应用程序的计算平台 Source
但这里他们只使用 EC2,而不使用 ECS...
那么,还有其他方法可以实现我想要的吗?
遵循此文档:https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorial-ecs-deployment.html、CodeDeploy 当前不支持 Amazon ECS 容量提供程序。
根据 thread git,ECS 服务现在 支持容量提供程序的蓝/绿部署。