

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

# Application Auto Scaling 的步驟擴展政策
<a name="application-auto-scaling-step-scaling-policies"></a>

步進擴展政策會根據 CloudWatch 警示，依預先定義的增量幅度擴展應用程式的容量。您可以定義個別的擴展政策，在流量達到警示閾值時擴增規模 (增加容量) 和縮減規模 (減少容量)。

如果使用步進擴展政策，您可以建立及管理觸發擴展程序的 CloudWatch 警示。流量達到警示閾值時，Application Auto Scaling 就會啟動與該警示相關聯的擴展政策。

步進擴展政策會依據一組調整策略來調整容量，稱為*步進調整*。調整幅度會依流量達到警示閾值的程度而有所不同。
+ 如果超過第一個閾值，Application Auto Scaling 會套用第一步調整。
+ 如果超過第二個閾值，Application Auto Scaling 會套用第二步調整，以此類推。

如此一來，擴展政策就能適當回應警示指標的次要和重大變動。

此政策會繼續回應流量達到警示閾值的其他事件，即便是在擴展活動進行期間也不例外。換句話說，Application Auto Scaling 會在流量達到警示閾值時，評估所有警示事件。冷卻時間的作用在於防止流量快速而連續地多次達到警示閾值，導致過度擴展。

如同目標追蹤，步進擴展可協助您在流量有所變動時，自動擴展應用程式的容量。不過，如果擴展需求穩定，目標追蹤政策通常較容易實作及管理。

**支援的可擴展性目標**

您可以將步進擴展政策與下列可擴展目標搭配使用：
+ WorkSpaces 應用程式機群
+ Aurora 資料庫叢集
+ ECS 服務
+ EMR 叢集
+ SageMaker AI 端點變體
+ SageMaker AI 推論元件
+ SageMaker AI Serverless 佈建並行
+ Spot Fleets
+ 自訂資源

**Topics**
+ [步驟擴展的運作方式](step-scaling-policy-overview.md)
+ [建立步驟擴展政策](create-step-scaling-policy-cli.md)
+ [描述步驟擴展政策](describe-step-scaling-policy.md)
+ [刪除步驟擴展政策](delete-step-scaling-policy.md)

# Application Auto Scaling 的步驟擴展如何運作
<a name="step-scaling-policy-overview"></a>

本主題說明步驟擴展的運作方式，並介紹步驟擴展政策的關鍵元素。

