

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

# 使用 Amazon Keyspaces 自動擴展自動管理輸送量容量
<a name="autoscaling"></a>

許多資料庫工作負載本來就具週期性或難以事先預測。例如，假設有一個社交聯網應用程式，其中大部分使用者會在日間活動。資料庫必須能夠處理日間活動，但夜間則不需要同樣多的輸送量。

另一個範例則是正被快速採用的新行動遊戲應用程式。如果遊戲變得非常熱門，它可能會超過可用的資料庫資源，這會導致效能緩慢和客戶不滿意。這類工作負載通常需要手動介入來擴展或縮減資料庫資源，以回應不斷改變的用量。

Amazon Keyspaces （適用於 Apache Cassandra) 透過自動調整輸送量容量以回應實際的應用程式流量，協助您有效率地佈建可變工作負載的輸送量容量。Amazon Keyspaces 使用 Application Auto Scaling 服務來代表您增加和減少資料表的讀取和寫入容量。如需 Application Auto Scaling 的詳細資訊，請參閱 [Application Auto Scaling 使用者指南](https://docs.aws.amazon.com/autoscaling/application/userguide/)。

**注意**  
若要快速開始使用 Amazon Keyspaces 自動擴展，請參閱 [設定和更新 Amazon Keyspaces 自動擴展政策](autoscaling.configure.md)。

## Amazon Keyspaces 自動擴展的運作方式
<a name="autoscaling.HowItWorks"></a>

下圖提供 Amazon Keyspaces 自動擴展如何管理資料表輸送量容量的高階概觀。

![\[圖表顯示使用者變更 Amazon Keyspaces 資料表時涉及的不同服務。服務是 Amazon CloudWatch、Amazon SNS 和 Application Auto Scaling，它會發出 ALTER TABLE 陳述式，根據使用者的讀取或寫入用量來變更容量。\]](http://docs.aws.amazon.com/zh_tw/keyspaces/latest/devguide/images/keyspaces_auto-scaling.png)




若要啟用資料表的自動擴展，您可以建立*擴展政策*。擴展政策會指定您要擴展讀取容量或寫入容量 (或兩者)，也可為資料表或索引指定最大與最小佈建容量單位設定。

擴展政策也會定義*目標使用率*。「目標使用率」是在某時間點使用容量單位與佈建容量單位的比率，以百分比表示。自動擴展使用*目標追蹤*演算法來向上或向下調整資料表的佈建輸送量，以回應實際工作負載。這樣做可讓實際容量使用率保持在或接近您的目標使用率。

 您可以為讀取和寫入容量設定介於 20% 到 90% 之間的自動擴展目標使用率值。預設目標使用率為 70%。如果您的流量快速變更，而且您希望容量更快開始擴展，您可以將目標使用率設定為較低的百分比。如果您的應用程式流量變更較慢，而且您想要降低輸送量成本，您也可以將目標使用率設定為較高的速率。

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

當您建立擴展政策時，Amazon Keyspaces 會代表您建立兩對 Amazon CloudWatch 警示。每對代表佈建和耗用輸送量設定的上限和下限。當資料表的實際使用率持續一段時間偏離您的目標使用率時，就會觸發這些 CloudWatch 警示。若要進一步了解 Amazon CloudWatch，請參閱 [Amazon CloudWatch 使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。

觸發其中一個 CloudWatch 警示時，Amazon Simple Notification Service (Amazon SNS) 會傳送通知給您 （如果您已啟用）。CloudWatch 警示接著會叫用 Application Auto Scaling 來評估您的擴展政策。這反過來會向 Amazon Keyspaces 發出 Alter Table 請求，以視需要向上或向下調整資料表的佈建容量。若要進一步了解 Amazon SNS 通知，請參閱[設定 Amazon SNS 通知](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)。

Amazon Keyspaces 會透過增加 （或減少） 資料表的佈建輸送量容量來處理 Alter Table 請求，以便接近您的目標使用率。

**注意**  
Amazon Keyspaces Auto Scaling 只有在實際工作負載持續幾分鐘保持升高 （或降低） 時，才會修改佈建的輸送量設定。 目標追蹤演算法會設法長期將目標使用率保持在或接近您選擇的值。資料表的內建高載容量可應付短期遽增的活動。

## 自動擴展如何適用於多區域資料表
<a name="autoscaling.multi-region"></a>

為了確保佈建容量模式中 AWS 區域 所有多區域資料表的所有資料表複本一律有足夠的讀取和寫入容量，建議您設定 Amazon Keyspaces 自動擴展。

當您在佈建模式中使用多區域資料表搭配自動擴展時，您無法停用單一資料表複本的自動擴展。但是，您可以調整不同區域的資料表讀取自動擴展設定。例如，您可以為複寫資料表的每個區域指定不同的讀取容量和讀取自動擴展設定。

您在指定區域中為資料表複本設定的讀取自動擴展設定會覆寫資料表的一般自動擴展設定。不過，寫入容量必須在所有資料表複本中保持同步，以確保有足夠的容量可在所有區域中複寫寫入。

Amazon Keyspaces 自動擴展 AWS 區域 會根據該區域中的用量，獨立更新每個 中資料表的佈建容量。因此，當自動擴展處於作用中狀態時，多區域資料表的每個區域中的佈建容量可能會不同。

您可以使用 Amazon Keyspaces 主控台 AWS CLI、API 或 CQL 來設定多區域資料表及其複本的自動擴展設定。如需如何建立和更新多區域資料表自動擴展設定的詳細資訊，請參閱 [更新 Amazon Keyspaces 中多區域資料表的佈建容量和自動擴展設定](tables-mrr-autoscaling.md)。

**注意**  
如果您針對多區域資料表使用自動擴展，則必須一律使用 Amazon Keyspaces API 操作來設定自動擴展設定。如果您直接使用 Application Auto Scaling API 操作來設定自動擴展設定，則無法指定多區域資料表 AWS 區域 的 。這可能會導致不支援的組態。

## 使用須知
<a name="autoscaling.UsageNotes"></a>

開始使用 Amazon Keyspaces 自動擴展之前，您應該注意下列事項：
+ Amazon Keyspaces 自動擴展不適用於中東 （阿拉伯聯合大公國） 區域。
+ Amazon Keyspaces 自動擴展可根據您的擴展政策，視需要增加讀取容量或寫入容量。所有 Amazon Keyspaces 配額都會保持有效，如中所述[Amazon Keyspaces 配額 （適用於 Apache Cassandra)](quotas.md)。
+ Amazon Keyspaces 自動擴展不會阻止您手動修改佈建輸送量設定。這些手動調整不會影響連接到擴展政策的任何現有 CloudWatch 警示。
+ 如果您使用主控台建立具有佈建輸送量容量的資料表，則預設會啟用 Amazon Keyspaces 自動擴展。您可以隨時修改自動擴展設定。如需詳細資訊，請參閱[關閉資料表的 Amazon Keyspaces 自動擴展](autoscaling.turnoff.md)。
+ 如果您使用 CloudFormation 建立擴展政策，您應該從 管理擴展政策， CloudFormation 以便堆疊與堆疊範本同步。如果您從 Amazon Keyspaces 變更擴展政策，則會在堆疊重設時，以 CloudFormation 堆疊範本的原始值覆寫這些政策。
+ 如果您使用 CloudTrail 監控 Amazon Keyspaces 自動擴展，您可能會在組態驗證程序中看到 Application Auto Scaling 發出的呼叫提醒。您可以使用 欄位來篩選掉這些提醒，該`invokedBy`欄位包含這些驗證檢查`application-autoscaling.amazonaws.com`的 。

# 設定和更新 Amazon Keyspaces 自動擴展政策
<a name="autoscaling.configure"></a>

您可以使用 主控台、CQL 或 AWS Command Line Interface (AWS CLI) 來設定新資料表和現有資料表的 Amazon Keyspaces 自動擴展。您也可以修改自動擴展設定或停用自動擴展。

 如需設定向內擴展和向外擴展冷卻時間等更進階的功能，建議您使用 CQL 或 AWS CLI 來管理 Amazon Keyspaces 擴展政策。

**Topics**
+ [設定 Amazon Keyspaces 自動擴展的許可](autoscaling.permissions.md)
+ [使用自動擴展建立新的資料表](autoscaling.createTable.md)
+ [在現有資料表上設定自動擴展](autoscaling.configureTable.md)
+ [檢視資料表的 Amazon Keyspaces 自動擴展組態](autoscaling.viewPolicy.md)
+ [關閉資料表的 Amazon Keyspaces 自動擴展](autoscaling.turnoff.md)
+ [在 Amazon CloudWatch 中檢視 Amazon Keyspaces 資料表的自動擴展活動](autoscaling.activity.md)

# 設定 Amazon Keyspaces 自動擴展的許可
<a name="autoscaling.permissions"></a>

若要開始使用，請確認主體具有適當的許可來建立和管理自動擴展設定。在 AWS Identity and Access Management (IAM) 中，管理 Amazon Keyspaces 擴展政策`AmazonKeyspacesFullAccess`需要 AWS 受管政策。

**重要**  
 `application-autoscaling:*` 需要 許可才能停用資料表上的自動擴展。您必須關閉資料表的自動擴展，才能將其刪除。

若要設定 Amazon Keyspaces 主控台存取和 Amazon Keyspaces 自動擴展的 IAM 使用者或角色，請新增下列政策。

**連接`AmazonKeyspacesFullAccess`政策**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在 IAM 主控台儀表板上，選擇**使用者**，然後從清單中選擇您的 IAM 使用者或角色。

1. 在 **Summary** (摘要) 頁面上，選擇 **Add permissions** (新增許可)。

1. 選擇 **Attach existing policies directly** (直接連接現有政策)。

1. 從政策清單中，選擇 **AmazonKeyspacesFullAccess**，然後選擇**下一步：檢閱**。

1. 選擇**新增許可**。

# 使用自動擴展建立新的資料表
<a name="autoscaling.createTable"></a>

當您建立新的 Amazon Keyspaces 資料表時，您可以為資料表的寫入或讀取容量自動啟用自動擴展。這可讓 Amazon Keyspaces 代表您聯絡 Application Auto Scaling，將資料表註冊為可擴展的目標，並調整佈建的寫入或讀取容量。

如需如何建立多區域資料表和為資料表複本設定不同自動擴展設定的詳細資訊，請參閱 [在 Amazon Keyspaces 中使用自動擴展的佈建模式中建立多區域資料表](tables-mrr-create-provisioned.md)。

**注意**  
Amazon Keyspaces 自動擴展需要存在可代表您執行自動擴展動作的服務連結角色 (`AWSServiceRoleForApplicationAutoScaling_CassandraTable`)。系統會自動建立此角色。如需詳細資訊，請參閱[使用 Amazon Keyspaces 的服務連結角色](using-service-linked-roles.md)。

------
#### [ Console ]

**使用主控台建立已啟用自動擴展的新資料表**

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) 開啟 Amazon Keyspaces 主控台。

1. 在導覽窗格中，選擇 **Tables** (資料表)，然後選擇 **Create table** (建立資料表)。

1. 在**資料表詳細資訊區段的建立**資料表頁面上，選取金鑰空間，並提供新資料表的名稱。 ****

1. 在**資料欄**區段中，建立資料表的結構描述。

1. 在**主索引鍵**區段中，定義資料表的主索引鍵，然後選取選用的叢集資料欄。

1. 在**資料表設定**區段中，選擇**自訂設定**。

1. 繼續**讀取/寫入容量設定**。

1. 針對**容量模式**，選擇**佈建**。

1. 在**讀取容量**區段中，確認**已自動選取擴展**。

   在此步驟中，您會選取資料表的最小和最大讀取容量單位，以及目標使用率。
   + **容量單位**下限 – 輸入資料表應隨時準備好支援的輸送量下限值。此值必須介於 1 和您帳戶的每秒最大輸送量配額之間 （預設為 40，000)。
   + **最大容量單位** – 輸入您要為資料表佈建的最大輸送量。此值必須介於 1 和您帳戶的每秒最大輸送量配額之間 （預設為 40，000)。
   + **目標使用**率 – 輸入介於 20% 到 90% 之間的目標使用率。當流量超過定義的目標使用率時，容量會自動擴展。當流量低於定義的目標時，會自動再次縮減規模。
