

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

# 使用 Amazon Aurora 自動擴展搭配 Aurora 複本
<a name="Aurora.Integrating.AutoScaling"></a>

為了滿足您的連線和工作負載要求，Aurora Auto Scaling 會動態調整為針對 Aurora 資料庫叢集佈建的 Aurora 複本 (讀取器資料庫執行個體) 數量。Aurora Auto Scaling 可同時適用於 Aurora MySQL 和 Aurora PostgreSQL。Aurora Auto Scaling 可讓您的 Aurora 資料庫叢集處理突然增加的連線或工作負載。當連線或工作負載減少時，Aurora Auto Scaling 會移除不必要的 Aurora 複本，讓您不需為了用不到的已佈建資料庫執行個體支付費用。

您定義並套用 Aurora 資料庫叢集的規模調整政策。*擴展政策*定義了 Aurora Auto Scaling 能管理的 Aurora 複本數量下限和上限。Aurora Auto Scaling 會根據政策調整 Aurora 複本的數量，使用 Amazon CloudWatch 指標和目標值來判斷配合實際的工作負載要增加或減少複本數量。

**注意**  
Aurora 自動擴展不適用於寫入器資料庫執行個體上的工作負載。Aurora 自動擴展僅在讀取器執行個體上協助處理工作負載。

您可以使用 根據預先定義的指標AWS 管理主控台來套用擴展政策。或者，您可以使用 AWS CLI或 Aurora Auto Scaling API，根據預先定義的或自訂指標來套用擴展政策。