**Topics**
+ [運作方式](#step-scaling-how-it-works)
+ [步驟調整](#as-scaling-steps)
+ [擴展調整類型](#as-scaling-adjustment)
+ [冷卻時間](#step-scaling-cooldown)
+ [常用命令](#step-scaling-policy-commonly-used-commands)
+ [考量事項](#step-scaling-considerations)
+ [相關資源](#step-scaling-related-resources)
+ [主控台存取](#step-scaling-console-access)

## 運作方式
<a name="step-scaling-how-it-works"></a>

若要使用步進擴展，您必須建立 CloudWatch 警示，以監控可擴展的目標。定義指標、閾值和評估流量是否達到警示閾值的時段數。您也可以建立步進擴展政策，定義在流量達到警示閾值時如何擴展容量，並將其與可擴展目標建立關聯。

在政策中新增步進調整內容。您可以根據流量達到警示閾值的程度，定義不同的步進調整幅度。例如：
+ 如果警示指標達到 60%，則擴增 10 個容量單位
+ 如果警示指標達到 75%，則擴增 30 個容量單位
+ 如果警示指標達到 85%，則擴增 40 個容量單位

流量在指定的評估時段達到警示閾值時，Application Auto Scaling 就會套用您在政策中定義的步進調整指示。警示狀態恢復 `OK` 後，才能依其他達標警示事件繼續調整。

擴展活動之間會有冷卻時間，以防止容量快速波動。您可自行選擇是否設定擴展政策的冷卻時間。

## 步驟調整
<a name="as-scaling-steps"></a>

建立步進擴展政策時，您可以指定一或多個步進調整，這些調整會根據警示違規的程度自動動態調整目標的容量。每項步進調整可指定下列項目：
+ 指標值下限
+ 指標值上限
+ 要擴展的數量，會以擴展調整類型為依據

CloudWatch 會根據 CloudWatch 警示相關聯指標的統計數字，彙總指標資料點。​ 超出警示閾值時，會呼叫適當的擴展政策。Application Auto Scaling 會將指定的彙總類型套用到 CloudWatch 最近的指標資料點 (而不是原始指標資料)。它會將彙總指標值與步進調整定義的上限和下限進行比較，以決定要執行哪一項步進調整。

您可以指定相對於違規閾值的上限及下限。例如，假設您設定流量超過 50% 指標時，由 CloudWatch 發出警示並執行擴增政策。當流量低於 50% 指標時，系統發出第二個警示，並執行縮減政策。每個政策都必須設定一組步進調整內容，調整類型為 `PercentChangeInCapacity`：


**範例：擴增政策的步進調整**  

| **下限** | **上限** | **調整** | 
| --- | --- | --- | 
|  0  |  10  |  0  | 
|  10  |  20  |  10  | 
|  20  |  無  |  30  | 


**範例：縮減政策的步進調整**  

| **下限** | **上限** | **調整** | 
| --- | --- | --- | 
|  -10  |  0  |  0  | 
|  -20  |  -10  |  -10  | 
|  null  |  -20  |  -30  | 

這會建立以下擴展組態。

```
Metric value

-infinity          30%    40%          60%     70%             infinity
-----------------------------------------------------------------------
          -30%      | -10% | Unchanged  | +10%  |       +30%        
-----------------------------------------------------------------------
```

現在，假設您在可擴展的目標上使用這組擴展設定，其原始容量為 10。下列幾點摘要說明與可擴展目標的容量有關之擴展組態的行為：
+ 當彙總指標值大於 40 且小於 60 時，將維持原始容量。
+ 如果指標值達到 60，Application Auto Scaling 會將可擴展目標的容量增加 1，達到 11。這是根據向內擴展政策的第二步調整 (增加 10 的 10%)。加入了新的容量後，Application Auto Scaling 會將目前的容量增加到 11。此次容量增加後，如果指標值仍升至 70，Application Auto Scaling 會將目標容量增加 3，達到 14。這是根據向外擴展政策的第二步調整 (增加 11 的 30% 即 3.3，無條件捨入到 3)。
+ 如果指標值達到 40，Application Auto Scaling 會根據縮減政策的第二步驟調整，將可擴展目標的容量減少 1，達到 13 (減去 14 的 10% 即 1.4，無條件捨入到 1)。此次減少容量後，如果指標值仍降至 30，Application Auto Scaling 會根據縮減政策的第三步驟調整，將目標容量減少 3，達到 10 (減去 13 的 30% 即 3.9，無條件捨入到 3)。

當您為擴展政策指定步進調整時，請注意下列事項：
+ 步進調整的範圍不得重疊或有間隙。
+ 僅其中一項步進調整的下限可為空值 (負無限大)。若某項步進調整的下限為負值，則必須有一項步進調整的下限為空值。
+ 僅其中一項步進調整的上限可為空值 (正無限大)。若某項步進調整的上限為正值，則必須有一項步進調整的上限為空值。
+ 同一項步進調整的上限及下限不得皆為空值。
+ 如果指標值高於違規閾值，則含下限而不含上限。如果指標值低於違規閾值，則不含下限而含上限。

## 擴展調整類型
<a name="as-scaling-adjustment"></a>

您可以根據選擇的擴展調整類型，定義執行最佳擴展動作的擴展政策。您可以將調整類型指定為可擴展目標的目前容量百分比或以絕對數字指定。

Application Auto Scaling 的步驟擴展政策支援以下調整類型：
+ **ChangeInCapacity** - 將可擴展目標目前的容量增加或減少指定的值。正值即增加容量，負值則減少容量。例如：如果目前容量為 3 而調整值為 5，Application Auto Scaling 會將容量增加 5，總數達到 8。
+ **ExactCapacity** - 將可擴展目標目前的容量變更為指定的值。此調整類型應指定非負值。例如：如果目前容量為 3 而調整值為 5，Application Auto Scaling 會將容量變更為 5。
+ **PercentChangeInCapacity** - 將可擴展目標目前的容量增加或減少指定的百分比。正值即增加容量，負值則減少容量。例如：如果目前容量為 10 而調整值為 10%，Application Auto Scaling 會將容量增加 1，總數達到 11。

  若結果值不是整數，Application Auto Scaling 的四捨五入規則如下所示：
  + 大於 1 的值無條件捨去取整。例如，`12.7` 捨入到 `12`。
  + 0 至 1 之間的值捨入到 1。例如，`.67` 捨入到 `1`。
  + 0 至 -1 之間的值捨入到 -1。例如，`-.58` 捨入到 `-1`。
  + 小於 -1 的值無條件進位取整。例如，`-6.67` 捨入到 `-6`。

  使用 **PercentChangeInCapacity** 時，您還可透過 `MinAdjustmentMagnitude` 參數指定最小擴展量。例如，假設您建立了一個增加 25% 的政策，並指定最小擴展量為 2。如果可擴展性目標的容量為 4 且執行此擴展政策，4 的 25% 即為 1。不過，由於您指定最小增量為 2，Application Auto Scaling 將增加 2。

## 冷卻時間
<a name="step-scaling-cooldown"></a>

您可以選擇在步數擴展政策中定義冷卻時間。

冷卻時間指定擴展政策等候上一個擴展活動生效的時間量。

有兩種方法可以規劃使用步驟擴展組態的冷卻時間：
+ 橫向擴展冷卻時間的目的是連續(但並非過度)規模擴展 。在 Application Auto Scaling 使用擴展政策成功擴展之後，就會開始計算冷卻時間。除非觸發較大的橫向擴展或冷卻時間結束，否則擴展規模政策不會再次增加所需的容量。在向外擴展冷卻期間有效時，由起始冷卻的向外擴展活動所增加的容量，將計入下次向外擴展活動所需的容量。
+ 縮減冷卻時間的目的是保守縮減以保護應用程式的可用性，因此縮減冷卻時間到期後才會開放縮減活動。不過，若在向內擴展冷卻期間另有警示觸發了向外擴展活動，Application Auto Scaling 則會立即向外擴展目標。在這種情況下，縮減冷卻時間隨即停止，且不會完成。

例如，當流量尖峰發生時，會觸發警示，而 Application Auto Scaling 會自動增加容量以協助處理增加的負載。如果為橫向擴展政策設定了冷卻時間，則在警示觸發政策以使容量增加 2 時，擴展活動即成功完成並開始計算橫向擴展冷卻期間。在冷卻時間內，如果警示再次觸發但進行更大幅度的步驟調整 (3)，則前次增加的 2 將視為目前容量的一部分。因此，容量只會再增加 1。與等待冷卻時間到期相比，這可以更快地擴展，但不會增加比所需更多的容量。

冷卻期間是以秒為單位進行測量，且僅適用於擴展政策相關擴展活動。在冷卻期間，當已排定的動作在已排定的時間開始時，它可以立即觸發擴展活動，而無須等候冷卻期間過期。

如未指定任何值，則預設值為 300。

## 建立、管理及刪除擴展政策常用的命令
<a name="step-scaling-policy-commonly-used-commands"></a>

擴展政策常用的命令包括：
+ [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) 將 AWS 或自訂資源註冊為可擴展的目標 (Application Auto Scaling 可以擴展的資源），以及暫停和繼續擴展。
+ [put-calable-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)，新增或修改現有可擴展目標的擴展政策。
+  [describe-scaling-activities](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scaling-activities.html)，傳回 AWS 區域的擴展活動相關資訊。
+ [describe-scaling-policies](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scaling-policies.html)，傳回 AWS 區域的擴展政策相關資訊。
+ [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scaling-policy.html)，刪除擴展政策。

## 考量事項
<a name="step-scaling-considerations"></a>

使用步進擴展政策時，下列考量適用：
+ 考慮您是否能夠準確地預測應用程式上的步進調整，以便使用步進擴展。如果您的擴展指標可按比例提高或降低可擴展目標容量，我們建議您改用目標追蹤擴展政策。您仍然可以選擇使用步進擴展作為其他政策，以進行更進階的設定。例如，您可以設定使用率達到特定層級時更積極的回應。
+ 請務必在橫向擴展閾值和縮減閾值之間選擇足夠的邊際，以防止震盪。振盪不穩是指向內縮減和水平擴展無限循環的現象。也就是說，如果採取擴展動作，指標值將會改變，並反向展開另一次擴展動作。

## 相關資源
<a name="step-scaling-related-resources"></a>

如需有關建立 Auto Scaling 群組的步進擴展政策之詳細資訊，請參閱《*Amazon EC2 Auto Scaling 使用者指南*》中的「[Amazon EC2 Auto Scaling 的步進和簡單擴展政策](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html)」。

## 主控台存取
<a name="step-scaling-console-access"></a>

主控台對可擴展資源的檢視、新增、更新或移除步進擴展政策的存取，視您所使用的資源而定。如需詳細資訊，請參閱[AWS 服務 您可以搭配 Application Auto Scaling 使用](integrated-services-list.md)。

# 使用 建立 Application Auto Scaling 的步驟擴展政策 AWS CLI
<a name="create-step-scaling-policy-cli"></a>

此範例使用 AWS CLI 命令來建立 Amazon ECS 服務的步進擴展政策。對於不同的可擴展性目標，請在 中指定其命名空間`--service-namespace`、在 中指定其可擴展性維度`--scalable-dimension`，以及在 中指定其資源 ID`--resource-id`。

使用 時 AWS CLI，請記住您的命令會在為設定檔 AWS 區域 設定的 中執行。如果您想在不同區域中執行命令，則可變更設定檔的預設區域，或搭配 `--region` 參數使用命令。

**Topics**
+ [步驟 1：註冊可擴展的目標](#step-scaling-register-scalable-target)
+ [步驟 2：建立步驟擴展政策](#create-step-scaling-policy)
+ [步驟 3：建立叫用擴展政策的警示](#step-scaling-create-alarm)

## 步驟 1：註冊可擴展的目標
<a name="step-scaling-register-scalable-target"></a>

如果您尚未註冊可擴展的目標，請註冊。使用 [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) 命令，將目標服務中的特定資源註冊為可擴展的目標。下列範例向 Application Auto Scaling 註冊 Amazon ECS 服務。Application Auto Scaling 可擴展的任務數量下限為 2 個任務，上限為 10 個任務。將每個*使用者輸入預留位置*替換為自己的資訊。

**Linux、macOS 或 Unix**

```
aws application-autoscaling register-scalable-target --service-namespace ecs \
  --scalable-dimension ecs:service:DesiredCount \
  --resource-id service/my-cluster/my-service \
  --min-capacity 2 --max-capacity 10
```

**Windows**

```
aws application-autoscaling register-scalable-target --service-namespace ecs ^
  --scalable-dimension ecs:service:DesiredCount ^
  --resource-id service/my-cluster/my-service ^
  --min-capacity 2 --max-capacity 10
```

**Output**  
如果成功，此命令會傳回可擴展目標的 ARN。以下為範例輸出。

```
{
    "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
```

## 步驟 2：建立步驟擴展政策
<a name="create-step-scaling-policy"></a>

若要為可擴展的目標建立步驟擴展政策，您可以使用下列範例來協助您開始使用。

------
#### [ Scale out ]

**建立橫向擴展的步驟擴展政策 （增加容量）**

1. 使用下列`cat`命令，將步進擴展政策組態儲存在主目錄中名為 `config.json`的 JSON 檔案中。以下是調整類型為 的範例組態`PercentChangeInCapacity`，可根據下列步驟調整 （假設 CloudWatch 警示閾值為 70) 來增加可擴展目標的容量：
   + 當指標的值大於或等於 70 但小於 85 時，將容量增加 10%
   + 當指標的值大於或等於 85 但小於 95 時，將容量增加 20%
   + 當指標的值大於或等於 95 時，將容量增加 30%

   ```
   $ cat ~/config.json
   {
     "AdjustmentType": "PercentChangeInCapacity",
     "MetricAggregationType": "Average",
     "Cooldown": 60,
     "MinAdjustmentMagnitude": 1,
     "StepAdjustments": [ 
       {
         "MetricIntervalLowerBound": 0.0,
         "MetricIntervalUpperBound": 15.0,
         "ScalingAdjustment": 10
       },
       {
         "MetricIntervalLowerBound": 15.0,
         "MetricIntervalUpperBound": 25.0,
         "ScalingAdjustment": 20
       },
       {
         "MetricIntervalLowerBound": 25.0,
         "ScalingAdjustment": 30
       }
     ]
   }
   ```

   如需詳細資訊，請參閱 *Application Auto Scaling * API 參考中的 [StepScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html)。

1. 使用以下 [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) 命令並指定您建立的 `config.json` 檔案，建立名為 `my-step-scaling-policy` 的擴展政策。

   **Linux、macOS 或 Unix**

   ```
   aws application-autoscaling put-scaling-policy --service-namespace ecs \
     --scalable-dimension ecs:service:DesiredCount \
     --resource-id service/my-cluster/my-service \
     --policy-name my-step-scaling-policy --policy-type StepScaling \
     --step-scaling-policy-configuration file://config.json
   ```

   **Windows**

   ```
   aws application-autoscaling put-scaling-policy --service-namespace ecs ^
     --scalable-dimension ecs:service:DesiredCount ^
     --resource-id service/my-cluster/my-service ^
     --policy-name my-step-scaling-policy --policy-type StepScaling ^
     --step-scaling-policy-configuration file://config.json
   ```

**Output**  
該輸出包含 ARN，其作用為政策的唯一名稱。您需要它來為您的政策建立 CloudWatch 警示。以下為範例輸出。

   ```
   {
       "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:resource/ecs/service/my-cluster/my-service:policyName/my-step-scaling-policy"
   }
   ```

------
#### [ Scale in ]

**為縮減建立步進擴展政策 （減少容量）**

1. 使用下列`cat`命令，將步進擴展政策組態儲存在主目錄中名為 `config.json`的 JSON 檔案中。以下是調整類型為 的範例組態`ChangeInCapacity`，可根據下列步驟調整 （假設 CloudWatch 警示閾值為 50) 來減少可擴展目標的容量：
   + 當指標的值小於或等於 50 但大於 40 時，將容量減少 1
   + 當指標的值小於或等於 40 但大於 30 時，將容量減少 2
   + 當指標的值小於或等於 30 時，將容量減少 3

   ```
   $ cat ~/config.json
   {
     "AdjustmentType": "ChangeInCapacity",
     "MetricAggregationType": "Average",
     "Cooldown": 60,
     "StepAdjustments": [ 
       {
         "MetricIntervalUpperBound": 0.0,
         "MetricIntervalLowerBound": -10.0,
         "ScalingAdjustment": -1
       },
       {
         "MetricIntervalUpperBound": -10.0,
         "MetricIntervalLowerBound": -20.0,
         "ScalingAdjustment": -2
       },
       {
         "MetricIntervalUpperBound": -20.0,
         "ScalingAdjustment": -3
       }
     ]
   }
   ```

   如需詳細資訊，請參閱 *Application Auto Scaling * API 參考中的 [StepScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html)。

1. 使用以下 [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) 命令並指定您建立的 `config.json` 檔案，建立名為 `my-step-scaling-policy` 的擴展政策。

   **Linux、macOS 或 Unix**

   ```
   aws application-autoscaling put-scaling-policy --service-namespace ecs \
     --scalable-dimension ecs:service:DesiredCount \
     --resource-id service/my-cluster/my-service \
     --policy-name my-step-scaling-policy --policy-type StepScaling \
     --step-scaling-policy-configuration file://config.json
   ```

   **Windows**

   ```
   aws application-autoscaling put-scaling-policy --service-namespace ecs ^
     --scalable-dimension ecs:service:DesiredCount ^
     --resource-id service/my-cluster/my-service ^
     --policy-name my-step-scaling-policy --policy-type StepScaling ^
     --step-scaling-policy-configuration file://config.json
   ```

**Output**  
該輸出包含 ARN，其作用為政策的唯一名稱。您需要此 ARN 才能為您的政策建立 CloudWatch 警示。以下為範例輸出。

   ```
   {
       "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:resource/ecs/service/my-cluster/my-service:policyName/my-step-scaling-policy"
   }
   ```

------

## 步驟 3：建立叫用擴展政策的警示
<a name="step-scaling-create-alarm"></a>

最後，使用以下 CloudWatch [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html) 命令建立警示，以搭配步驟擴展政策使用。此範例將根據平均 CPU 使用率觸發警示。如果該警示至少連續兩次在 60 秒的評估期間達到閾值 70%，其將設定成處於 ALARM 狀態。若要指定不同的 CloudWatch 指標或使用您自己的自訂指標，請以 `--metric-name` 指定名稱，以 `--namespace` 指定命名空間。

**Linux、macOS 或 Unix**

```
aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service \
  --metric-name CPUUtilization --namespace AWS/ECS --statistic Average \
  --period 60 --evaluation-periods 2 --threshold 70 \
  --comparison-operator GreaterThanOrEqualToThreshold \
  --dimensions Name=ClusterName,Value=default Name=ServiceName,Value=sample-app-service \
  --alarm-actions PolicyARN
```

**Windows**

```
aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service ^
  --metric-name CPUUtilization --namespace AWS/ECS --statistic Average ^
  --period 60 --evaluation-periods 2 --threshold 70 ^
  --comparison-operator GreaterThanOrEqualToThreshold ^
  --dimensions Name=ClusterName,Value=default Name=ServiceName,Value=sample-app-service ^
  --alarm-actions PolicyARN
```

# 使用 描述 Application Auto Scaling 的步驟擴展政策 AWS CLI
<a name="describe-step-scaling-policy"></a>

您可以使用 [describe-scaling-policies](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scaling-policies.html) 命令來描述服務命名空間的所有擴展政策。下列範例說明所有 Amazon ECS 服務的所有擴展政策。若要針對特定 Amazon ECS 服務列出它們，請僅新增 `--resource-id`選項。

```
aws application-autoscaling describe-scaling-policies --service-namespace ecs
```

使用 `--query` 參數可將結果篩選為僅包含步驟擴展政策。如需 `query` 語法的詳細資訊，請參閱《AWS Command Line Interface 使用者指南》**中的[從 AWS CLI控制命令輸出](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output.html)。

**Linux、macOS 或 Unix**

```
aws application-autoscaling describe-scaling-policies --service-namespace ecs \
  --query 'ScalingPolicies[?PolicyType==`StepScaling`]'
```

**Windows**

```
aws application-autoscaling describe-scaling-policies --service-namespace ecs ^
  --query "ScalingPolicies[?PolicyType==`StepScaling`]"
```

**Output**  
以下為範例輸出。

```
[
    {
        "PolicyARN": "PolicyARN",
        "StepScalingPolicyConfiguration": {
            "MetricAggregationType": "Average",
            "Cooldown": 60,
            "StepAdjustments": [
                {
                    "MetricIntervalLowerBound": 0.0,
                    "MetricIntervalUpperBound": 15.0,
                    "ScalingAdjustment": 1
                },
                {
                    "MetricIntervalLowerBound": 15.0,
                    "MetricIntervalUpperBound": 25.0,
                    "ScalingAdjustment": 2
                },
                {
                    "MetricIntervalLowerBound": 25.0,
                    "ScalingAdjustment": 3
                }
            ],
            "AdjustmentType": "ChangeInCapacity"
        },
        "PolicyType": "StepScaling",
        "ResourceId": "service/my-cluster/my-service",
        "ServiceNamespace": "ecs",
        "Alarms": [
            {
                "AlarmName": "Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service",
                "AlarmARN": "arn:aws:cloudwatch:region:012345678910:alarm:Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service"
            }
        ],
        "PolicyName": "my-step-scaling-policy",
        "ScalableDimension": "ecs:service:DesiredCount",
        "CreationTime": 1515024099.901
    }
]
```

# 使用 刪除 Application Auto Scaling 的步驟擴展政策 AWS CLI
<a name="delete-step-scaling-policy"></a>

當您不再需要步驟擴展政策時，可以將其刪除。若要同時刪除擴展政策和相關聯的 CloudWatch 警示，請完成下列任務。

**刪除擴展政策**  
使用 [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scaling-policy.html) 命令。

**Linux、macOS 或 Unix**

```
aws application-autoscaling delete-scaling-policy --service-namespace ecs \
  --scalable-dimension ecs:service:DesiredCount \
  --resource-id service/my-cluster/my-service \
  --policy-name my-step-scaling-policy
```

**Windows**

```
aws application-autoscaling delete-scaling-policy --service-namespace ecs ^
  --scalable-dimension ecs:service:DesiredCount ^
  --resource-id service/my-cluster/my-service ^
  --policy-name my-step-scaling-policy
```

**刪除 CloudWatch 警示**  
使用 [delete-alarms](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/delete-alarms.html) 命令。您可以同時刪除一或多個警示。例如，使用下列命令來刪除 `Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service` 和 `Step-Scaling-AlarmLow-ECS:service/my-cluster/my-service` 警示。

```
aws cloudwatch delete-alarms --alarm-name Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service Step-Scaling-AlarmLow-ECS:service/my-cluster/my-service
```