**注意**  
若要進一步了解 帳戶的預設配額以及如何增加這些配額，請參閱 [Amazon Keyspaces 配額 （適用於 Apache Cassandra)](quotas.md)。

1. 在**寫入容量**區段中，選擇與上一個步驟中為讀取容量定義的相同設定，或手動設定容量值。

1. 選擇 **Create Table** (建立資料表)。您的資料表是使用指定的自動擴展參數建立的。

------
#### [ Cassandra Query Language (CQL) ]

**使用 CQL 使用 Amazon Keyspaces 自動擴展建立新的資料表**

若要以程式設計方式設定資料表的自動擴展設定，您可以使用包含 Amazon Keyspaces 自動擴展參數的 `AUTOSCALING_SETTINGS`陳述式。這些參數定義了指示 Amazon Keyspaces 調整資料表佈建輸送量的條件，以及要採取哪些額外的選用動作。在此範例中，您會定義 *mytable* 的自動擴展設定。

該政策包含下列元素：
+ `AUTOSCALING_SETTINGS` – 指定是否允許 Amazon Keyspaces 代表您調整輸送量容量。需要下列值：
  + `provisioned_write_capacity_autoscaling_update`:
    + `minimum_units`
    + `maximum_units`
  + `provisioned_read_capacity_autoscaling_update`:
    + `minimum_units`
    + `maximum_units`
  + `scaling_policy` – Amazon Keyspaces 支援目標追蹤政策。若要定義目標追蹤政策，請設定下列參數。
    + `target_value` – Amazon Keyspaces 自動擴展可確保耗用容量與佈建容量的比例保持在或接近此值。您能以百分比的形式定義 `target_value`。
    + `disableScaleIn`：（選用） `boolean`指定資料表`scale-in`是否已停用或已啟用的 。此參數預設為停用。若要開啟 `scale-in`，請將 `boolean`值設定為 `FALSE`。這表示會自動為您縮減資料表的容量。
    + `scale_out_cooldown` – 橫向擴展活動會增加資料表的佈建輸送量。若要為橫向擴展活動新增冷卻時間，請為 指定以秒為單位的值`scale_out_cooldown`。如果您未指定值，預設值為 0。如需目標追蹤和冷卻時間的詳細資訊，請參閱《*Application Auto Scaling * [ Scaling 使用者指南》中的目標追蹤擴展政策](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)。
    + `scale_in_cooldown` – 縮減活動可減少資料表的佈建輸送量。若要為縮減活動新增冷卻時間，請為 指定以秒為單位的值`scale_in_cooldown`。如果您未指定值，預設值為 0。如需目標追蹤和冷卻時間的詳細資訊，請參閱《*Application Auto Scaling * [ Scaling 使用者指南》中的目標追蹤擴展政策](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)。

**注意**  
為了進一步了解 `target_value` 如何運作，請假設您資料表的佈建輸送量設定為 200 個寫入容量單位。您決定為此資料表建立擴展政策，並將 `target_value` 設為 70 %。  
現在，假設您開始將寫入流量導向該資料表，那實際的寫入輸送量就會是 150 個容量單位。耗用與佈建比率現在為 (150/200)，也就是 75%。此比率超過您的目標，因此自動擴展會將佈建的寫入容量增加到 215，使得比率為 (150 / 215) 或 69.77%，`target_value`盡可能接近您的 ，但不會超過它。

對於 *mytable*，您可以將讀取和寫入容量`TargetValue`設定為 50%。Amazon Keyspaces 自動擴展會在 5–10 個容量單位的範圍內調整資料表的佈建輸送量，以便consumed-to-provisioned比率維持在 50% 或接近 50%。對於讀取容量，您可以將 `ScaleOutCooldown`和 的值設定為 `ScaleInCooldown` 60 秒。

您可以使用下列陳述式，在啟用自動擴展的情況下建立新的 Amazon Keyspaces 資料表。

```
CREATE TABLE mykeyspace.mytable(pk int, ck int, PRIMARY KEY (pk, ck))
WITH CUSTOM_PROPERTIES = {  
    'capacity_mode': {  
        'throughput_mode': 'PROVISIONED',  
        'read_capacity_units': 1,  
        'write_capacity_units': 1  
    }
} AND AUTOSCALING_SETTINGS = {
    'provisioned_write_capacity_autoscaling_update': {
        'maximum_units': 10,  
        'minimum_units': 5,  
        'scaling_policy': {
            'target_tracking_scaling_policy_configuration': {
                'target_value': 50
            }  
        }  
    },  
    'provisioned_read_capacity_autoscaling_update': {  
        'maximum_units': 10,  
        'minimum_units': 5,  
        'scaling_policy': {  
            'target_tracking_scaling_policy_configuration': {  
                'target_value': 50,
                'scale_in_cooldown': 60,  
                'scale_out_cooldown': 60
            }  
        }  
    }
};
```

