選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用叢集自動擴展自動管理 Amazon ECS 容量

焦點模式
使用叢集自動擴展自動管理 Amazon ECS 容量 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon ECS 可管理在您的叢集註冊的 Amazon EC2 執行個體的擴展。這稱為 Amazon ECS 叢集自動擴展。當您建立 Amazon ECS Auto Scaling 群組容量提供者時,您可以開啟受管擴展。然後,您為此 Auto Scaling 群組中的執行個體使用率設定目標百分比 (targetCapacity)。Amazon ECS 會為您的 Auto Scaling 群組建立兩個自訂 CloudWatch 指標和目標追蹤擴展政策。然後,Amazon ECS 會根據任務使用的資源使用率來管理縮減和縮減動作。

針對每個與叢集關聯的 Auto Scaling 群組容量提供者,Amazon ECS 會建立並管理以下資源:

  • 低指標值 CloudWatch 警示

  • 高指標值 CloudWatch 警示

  • 目標追蹤擴展政策

    注意

    Amazon ECS 會建立目標追蹤擴展政策,並將其連接到 Auto Scaling 群組。若要更新目標追蹤擴展政策,請更新容量提供者受管擴展設定,而不是直接更新擴展政策。

如果關閉受管擴展或解除容量提供者與叢集的關聯,Amazon ECS 會移除 CloudWatch 指標和目標追蹤擴展政策資源。

Amazon ECS 使用以下指標來決定要採取的動作:

CapacityProviderReservation

特定容量提供者使用的容器執行個體百分比。Amazon ECS 會產生此指標。

Amazon ECS 將 CapacityProviderReservation 值設定為 0-100 之間的數字。Amazon ECS 使用下列公式來表示 Auto Scaling 群組中剩餘容量的比率。之後,Amazon ECS 會將指標發佈到 CloudWatch。如需如何計算指標的詳細資訊,請參閱 Amazon ECS Cluster Auto Scaling 上的 Deep Dive

CapacityProviderReservation = (number of instances needed) / (number of running instances) x 100
DesiredCapacity

Auto Scaling 群組的容量。此指標不會發佈至 CloudWatch。

之後,Amazon ECS 會在 AWS/ECS/ManagedScaling 命名空間中將 CapacityProviderReservation 指標發佈到 CloudWatch。CapacityProviderReservation 指標會導致發生下列其中一個動作:

CapacityProviderReservation 值等於 targetCapacity

Auto Scaling 群組不需要橫向擴展或縮減。已達到目標使用率百分比。

CapacityProviderReservation 值大於 targetCapacity

有更多任務使用比您的 targetCapacity 百分比高的容量百分比。CapacityProviderReservation 指標增加的值會導致相關聯的 CloudWatch 警示採取動作。此警示會更新 Auto Scaling 群組的 DesiredCapacity 值。Auto Scaling 群組會使用此值啟動 EC2 執行個體,然後向叢集註冊這些執行個體。

targetCapacity 的預設值為 100% 時,新任務會在橫向擴展期間處於 PENDING 狀態,因為執行個體上沒有可用容量來執行任務。新執行個體向 ECS 註冊後,這些任務將在新執行個體上開始執行。

CapacityProviderReservation 值小於 targetCapacity

使用容量百分比低於 targetCapacity 的百分比的任務更少,並且至少有一個可以終止的執行個體。CapacityProviderReservation 指標減少的值會導致相關聯的 CloudWatch 警示採取動作。此警示會更新 Auto Scaling 群組的 DesiredCapacity 值。Auto Scaling 群組會使用此值終止 EC2 容器執行個體,然後向叢集取消註冊這些執行個體。

Auto Scaling 群組遵循群組終止政策來確定在縮減事件期間首先終止哪些執行個體。此外,它還可以避免開啟執行個體縮減保護設定的執行個體。如果您開啟受管終止保護,叢集自動擴展可以管理哪些執行個體具有執行個體縮減保護設定。如需有關受管終止保護的詳細資訊,請參閱 控制執行個體 Amazon ECS 終止。如需 Auto Scaling 群組終止執行個體的詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的控制在縮減期間會終止的 Auto Scaling 執行個體

使用叢集自動擴展時應考慮以下事項:

  • 請勿以任何擴展政策變更或管理與容量提供者相關聯的 Auto Scaling 群組所需的容量,Amazon ECS 管理的政策除外。

  • Amazon ECS 從 0 個執行個體向外擴展時,會自動啟動 2 個執行個體。

  • Amazon ECS 會使用AWSServiceRoleForECS服務連結 IAM 角色來取得 AWS Auto Scaling 代表您呼叫 所需的許可。如需詳細資訊,請參閱使用 Amazon ECS 的服務連結角色

  • 將容量提供者與 Auto Scaling 群組搭配使用時,建立容量提供者的使用者、群組或角色需要 autoscaling:CreateOrUpdateTags 許可。這是因為當群組與容量提供者產生關聯時,Amazon ECS 會將標籤加入至 Auto Scaling 群組。

    重要

    確保您使用的任何工具不會將 AmazonECSManaged 標籤從 Auto Scaling 群組中移除。如果移除此標籤,Amazon ECS 將無法管理擴展。

  • 叢集自動擴展不會修改群組的 MinimumCapacity (容量下限) 或 MaximumCapacity (容量上限)。為了讓群組進行橫向擴展,MaximumCapacity (容量上限) 必須大於零。

  • 當自動擴展 (受管擴展) 開啟時,一個容量提供者一次只能連接到一個叢集。如果容量提供者已關閉受管擴展,您可以將其關聯到多個叢集。

  • 當受管擴展關閉時,容量提供者不會縮減或橫向擴展。您可以使用容量提供者策略在容量提供者之間平衡您的任務。

  • binpack 就容量而言,策略是最有效率的策略。

  • 當目標容量低於 100% 時,置放策略需要使用binpack策略,而spread策略的順序不會高於binpack策略。這可防止容量提供者向外擴展,直到每個任務都有專用執行個體或達到限制為止。

開啟叢集自動擴展

您可以使用 主控台或 開啟叢集自動擴展 AWS CLI。

當您使用主控台建立 EC2 啟動類型的叢集時,Amazon ECS 會代表您建立 Auto Scaling 群組,並設定目標容量。如需詳細資訊,請參閱為 Amazon EC2 啟動類型建立 Amazon ECS 叢集

您也可以建立 Auto Scaling 群組,然後將其指派給叢集。如需詳細資訊,請參閱更新 Amazon ECS 容量提供者

當您使用 時 AWS CLI,在您建立叢集之後

  1. 建立容量提供者前,您需要建立 Auto Scaling 群組。如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Auto Scaling 群組

  2. 使用 put-cluster-capacity-providers 修改叢集容量提供者。如需詳細資訊,請參閱開啟 Amazon ECS 叢集自動擴展

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。