

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

# 使用目標指標擴展 Amazon ECS 服務
<a name="service-autoscaling-targettracking"></a>

使用目標追蹤擴展政策，您可以選取指標並設定目標值。Amazon ECS Service Auto Scaling 會建立和管理可控制擴展政策的 CloudWatch 警示，並根據指標和目標值來計算擴展調整。擴展政策會視需要新增或移除服務任務，讓指標保持在或接近指定的目標值。除了將指標保持在接近目標值之外，目標追蹤擴展政策也會根據由於負載模式波動而導致的指標波動進行調整，並將服務中執行的任務數量快速波動降至最低。

目標追蹤政策無需手動定義 CloudWatch 警示和擴展調整內容，Amazon ECS 會根據您設定的目標自動處理此問題。

使用目標追蹤政策時，請考慮下列事項：
+ 目標追蹤擴展政策假設在指定的指標超過目標值時，應執行向外擴展。您無法使用目標追蹤擴展政策在指定的指標低於目標值時執行向外擴展。
+ 所指定指標的資料不足時，目標追蹤擴展政策不會執行擴展。政策不會執行向內擴展，因為向內擴展不會將資料不足解釋為低使用率。
+ 您可能會看到目標值與實際指標資料點之間有些差距。原因是 Service Auto Scaling 在決定新增或移除多少容量時，一律以四捨五入來保守處理。這樣可防止新增不足的容量，或移除過多的容量。
+ 為了確保應用程式可用性，服務可以按比例快速地向外擴展到指標，但需漸漸地逐步向內擴展。
+ Application Auto Scaling 會在 Amazon ECS 部署正在進行時關閉縮減程序。不過，除非在部署期間暫停，否則向外擴展程序會繼續發生。此行為不適用於使用外部部署控制器的 Amazon ECS 服務。如需詳細資訊，請參閱[服務自動擴展和部署](service-auto-scaling.md#service-auto-scaling-deployments)。
+ 您可以擁有 Amazon ECS 服務的多個目標追蹤擴展政策，但前提是每個政策都使用不同的指標。Service Auto Scaling 的用意一律以可用性為優先，因此其行為視目標追蹤政策是準備水平擴展或縮減而有所不同。如果任何目標追蹤政策已準備好橫向擴展，其就會將服務橫向擴展，但只有在所有目標追蹤政策 (已開啟縮減部分) 都已準備好要縮減時才會縮減。
+ 請勿編輯或刪除 CloudWatch 警示，Service Auto Scaling 管理它們用於目標追蹤擴展政策。當您刪除擴展政策時，Service Auto Scaling 會自動刪除警示。
+ 藍/綠部署類型不支援目標追蹤擴展政策的 `ALBRequestCountPerTarget` 指標。

如需有關目標追蹤擴展政策的詳細資訊，請參閱《Application Auto Scaling 使用者指南》中的[目標追蹤擴展政策](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)。

# 為 Amazon ECS 服務自動擴展功能建立目標追蹤擴展政策
<a name="target-tracking-create-policy"></a>

建立目標追蹤擴展政策，以便 Amazon ECS 自動增加或減少服務中所需的任務計數。目標追蹤根據目標指標值運作。

## 主控台
<a name="target-tracking-create-policy-aws-console"></a>

1. 除了建立與更新服務所需的標準 IAM 許可外，您還需要其他許可。如需詳細資訊，請參閱[Amazon ECS 服務自動擴展所需的 IAM 許可](auto-scaling-IAM.md)。

1. 決定用於政策的指標。下列指標可供使用：
   +  **ECSServiceAverageCPUUtilization** – 服務應使用的平均 CPU 使用率。
   + **ECSServiceAverageMemoryUtilization** – 服務應使用的平均記憶體使用率。
   + **ALBRequestCountPerTarget** – 任務理想情況下，任務每分鐘應接收的平均請求數。

1. 開啟主控台，網址為 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)。

1. 在**叢集**頁面上，選擇叢集。

1. 在「叢集詳細資訊」頁面上的**服務**區段中選擇服務。

   服務資訊頁面隨即顯示。

1. 選擇**設定任務數量**。

1. 在 **Amazon ECS 服務任務計數**下，選擇**使用自動擴展**。

   **任務計數**區段隨即顯示。

   1. 在**任務數量下限**欄位中，輸入供服務自動擴展功能使用的任務數量下限。所需的計數不會低於此計數。

   1. 在**上限**欄位中，輸入供服務自動擴展功能使用的任務數量上限。所需的計數不會高於此計數。

   1. 選擇**儲存**。

      政策頁面隨即顯示。

1. 選擇**建立擴展政策**。

   **建立政策**頁面隨即顯示。

1. 針對 **Scaling policy type** (擴展政策類型)，選擇 **Target tracking** (目標追蹤)。

1. 針對 **Policy name** (政策名稱)，輸入政策的名稱。

1. 在**指標類型**欄位中，從選項清單中選擇指標。

1. 在**目標使用率**欄位中，輸入 Amazon ECS 應維護之任務的百分比目標值。服務自動擴展功能會橫向擴充容量，直到平均使用率達到目標使用率，或達到所指定的任務數量上限。

1. 在**其他設定**下，執行下列動作

   1. 在**縮減冷卻時間**欄位中，輸入一個縮減活動完成之後、另一個縮減活動開始之前的時間 (以秒為單位)。

   1. 在**橫向擴充冷卻時間**欄位中，輸入等待上一個橫向擴充活動生效的時間 (以秒為單位)。

   1. 若要僅建立橫向擴充政策，請選取**停用縮減**。

1. 選擇**建立擴展政策**。

## AWS CLI
<a name="target-tracking-create-policy-aws-cli"></a>

1. 使用 [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) 命令，將 Amazon ECS 服務註冊為可擴展性目標。

1. 使用 [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) 命令，來建立擴展政策。