------
#### [ CLI ]

**使用 建立具有 Amazon Keyspaces 自動擴展的新資料表 AWS CLI**

若要以程式設計方式設定資料表的自動擴展設定，您可以使用 `autoScalingSpecification`動作來定義 Amazon Keyspaces 自動擴展的參數。這些參數定義了指示 Amazon Keyspaces 調整資料表佈建輸送量的條件，以及要採取哪些額外的選用動作。在此範例中，您可以定義 *mytable* 的自動擴展設定。

該政策包含下列元素：
+ `autoScalingSpecification` – 指定是否允許 Amazon Keyspaces 代表您調整容量輸送量。您可以分別為讀取和寫入容量啟用自動擴展。然後，您必須為 指定下列參數`autoScalingSpecification`：
  + `writeCapacityAutoScaling` – 最大和最小寫入容量單位。
  + `readCapacityAutoScaling` – 最大和最小讀取容量單位。
  + `scalingPolicy` – Amazon Keyspaces 支援目標追蹤政策。若要定義目標追蹤政策，請設定下列參數。
    + `targetValue` – Amazon Keyspaces 自動擴展可確保耗用容量與佈建容量的比例保持在或接近此值。您能以百分比的形式定義 `targetValue`。
    + `disableScaleIn`：（選用） `boolean`指定資料表`scale-in`是否已停用或已啟用的 。此參數預設為停用。若要開啟 `scale-in`，請將 `boolean`值設定為 `FALSE`。這表示會自動為您縮減資料表的容量。
    + `scaleOutCooldown` – 橫向擴展活動會增加資料表的佈建輸送量。若要為向外擴展活動新增冷卻時間，請為 指定以秒為單位的值`ScaleOutCooldown`。預設值為 0。如需目標追蹤和冷卻期間的詳細資訊，請參閱《*Application Auto Scaling * [ Scaling 使用者指南》中的目標追蹤擴展政策](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)。
    + `scaleInCooldown` – 縮減活動可減少資料表的佈建輸送量。若要為縮減活動新增冷卻時間，請為 指定以秒為單位的值`ScaleInCooldown`。預設值為 0。如需目標追蹤和冷卻期間的詳細資訊，請參閱《*Application Auto Scaling * [ Scaling 使用者指南》中的目標追蹤擴展政策](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)。

