将Capacity Provider连接到在不同Cloudformation堆栈中创建的ECS集群



我的团队目前的任务是开发一个ECS集群,以便能够从Elastic Beanstalk迁移。

由于我们的整个基础设施都在Cloudformation中,所以我们不得不将这个实现与我们当前的模板相结合。

这个想法是将集群与底层基础设施分开创建,底层基础设施将在最终部署到集群的服务之间共享。

ECS集群有一个不同的模板,服务(以及所有特定于服务的资源(有另一个模板。

容量提供者是与服务一起创建的(并连接到(。据我所知,在创建集群后,Cloudformation中没有办法让容量提供者作为集群的一部分出现。容量提供程序显示在服务上,但不显示在群集上,服务最终没有资源来配置其任务。

我现在的解决方法是将lambda定义为调用putClusterCapacityProvider操作的自定义资源,并将空数组传递给defaultCapacityProviderStrategy属性。

这个策略是有效的,但感觉有点太粗糙了。我是不是错过了什么?在创建集群后,是否有其他方法可以让容量提供程序出现在集群上?

CloudFormation已经更新,可以通过AWS::ECS::ClusterCapacityProviderAssociations对现有集群进行容量提供商调整。

请参阅https://aws.amazon.com/blogs/containers/managing-compute-for-amazon-ecs-clusters-with-capacity-providers/详细信息

最新更新