

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

# 定義擴展政策
<a name="AutoScaling-Scaling-Defining-Policy-API"></a>

目標追踪規模調整政策組態由 JSON 區塊表示，其中定義了指標和目標值。您可以將規模調整政策的組態設定，儲存為文字檔案中的 JSON 區塊。叫用 AWS CLI 或 Application Auto Scaling API 時，您可以使用該文字檔案。如需政策組態語法的詳細資訊，請參閱「Application Auto Scaling API 參考」中的 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)。

您可使用下列選項來定義目標追蹤擴展政策的組態：

**Topics**
+ [使用預先定義的指標](#AutoScaling-Scaling-Predefined-Metric)
+ [使用自訂的指標](#AutoScaling-Scaling-Custom-Metric)
+ [使用冷卻時間](#AutoScaling-Scaling-Cooldown-periods)

## 使用預先定義的指標
<a name="AutoScaling-Scaling-Predefined-Metric"></a>

透過使用預先定義的指標，您可以快速定義 ElastiCache for Valkey 和 Redis OSS 叢集的目標追蹤擴展政策，該叢集可與 ElastiCache Auto Scaling 中的目標追蹤搭配使用。

目前，ElastiCache 在 NodeGroup Auto Scaling 中支援下列預先定義的指標：
+ **ElastiCachePrimaryEngineCPUUtilization** – 叢集中所有主節點 CloudWatch 中`EngineCPUUtilization`指標的平均值。
+ **ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage** – 叢集中所有主節點 CloudWatch 中`DatabaseMemoryUsageCountedForEvictPercentage`指標的平均值。
+ **ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage** – CloudWatch 中叢集中所有主節點的`ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage`指標平均值。

如需 `EngineCPUUtilization`、`DatabaseMemoryUsageCountedForEvictPercentage` 和 `DatabaseCapacityUsageCountedForEvictPercentage` 指標的詳細資訊，請參閱 [使用 CloudWatch 指標監控用量](CacheMetrics.md)。若要在您的規模調整政策中使用預先定義的指標，請為規模調整政策建立目標追蹤組態設定。此組態設定必須加入用於預先定義指標的 `PredefinedMetricSpecification`，以及用於該指標目標值的 TargetValue。

**Example**  
下列範例說明 ElastiCache for Valkey 和 Redis OSS 叢集目標追蹤擴展的典型政策組態。在此組態中，`ElastiCachePrimaryEngineCPUUtilization`預先定義的指標會根據叢集中所有主節點的平均 CPU 使用率 40% 來調整叢集。  

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    }
}
```

## 使用自訂的指標
<a name="AutoScaling-Scaling-Custom-Metric"></a>

 使用自訂的指標，您可以定義目標追蹤規模調整政策來滿足您的自訂需求。您可以根據隨擴展比例變更的任何 ElastiCache 指標來定義自訂指標。並非所有 ElastiCache 指標都適用於目標追蹤。指標必須是有效的使用率指標，而且能夠表示執行個體的忙碌程度。指標的值必須根據叢集中碎片的數量依比例增加或減少。若要使用指標資料來依比例水平擴展或縮減碎片的數量，這樣子成比例的增加或減少是必要的。

**Example**  
下列的範例描述規模調整政策的目標追蹤組態設定。在此組態中，自訂指標會根據名為 之叢集中所有碎片的平均 CPU 使用率 50% 來調整 ElastiCache for Redis OSS 叢集`my-db-cluster`。

```
{
    "TargetValue": 50,
    "CustomizedMetricSpecification":
    {
        "MetricName": "EngineCPUUtilization",
        "Namespace": "AWS/ElastiCache",
        "Dimensions": [
            {
                "Name": "ReplicationGroup","Value": "my-db-cluster"
            },
            {
                "Name": "Role","Value": "PRIMARY"
            }
        ],
        "Statistic": "Average",
        "Unit": "Percent"
    }
}
```

## 使用冷卻時間
<a name="AutoScaling-Scaling-Cooldown-periods"></a>

您可以指定一個值 (單位為秒)，讓 `ScaleOutCooldown` 新增冷卻時間以便水平擴展您的叢集。同樣的，您可以指定一個值 (單位為秒)，讓 `ScaleInCooldown` 新增冷卻時間以便為您的叢集縮減規模。如需政策組態語法的詳細資訊，請參閱「Application Auto Scaling API 參考」中的 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)。

 下列的範例描述規模調整政策的目標追蹤組態設定。在此組態中，`ElastiCachePrimaryEngineCPUUtilization`預先定義的 指標用於根據該叢集中所有主節點的平均 CPU 使用率 40% 來調整 ElastiCache for Redis OSS 叢集。這個組態設定分別提供了 10 分鐘的規模縮減冷卻時間，和 5 分鐘的橫向擴展冷卻時間。

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    },
    "ScaleInCooldown": 600,
    "ScaleOutCooldown": 300
}
```