**注意**  
為了進一步了解 `TargetValue` 如何運作，請假設您資料表的佈建輸送量設定為 200 個寫入容量單位。您決定為此資料表建立擴展政策，並將 `TargetValue` 設為 70 %。  
現在，假設您開始將寫入流量導向該資料表，那實際的寫入輸送量就會是 150 個容量單位。耗用與佈建比率現在為 (150/200)，也就是 75%。此比率超過您的目標，因此自動擴展會將佈建的寫入容量增加到 215，因此比率為 (150 / 215) 或 69.77%，`TargetValue`盡可能接近您的 ，但不會超過它。

對於 *mytable*，您可以將讀取和寫入容量`TargetValue`設定為 50%。Amazon Keyspaces 自動擴展會在 5–10 個容量單位的範圍內調整資料表的佈建輸送量，以便consumed-to-provisioned比率維持在 50% 或接近 50%。對於讀取容量，您可以將 `ScaleOutCooldown`和 的值設定為 `ScaleInCooldown` 60 秒。

建立具有複雜自動擴展設定的資料表時，從 JSON 檔案載入自動擴展設定會很有幫助。針對下列範例，您可以從 [auto-scaling.zip](samples/auto-scaling.zip) 下載範例 JSON 檔案，並擷取 `auto-scaling.json`，並記下檔案的路徑。在此範例中，JSON 檔案位於目前的 目錄中。如需不同的檔案路徑選項，請參閱[如何從檔案載入參數](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how)。