**Topics**
+ [開始之前](#Aurora.Integrating.AutoScaling.BYB)
+ [Aurora Auto Scaling 政策](#Aurora.Integrating.AutoScaling.Concepts)
+ [資料庫執行個體 ID 和標記](#Aurora.Integrating.AutoScaling.Concepts.Tagging)
+ [Aurora Auto Scaling 和績效詳情](#aurora-auto-scaling-pi)

## 開始之前
<a name="Aurora.Integrating.AutoScaling.BYB"></a>

在使用 Aurora Auto Scaling 擴展 Aurora 資料庫叢集前，您必須先建立一個具有主要 (寫入器) 資料庫執行個體的 Aurora 資料庫叢集。如需建立 Aurora 資料庫叢集的詳細資訊，請參閱[建立 Amazon Aurora 資料庫叢集](Aurora.CreateInstance.md)。

只有當資料庫叢集處於可使用狀態，Aurora Auto Scaling 才會擴展資料庫叢集。

當 Aurora Auto Scaling 新增 Aurora 複本時，新 Aurora 複本的資料庫執行個體會和主要執行個體所使用的相同。如需資料庫執行個體類別的詳細資訊，請參閱[Amazon Aurora 資料庫執行個體類別](Concepts.DBInstanceClass.md)。同時，新 Aurora 複本的提升層優先等級將設為最後 (即預設的 15)。這表示在容錯移轉期間，優先等級較高的複本 (例如手動建立的複本) 將會優先提升。如需更多詳細資訊，請參閱 [Aurora 資料庫叢集的容錯能力](Concepts.AuroraHighAvailability.md#Aurora.Managing.FaultTolerance)。

此外，Aurora Auto Scaling 只會移除它建立的 Aurora 複本。

若要得益於 Aurora Auto Scaling，您的應用程式必須支援連線到新的 Aurora 複本。若要這樣做，建議使用 Aurora 讀取器端點。您可以使用 AWSJDBC 驅動程式等驅動程式。如需詳細資訊，請參閱[連接至 Amazon Aurora 資料庫叢集](Aurora.Connecting.md)。

**注意**  
Aurora 全域資料庫目前不支援次要資料庫叢集的 Aurora Auto Scaling。

## Aurora Auto Scaling 政策
<a name="Aurora.Integrating.AutoScaling.Concepts"></a>

Aurora Auto Scaling 使用規模調整政策來調整 Aurora 資料庫叢集中 Aurora 複本的數量。Aurora Auto Scaling 有下列元件：
+ 服務連結角色
+ 目標指標
+ 容量下限和上限
+ 冷卻時間

**Topics**
+ [服務連結角色](#Aurora.Integrating.AutoScaling.Concepts.SLR)
+ [目標指標](#Aurora.Integrating.AutoScaling.Concepts.TargetMetric)
+ [容量下限和上限](#Aurora.Integrating.AutoScaling.Concepts.Capacity)
+ [冷卻時間](#Aurora.Integrating.AutoScaling.Concepts.Cooldown)
+ [啟用或停用規模縮減活動](#Aurora.Integrating.AutoScaling.Concepts.ScaleIn)
+ [新增、編輯或刪除自動擴展政策](#Aurora.Integrating.AutoScaling.Concepts.AddEditDelete)

### 服務連結角色
<a name="Aurora.Integrating.AutoScaling.Concepts.SLR"></a>

Aurora Auto Scaling 使用 `AWSServiceRoleForApplicationAutoScaling_RDSCluster` 服務連結角色。如需詳細資訊，請參閱《Application Auto Scaling 使用者指南》**中的[適用於 Application Auto Scaling 的服務連結角色](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html)。

### 目標指標
<a name="Aurora.Integrating.AutoScaling.Concepts.TargetMetric"></a>

在這種類型的政策中，會在目標追蹤規模調整政策的設定中指定預先定義的或自訂的指標以及指標的目標值。Aurora Auto Scaling 會建立和管理可觸發規模調整政策的 CloudWatch 警示，並根據指標和目標值來計算規模調整。規模調整政策會視需要新增或移除 Aurora 複本，以讓指標保持在等於或接近指定目標值。除了讓指標保持在接近目標值之外，目標追蹤規模調整政策也會配合因為變更工作負載所造成的指標波動而進行調整。這樣的政策也能將資料庫叢集可用 Aurora 複本數量的快速波動減到最低。

例如，規模調整政策使用預先定義的平均 CPU 使用率指標。這個政策可以讓 CPU 使用率維持在 (或接近) 指定的使用率百分比，像是百分之 40。

**注意**  
 在每個 Aurora 資料庫叢集上，您只能為每一個目標指標建立一個 Auto Scaling 政策。

當您設定 Aurora 自動擴展時，目標指標值會計算為叢集中所有讀取器執行個體的平均值。執行此計算的方式如下：
+ 包括 Aurora 叢集中的所有讀取器執行個體，無論它們是由自動擴展管理或手動新增。
+ 包括與自訂端點相關聯的執行個體。自訂端點不會影響目標指標的計算。
+ 不包含叢集的寫入器執行個體。

指標衍生自使用下列維度的 CloudWatch：
+ `DBClusterIdentifier`
+ `Role=READER`

例如，請考慮具有下列設定的 Aurora MySQL 叢集：
+ **手動執行個體 (非由自動擴展控制)**：
  + 具有 50% CPU 使用率的寫入器
  + 具有 90% CPU 使用率的讀取器 1 (自訂端點：`custom-reader-1`)
  + 具有 90% CPU 使用率的讀取器 2 (自訂端點：`custom-reader-2`)
+ **自動擴展執行個體**：
  + 具有 10% CPU 使用率的讀取器 3 (使用自動擴展新增)

在此案例中，自動擴展政策的目標指標計算方式如下：

```
Target metric = (CPU utilization of reader 1 + reader 2 + reader 3) / total number of readers

Target metric = (90 + 90 + 10) / 3 = 63.33%
```

自動擴展政策會使用此值來評估是否要根據定義的閾值縮減或橫向擴充。

考慮下列各項：
+ 雖然自訂端點會判斷流量如何路由至特定讀取器，但不會將讀取器排除在指標計算之外。
+ 手動執行個體一律包含在目標指標計算中。
+ 為了避免意外擴展行為，請確定自動擴展組態會考慮叢集中的所有讀取器執行個體。
+ 如果叢集沒有讀取器，則不會計算指標，且自動擴展政策警示會保持非作用中狀態。若要讓自動擴展政策有效運作，至少必須隨時有一個讀取器。

### 容量下限和上限
<a name="Aurora.Integrating.AutoScaling.Concepts.Capacity"></a>

您可以指定將由 Application Auto Scaling 管理的 Aurora 複本數量上限。此值必須介於 0 – 15，而且必須大於或等於 Aurora 複本數量下限的指定值。

您也可以指定將由 Application Auto Scaling 管理的 Aurora 複本數量下限。此值必須介於 0 – 15，而且必須小於或等於 Aurora 複本數量上限的指定值。

至少必須有一個讀取器資料庫執行個體，Aurora 自動擴展才能運作。如果資料庫叢集沒有讀取器執行個體，且您將最小容量設定為 0，則 Aurora 自動擴展將無法運作。

**注意**  
Aurora 資料庫叢集需設定容量下限和上限。指定的值會套用至與該 Aurora 資料庫叢集相關聯的所有政策。

### 冷卻時間
<a name="Aurora.Integrating.AutoScaling.Concepts.Cooldown"></a>

藉由新增冷卻時間 (會影響 Aurora 資料庫叢集的擴展和縮減)，您可以調整目標追蹤規模調整政策的靈活性。冷卻時間會封鎖後續的擴展或縮減請求，直到冷卻時間到期。這些封鎖會拖慢規模縮減請求刪除 Aurora 資料庫叢集中 Aurora 複本的動作，以及拖慢規模擴展請求建立 Aurora 複本的動作。

您可以指定下列其中一種冷卻時間：
+ 縮減動作會減少 Aurora 資料庫叢集中 Aurora 複本的數量。規模縮減冷卻時間會指定在規模縮減動作完成之後，另一個規模縮減動作可以再開始執行之前的等待時間長度 (秒)。
+ 擴增動作會增加 Aurora 資料庫叢集中 Aurora 複本的數量。規模擴展冷卻時間會指定在規模擴展動作完成之後，可以再開始執行另一個規模擴展動作之前的等待時間長度 (秒)。
**注意**  
如果後續橫向擴展請求的 Aurora 複本數量大於第一個請求，則會忽略橫向擴展冷卻時間。

如果您未設定縮減或橫向擴展的冷卻時間，則每個的預設值為 300 秒。

### 啟用或停用規模縮減活動
<a name="Aurora.Integrating.AutoScaling.Concepts.ScaleIn"></a>

您可以啟用或停用政策的規模縮減動作。啟用規模縮減動作可讓規模調整政策刪除 Aurora 複本。規模縮減動作啟用時，規模調整政策中的規模縮減冷卻時間會套用至規模縮減動作。停用規模縮減動作可防止規模調整政策刪除 Aurora 複本。

**注意**  
規模擴展動作會一律啟用，如此規模調整政策即可根據需要來建立 Aurora 複本。

### 新增、編輯或刪除自動擴展政策
<a name="Aurora.Integrating.AutoScaling.Concepts.AddEditDelete"></a>

您可以使用 或 Application Auto Scaling API 新增AWS 管理主控台AWS CLI、編輯或刪除自動擴展政策。如需新增、編輯或刪除自動擴展政策的詳細資訊，請參閱下列各節。
+ [將自動擴展政策新增至 Amazon Aurora 資料庫叢集](Aurora.Integrating.AutoScaling.Add.md)
+ [編輯 Amazon Aurora 資料庫叢集的自動擴展政策](Aurora.Integrating.AutoScaling.Edit.md)
+ [從 Amazon Aurora 資料庫叢集刪除自動擴展政策](Aurora.Integrating.AutoScaling.Delete.md)

## 資料庫執行個體 ID 和標記
<a name="Aurora.Integrating.AutoScaling.Concepts.Tagging"></a>

當 Aurora Auto Scaling 新增複本時，其資料庫執行個體 ID 會以 `application-autoscaling-` 為前綴，例如 `application-autoscaling-61aabbcc-4e2f-4c65-b620-ab7421abc123`。

下列標籤會自動新增至資料庫執行個體。您可以在資料庫執行個體詳細資訊頁面的 **Tags (標籤)** 頁籤上檢視。


| 標籤 | Value | 
| --- | --- | 
| application-autoscaling:resourceId | cluster:mynewcluster-cluster | 

如需 Amazon RDS 資源標籤的詳細資訊，請參閱[標記 Amazon Aurora 和 Amazon RDS 資源](USER_Tagging.md)。

## Aurora Auto Scaling 和績效詳情
<a name="aurora-auto-scaling-pi"></a>

和任何 Aurora 讀取器資料庫執行個體一樣，您可以使用績效詳情來監控 Aurora Auto Scaling 新增的複本。

如需了解如何使用績效詳情來監控 Aurora 資料庫叢集，請參閱 [在 Amazon Aurora 上使用績效詳情監控資料庫負載](USER_PerfInsights.md)。