ECS Capacity providers best practices

0

I am researching best practices when implementing Capacity Providers for ECS Clusters. One of the AWS reference videos recommends the usage of one Auto-Scaling Group / Capacity Provider per AZ. What is the main benefit of this recommendation other than distributing tasks at the capacity provider level ? Are there any other best practices to be aware of when implementing Capacity Providers ?

AWS
質問済み 2年前1250ビュー
1回答
1
承認された回答

When you define an AutoScaling group, given that you can choose the subnets in which the group will evolve, it will ipso facto define which AZs you will be running into.

If you create an ASG which uses Spot instances, given that the spot price of the instances varies based on the AZ, this will allow you to have a single service span across all defined AZs, given that 1 Capacity Provider = 1 ASG = 1 Zone.

If you have implemented the logic for an ASG with spot, doing the same logic but for ASG without spot is very straight forward. Then you simply change the base value for your service to favor one or the other (spot vs non spot).

Remember though that you cannot mix FARGATE capacity providers with ASG ones for same service. Mostly, out of features being available on EC2 which won't be on FARGATE (i.e. elevated access, kernel features, etc.) which are defined at the task definition level.

One could use a Launch Template and SpotFleet with overrides for each AZ and per instance types, but then the auto-scaling of the required instances in that fleet must be implemented by the user, whereas, the scaling of the nodes for a capacity provider is driven by ECS directly, so Capacity Providers with ASG using Spot is much more hands-off and managed service.

profile picture
回答済み 2年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