簡體   English   中英

如何根據ECS群集資源可用性擴展/縮小EC2實例?

[英]How to scale in/out EC2 instances based on ECS cluster resources availability?

我在ECS集群中運行了多個服務。 每個服務包含一個或多個基於CPU利用率或許多用戶的任務。 我已經使用EC2啟動類型部署了這些容器。 現在,我想根據群集中的可用資源增加/減少EC2實例的數量。 假設在兩個m5.large實例中運行了四個ECS任務。

現在,如果ECS服務增加了任務數量並且群集中沒有足夠的可用資源,我該如何啟動實例並添加到群集?

反之亦然。 如果有實例運行但沒有ecs任務,我怎么能自動銷毀它?

PS - 我正在使用Fargate。 由於它的成本非常高,我轉到了EC2實例。

您需要在ASG中設置您的ecs集群實例,因為@Nitesh說,其次您需要根據關鍵指標設置雲觀察警報,其中ecs很復雜,因為您需要設置兩個自動調節策略,一個通過服務另一個到擴展您的實例,對於ec2,您可以使用的指標是群集CPU預留和/或群集內存預留。

該方案的工作原理是,您的服務使用服務的關鍵指標通過自動擴展規則增加所需容器的數量,因為可能是CPU使用率或負載均衡器中的請求數,因此群集CPU預留會增加此觸發器cloudwatch警報和你的ASG會增加實例的數量。

一些提示可以快速擴展,縮小比例可以通過設置警報時間來處理

有關容器,請使用Service Auto Scaling和Target跟蹤策略以獲取更多信息

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html#cluster_reservation

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html

https://aws.amazon.com/blogs/compute/automatic-scaling-with-amazon-ecs/

我希望這有幫助

問候

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM