【问题标题】:Attach Capacity Provider to a ECS Cluster created in different Cloudformation stacks将容量提供程序附加到在不同 Cloudformation 堆栈中创建的 ECS 集群
【发布时间】:2022-03-14 01:09:37
【问题描述】:

我的团队当前的任务是开发一个能够从 Elastic Beanstalk 迁移的 ECS 集群

由于我们的整个基础架构都在 Cloudformation 中,因此我们不得不将此实现与我们当前的模板相结合。

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

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

容量提供程序是使用(并附加到)服务创建的。据我所知,在创建集群后,Cloudformation 无法让容量提供程序作为集群的一部分出现。容量提供程序出现在服务上但不在集群上,服务最终没有资源来配置其任务。

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

这个策略很有效,但感觉有点太老套了。我错过了什么吗?集群创建后,还有其他方法可以让容量提供程序出现在集群上吗?

【问题讨论】:

  • 它不应该让人觉得“hacky”。开发自定义资源以填补 AWS 在 CFN 中留下的所有空白。你现在有一个这样的案例。事实上,在与 CFN 合作时,开发服装资源是一种常态,因为 CFN 非常有限。
  • 是的,你是对的,也许 hacky 不是正确的词。但感觉就像是容量提供者工作的基本要素需要定制。

标签: amazon-web-services amazon-cloudformation amazon-ecs


【解决方案1】:

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

详情请见https://aws.amazon.com/blogs/containers/managing-compute-for-amazon-ecs-clusters-with-capacity-providers/

【讨论】:

    猜你喜欢
    • 2020-12-11
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 2016-04-09
    • 2020-05-13
    相关资源
    最近更新 更多