```
aws keyspaces create-table --keyspace-name mykeyspace --table-name mytable 
            \ --schema-definition 'allColumns=[{name=pk,type=int},{name=ck,type=int}],partitionKeys=[{name=pk},{name=ck}]' 
            \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 
            \ --auto-scaling-specification file://auto-scaling.json
```

------

# 在現有資料表上設定自動擴展
<a name="autoscaling.configureTable"></a>

您可以更新現有的 Amazon Keyspaces 資料表，以開啟資料表寫入或讀取容量的自動擴展。如果您要更新目前處於隨需容量模式的資料表，則必須先將資料表的容量模式變更為佈建的容量模式。

如需如何更新多區域資料表自動擴展設定的詳細資訊，請參閱 [更新 Amazon Keyspaces 中多區域資料表的佈建容量和自動擴展設定](tables-mrr-autoscaling.md)。

Amazon Keyspaces 自動擴展需要存在可代表您執行自動擴展動作的服務連結角色 (`AWSServiceRoleForApplicationAutoScaling_CassandraTable`)。系統會自動建立此角色。如需詳細資訊，請參閱[使用 Amazon Keyspaces 的服務連結角色](using-service-linked-roles.md)。

------
#### [ Console ]

**為現有資料表設定 Amazon Keyspaces 自動擴展**

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) 開啟 Amazon Keyspaces 主控台。

1. 選擇您要使用的資料表，然後前往**容量**索引標籤。

1. 在**容量設定**區段中，選擇**編輯**。

1. 在**容量模式下**，確定資料表使用**佈建容量**模式。

1. 選取**自動擴展**，並參閱 中的步驟 6 [使用自動擴展建立新的資料表](autoscaling.createTable.md)以編輯讀取和寫入容量。

1. 定義自動擴展設定時，請選擇**儲存**。

------
#### [ Cassandra Query Language (CQL) ]

**使用 CQL 設定具有 Amazon Keyspaces 自動擴展的現有資料表**

您可以使用現有 Amazon Keyspaces 資料表的 `ALTER TABLE`陳述式，為資料表的寫入或讀取容量設定自動擴展。如果您要更新目前處於隨需容量模式的資料表，您必須`capacity_mode`將 設定為已佈建。如果您的資料表已處於佈建容量模式，則可以省略此欄位。

在下列範例中， 陳述式會更新資料表 *mytable*，其處於隨需容量模式。陳述式會將資料表的容量模式變更為已啟用自動擴展的佈建模式。

寫入容量設定在 5–10 個容量單位的範圍內，目標值為 50%。讀取容量也會設定在 5–10 個容量單位的範圍內，目標值為 50%。對於讀取容量，您可以將 `scale_out_cooldown`和 的值設定為 `scale_in_cooldown` 60 秒。

