

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

# 使用 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`的 。