```
ALTER TABLE mykeyspace.mytable
WITH CUSTOM_PROPERTIES = {  
    'capacity_mode': {  
        'throughput_mode': 'PROVISIONED',  
        'read_capacity_units': 1,  
        'write_capacity_units': 1  
    }
} AND AUTOSCALING_SETTINGS = {
    'provisioned_write_capacity_autoscaling_update': {
        'maximum_units': 10,  
        'minimum_units': 5,  
        'scaling_policy': {
            'target_tracking_scaling_policy_configuration': {
                'target_value': 50
            }  
        }  
    },
    'provisioned_read_capacity_autoscaling_update': {  
        'maximum_units': 10,  
        'minimum_units': 5,  
        'scaling_policy': {  
            'target_tracking_scaling_policy_configuration': {  
                'target_value': 50,
                'scale_in_cooldown': 60,  
                'scale_out_cooldown': 60
            }  
        }  
    }
};
```

------
#### [ CLI ]

**使用 設定具有 Amazon Keyspaces 自動擴展的現有資料表 AWS CLI**

對於現有的 Amazon Keyspaces 資料表，您可以使用 `UpdateTable`操作開啟資料表寫入或讀取容量的自動擴展。

您可以使用下列命令來開啟現有資料表的 Amazon Keyspaces 自動擴展。資料表的自動擴展設定會從 JSON 檔案載入。針對下列範例，您可以從 [auto-scaling.zip](samples/auto-scaling.zip) 下載範例 JSON 檔案，並擷取 `auto-scaling.json`，並記下檔案的路徑。在此範例中，JSON 檔案位於目前的 目錄中。如需不同的檔案路徑選項，請參閱[如何從檔案載入參數](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how)。

如需下列範例中使用之自動擴展設定的詳細資訊，請參閱 [使用自動擴展建立新的資料表](autoscaling.createTable.md)。

```
aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable 
            \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 
            \ --auto-scaling-specification file://auto-scaling.json
```

------

# 檢視資料表的 Amazon Keyspaces 自動擴展組態
<a name="autoscaling.viewPolicy"></a>

您可以使用 主控台、CQL 或 AWS CLI 來檢視和更新資料表的 Amazon Keyspaces 自動擴展設定。

------
#### [ Console ]

****

**使用主控台檢視自動擴展設定**

1. 選擇您要檢視的資料表，然後前往**容量**索引標籤。

1. 在**容量設定**區段中，選擇**編輯**。您現在可以修改**讀取容量**或**寫入容量**區段中的設定。如需這些設定的詳細資訊，請參閱 [使用自動擴展建立新的資料表](autoscaling.createTable.md)。

------
#### [ Cassandra Query Language (CQL) ]

**使用 CQL 檢視資料表的 Amazon Keyspaces 自動擴展政策**

若要檢視資料表自動擴展組態的詳細資訊，請使用下列命令。

```
SELECT * FROM system_schema_mcs.autoscaling WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';
```

此命令的輸出如下所示。

```
 keyspace_name | table_name | provisioned_read_capacity_autoscaling_update                                                                                                                                                                      | provisioned_write_capacity_autoscaling_update
---------------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 mykeyspace    | mytable    | {'minimum_units': 5, 'maximum_units': 10, 'scaling_policy': {'target_tracking_scaling_policy_configuration': {'scale_out_cooldown': 60, 'disable_scale_in': false, 'target_value': 50, 'scale_in_cooldown': 60}}} | {'minimum_units': 5, 'maximum_units': 10, 'scaling_policy': {'target_tracking_scaling_policy_configuration': {'scale_out_cooldown': 0, 'disable_scale_in': false, 'target_value': 50, 'scale_in_cooldown': 0}}}
```

------
#### [ CLI ]

**使用 檢視資料表的 Amazon Keyspaces 自動擴展政策 AWS CLI**

若要檢視資料表的自動擴展組態，您可以使用 `get-table-auto-scaling-settings`操作。下列 CLI 命令為範例。

```
aws keyspaces get-table-auto-scaling-settings --keyspace-name mykeyspace --table-name mytable
```

此命令的輸出如下所示。

```
{
    "keyspaceName": "mykeyspace",
    "tableName": "mytable",
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable",
    "autoScalingSpecification": {
        "writeCapacityAutoScaling": {
            "autoScalingDisabled": false,
            "minimumUnits": 5,
            "maximumUnits": 10,
            "scalingPolicy": {
                "targetTrackingScalingPolicyConfiguration": {
                    "disableScaleIn": false,
                    "scaleInCooldown": 0,
                    "scaleOutCooldown": 0,
                    "targetValue": 50.0
                }
            }
        },
        "readCapacityAutoScaling": {
            "autoScalingDisabled": false,
            "minimumUnits": 5,
            "maximumUnits": 10,
            "scalingPolicy": {
                "targetTrackingScalingPolicyConfiguration": {
                    "disableScaleIn": false,
                    "scaleInCooldown": 60,
                    "scaleOutCooldown": 60,
                    "targetValue": 50.0
                }
            }
        }
    }
}
```

------

# 關閉資料表的 Amazon Keyspaces 自動擴展
<a name="autoscaling.turnoff"></a>

您可以隨時關閉資料表的 Amazon Keyspaces 自動擴展。如果您不再需要擴展資料表的讀取或寫入容量，您應該考慮關閉自動擴展，以便 Amazon Keyspaces 不會繼續修改資料表的讀取或寫入容量設定。您可以使用 主控台、CQL 或 更新資料表 AWS CLI。

關閉自動擴展也會刪除代表您建立的 CloudWatch 警示。

若要刪除 Application Auto Scaling 用來存取 Amazon Keyspaces 資料表的服務連結角色，請遵循中的步驟[刪除 Amazon Keyspaces 的服務連結角色](using-service-linked-roles-app-auto-scaling.md#delete-service-linked-role-app-auto-scaling)。

**注意**  
若要刪除 Application Auto Scaling 使用的服務連結角色，您必須停用帳戶中所有資料表的自動擴展 AWS 區域。

------
#### [ Console ]

**使用主控台關閉資料表的 Amazon Keyspaces 自動擴展**

**使用 Amazon Keyspaces 主控台**

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) 開啟 Amazon Keyspaces 主控台。

1. 選擇您要更新的資料表，然後前往**容量**索引標籤。

1. 在**容量設定**區段中，選擇**編輯**。

1. 若要停用 Amazon Keyspaces 自動擴展，請清除**自動擴展**核取方塊。停用自動調整規模會將資料表取消註冊為 Application Auto Scaling 的可擴展目標。

------
#### [ Cassandra Query Language (CQL) ]

**使用 CQL 關閉資料表的 Amazon Keyspaces 自動擴展**

下列陳述式會關閉資料表 *mytable* 寫入容量的自動擴展。

```
ALTER TABLE mykeyspace.mytable
WITH AUTOSCALING_SETTINGS = {
    'provisioned_write_capacity_autoscaling_update': {
        'autoscaling_disabled': true
    }
};
```

------
#### [ CLI ]

**使用 關閉資料表的 Amazon Keyspaces 自動擴展 AWS CLI**

下列命令會關閉資料表讀取容量的自動擴展。它也會刪除代表您建立的 CloudWatch 警示。

```
aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable 
            \ --auto-scaling-specification readCapacityAutoScaling={autoScalingDisabled=true}
```

------

# 在 Amazon CloudWatch 中檢視 Amazon Keyspaces 資料表的自動擴展活動
<a name="autoscaling.activity"></a>

您可以使用 Amazon CloudWatch 來監控 Amazon Keyspaces 自動擴展如何使用 資源，這會產生有關您的用量和效能的指標。遵循 [Application Auto Scaling 使用者指南](https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html)中的步驟來建立 CloudWatch 儀表板。