

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

# 維持​ 為 Amazon Aurora​ 資料庫叢集
<a name="USER_UpgradeDBInstance.Maintenance"></a>

Amazon RDS 會定期在 Amazon RDS 資源上執行維護。下列主題說明這些維護動作，以及如何套用這些動作。

## 資料庫叢集維護更新概觀
<a name="USER_UpgradeDBInstance.Maintenance.Overview"></a>

維護通常涉及更新資料庫叢集中的以下資源：
+ 基礎硬體
+ 基礎作業系統 (OS)
+ 資料庫引擎版本

作業系統更新大多是因為安全性問題。建議您盡快執行這些動作。如需作業系統更新的詳細資訊，請參閱 [Aurora 資料庫叢集的作業系統更新](#Aurora_OS_updates)。

**Topics**
+ [維護更新期間的離線資源](#USER_UpgradeDBInstance.Maintenance.Overview.offline)
+ [延遲資料庫執行個體和資料庫叢集修改](#USER_UpgradeDBInstance.Maintenance.Overview.Deferred)
+ [DescribePendingMaintenanceActions API 的最終一致性](#USER_UpgradeDBInstance.Maintenance.Overview.eventual-consistency)

### 維護更新期間的離線資源
<a name="USER_UpgradeDBInstance.Maintenance.Overview.offline"></a>

進行某些維護項目時，Amazon RDS 需要將您的資料庫叢集短暫離線。需要資源離線的維護項目包括必要的作業系統或資料庫修補。所需的修補程式僅會針對與安全性和執行個體可靠性相關的修補程式自動安排。這類修補不常發生，通常每隔幾個月進行一次。維護僅需片刻的時間即可完成。

### 延遲資料庫執行個體和資料庫叢集修改
<a name="USER_UpgradeDBInstance.Maintenance.Overview.Deferred"></a>

您已選擇不立即套用的延遲資料庫叢集與執行個體修改，將會在下一次維護時段套用。例如，您可以選擇在維護時段變更資料庫執行個體類別或叢集或資料庫參數群組。您使用**待定重新開機**設定所指定的這類修改不會顯示在**待定維護**清單中。如需修改資料庫叢集的詳細資訊，請參閱[修改 Amazon Aurora 資料庫叢集](Aurora.Modifying.md)。

若要查看下一個維護時段待定的修改，請使用 [describe-db-clusters](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/describe-db-clusters.html) AWS CLI 命令並檢查 `PendingModifiedValues` 欄位。

### DescribePendingMaintenanceActions API 的最終一致性
<a name="USER_UpgradeDBInstance.Maintenance.Overview.eventual-consistency"></a>

Amazon RDS `DescribePendingMaintenanceActions` API 遵循最終一致性模式。這表示 `DescribePendingMaintenanceActions` 命令的結果可能不會立即顯示在所有後續 RDS 命令中。當您在使用先前的 API 命令後立即使用 `DescribePendingMaintenanceActions` 時，請記住這一點。

最終一致性可能會影響您管理維護更新的方式。例如，如果您執行 `ApplyPendingMaintenanceActions` 命令來更新資料庫叢集的資料庫引擎版本，它最終會顯示在 `DescribePendingMaintenanceActions` 中。在此案例中，`DescribePendingMaintenanceActions` 可能會顯示未套用維護動作，即使實際上已套用。

若要管理最終一致性，您可以執行下列操作：
+ 在您執行命令來修改資料庫叢集之前，請先確認其狀態。使用指數退避演算法執行適當的 `DescribePendingMaintenanceActions` 命令，以確保您有足夠的時間讓上一個命令透過系統傳播。若要這樣做，請重複執行 `DescribePendingMaintenanceActions` 命令，從幾秒鐘的等待時間開始，然後逐漸增加到五分鐘的等待時間。
+ 在後續命令之間增加等待時間，即使 `DescribePendingMaintenanceActions` 命令傳回準確的回應。從幾秒鐘的等待時間開始套用指數退避演算法，並逐漸增加到大約五分鐘的等待時間。

## 檢視待處理維護更新
<a name="USER_UpgradeDBInstance.Maintenance.Viewing"></a>

使用 RDS 主控台 AWS CLI、 或 RDS API，檢視您的資料庫叢集是否可使用維護更新。若有可用的更新，Amazon RDS 主控台就會在資料庫叢集的**維護**欄中表示，如下圖所示。

![\[維護動作可供使用，並將在下一個維護時段套用。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/offlinepatchavailable.png)


如果資料庫叢集沒有可用的維護更新，欄的值就會是 **none (無)**。

如果資料庫叢集有可用的維護更新，就可能是以下的欄值：
+ **必要** – 維護動作將套用至資源，無法無限期延遲。
+ **available (可用)** – 維護動作可用，但不會自動套用至資源。您可手動套用。
+ **next window (下個時段)** – 維護動作會在下個維護時段中套用到資源。
+ **進行中** – 維護動作正在套用至資源。

如有更新可用，您可執行下列操作之一：
+ 如果維護值為**下個時段**，請由**動作**選擇**延遲升級**以延遲維護動作。如果維護動作已經啟動，則無法延遲維護動作。
+ 立即套用維護動作。
+ 在下一個維護時段期間套用維護動作。
+ 不採取動作。

**使用 採取動作 AWS 管理主控台**

1. 選擇資料庫執行個體或叢集，以顯示其詳細資訊。

1. 選擇 **Maintenance & backups (維護和備份)**。待處理維護動作隨即顯示。

1. 選擇要採取的動作，然後選擇何時套用。

![\[Aurora 資料庫執行個體的待處理維護項目。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/pending_maintenance_aurora_instance.png)


維護時段決定等待中的操作何時開始，但不限制這些操作的總執行時間。維護操作不保證在維護時段結束之前完成，可能持續到超過指定的結束時間。如需詳細資訊，請參閱[Amazon RDS 維護時段](#Concepts.DBMaintenance)。

您也可以執行 [describe-pending-maintenance-actions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-pending-maintenance-actions.html) AWS CLI 命令，檢視資料庫叢集是否有可用的維護更新。

如需套用維護更新的詳細資訊，請參閱 [將更新套用至資料庫叢集](#USER_UpgradeDBInstance.OSUpgrades)。

### Amazon Aurora 的維護動作
<a name="maintenance-actions-aurora"></a>

下列維護動作適用於 Aurora 資料庫叢集：
+ `os-upgrade` – 使用滾動升級更新資料庫叢集中所有資料庫執行個體的作業系統。如需詳細資訊，請參閱[Aurora 資料庫叢集的作業系統更新](#Aurora_OS_updates)。
+ `system-update` – 修補 Aurora PostgreSQL 的資料庫引擎。

下列維護動作適用於 Aurora 資料庫執行個體：
+ `ca-certificate-rotation` – 更新資料庫執行個體的 Amazon RDS 憑證授權機構憑證。
+ `hardware-maintenance` – 對資料庫執行個體的基礎硬體執行維護。
+ `system-update` – 更新資料庫執行個體的作業系統。

## 選擇 Aurora MySQL 維護更新的頻率
<a name="Aurora.Maintenance.LTS"></a>

您可以控制各個資料庫叢集經常或很少進行 Aurora MySQL 升級。最佳選擇依據您的 Aurora MySQL 使用情形以及在 Aurora 上執行的應用程式優先順序而定。如需不需經常更新的 Aurora MySQL 長期穩定性 (LTS) 版本的詳細資訊，請參閱 [Aurora MySQL 長期支援 (LTS) 版本](AuroraMySQL.Update.SpecialVersions.md#AuroraMySQL.Updates.LTS)。

 如果符合以下部分或所有條件，您或許可以選擇很少升級 Aurora MySQL 叢集：
+  每次 Aurora MySQL 資料庫引擎更新時，您的應用程式測試週期都需要較長的時間。
+  您有許多資料庫叢集或許多應用程式皆執行於相同的 Aurora MySQL 版本。您偏好同時升級所有資料庫叢集和關聯的應用程式。
+  您可以同時使用 Aurora MySQL 和 RDS for MySQL。您偏好維持 Aurora MySQL 叢集和 RDS for MySQL 資料庫執行個體與相同層級的 MySQL 相容。
+  您的 Aurora MySQL 應用程式已在生產環境或者是商業關鍵的。除了極少發生的關鍵修補程式之外，您無法承擔為了升級而停機所帶來的後果。
+  您的 Aurora MySQL 應用程式並未受到後續 Aurora MySQL 版本所解決的效能問題或功能差距的限制。

 如果前述因素適用於您的情況，您可以限制 Aurora MySQL 資料庫叢集的強制升級次數。若要這麼做，請在建立或升級資料庫叢集時，選擇所謂「長期支援」(LTS) 的特定 Aurora MySQL 版本。這麼做可大幅減少資料庫叢集的升級週期、測試週期，以及升級相關停機的次數。

 如果符合以下部分或所有條件，您或許可以選擇經常升級 Aurora MySQL 叢集：
+  您應用程式的測試週期很直接且簡短。
+  您的應用程式尚處於開發階段。
+  您的資料庫環境使用各種 Aurora MySQL 版本，或 Aurora MySQL 和 RDS for MySQL 版本。每個 Aurora MySQL 叢集皆各有其升級週期。
+  您正在等待特定效能或功能提升，然後才要增加 Aurora MySQL 的使用量。

 如果上述因素適用於您的情況，您可讓 Aurora 更頻繁地套用重要的升級。若要這樣做，請將 Aurora MySQL 資料庫叢集升級至比 LTS 版本更新的 Aurora MySQL 版本。這麼做可讓您更快地取得最新的效能提升、錯誤修正和功能。

## Amazon RDS 維護時段
<a name="Concepts.DBMaintenance"></a>

維護時段是每週套用任何系統變更的時間間隔。每個資料庫叢集都有每週維護時段。維護時段是控制何時進行修改及軟體修補的時機。如需調整維護時段的詳細資訊，請參閱 [調整偏好的資料庫叢集維護時段](#AdjustingTheMaintenanceWindow.Aurora)。

套用維護作業的期間，RDS 會使用資料庫叢集上的部分資源。您可能會發現，該操作對效能會造成些許影響。在極少數情況下，資料庫執行個體需要執行異地同步備份容錯移轉，才能完成維護更新作業。

若在特定某週排定維護事件，系統將在指定的 30 分鐘維護時段內啟動該事件。此外，多數維護事件也能在 30 分鐘的維護時段內完成，但較大型的維護事件可能需要 30 分鐘以上才能完成。資料庫叢集停止時，維護時段會暫停。

30 分鐘的維護時段是從每個區域之 8 小時時段內隨機選取的。若您在資料庫叢集建立期間，沒有指定維護時段，則 RDS 會在一週內隨機選取一天，並指派 30 分鐘的維護時段。

下表顯示指派 AWS 區域 預設維護時段的每個時段的時段。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html)

**Topics**
+ [調整偏好的資料庫叢集維護時段](#AdjustingTheMaintenanceWindow.Aurora)

### 調整偏好的資料庫叢集維護時段
<a name="AdjustingTheMaintenanceWindow.Aurora"></a>

Aurora 資料庫叢集的維護時段應落在使用量最低的時間，因此可能需要不時進行調整。這段時間內，只有套用的更新需要停機時，資料庫叢集才會無法使用。停機是完成必要更新所需的最短時間。

**注意**  
執行資料庫引擎升級作業時，Amazon Aurora 會管理資料庫叢集的偏好維護時段，而非個別執行個體的維護時段。

#### 主控台
<a name="AdjustingTheMaintenanceWindow.Aurora.CON"></a>

**調整偏好的資料庫叢集維護時段**

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

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇資料庫叢集，以變更其維護時段。

1. 選擇 **Modify (修改)**。

1. 在 **Maintenance (維護)** 區段中，更新維護時段。

1. 選擇 **Continue (繼續)**。

   在確認頁面上，檢閱您的變更。

1. 若要立即將變更套用至維護時段，請在 **Schedule of modifications (修改排程)** 區段中選擇 **Immediately (立即)**。

1. 選擇 **Modify cluster** (修改叢集)，以儲存變更。

   或者，選擇 **Back (上一步)** 以編輯變更，或是選擇 **Cancel (取消)** 以取消變更。

#### AWS CLI
<a name="AdjustingTheMaintenanceWindow.Aurora.CLI"></a>

若要調整偏好的資料庫叢集維護時段，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)命令搭配下列參數：
+ `--db-cluster-identifier`
+ `--preferred-maintenance-window`

**Example**  
以下程式碼範例將維護時段設為星期二早上 4:00–4:30 UTC。  
針對 Linux、macOS 或 Unix：  

```
aws rds modify-db-cluster \
--db-cluster-identifier my-cluster \
--preferred-maintenance-window Tue:04:00-Tue:04:30
```
在 Windows 中：  

```
aws rds modify-db-cluster ^
--db-cluster-identifier my-cluster ^
--preferred-maintenance-window Tue:04:00-Tue:04:30
```

#### RDS API
<a name="AdjustingTheMaintenanceWindow.Aurora.API"></a>

若要調整偏好的資料庫叢集維護時段，請使用 Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) API 操作，並搭配下列參數：
+ `DBClusterIdentifier`
+ `PreferredMaintenanceWindow`

## 將更新套用至資料庫叢集
<a name="USER_UpgradeDBInstance.OSUpgrades"></a>

透過 Amazon RDS，即可自行選擇套用維護操作的時機。您可以使用 AWS 管理主控台 AWS CLI或 RDS API 來決定 Amazon RDS 何時套用更新。

### 主控台
<a name="USER_UpgradeDBInstance.OSUpgrades.Console"></a>

**管理資料庫叢集的更新內容​**

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

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇具有必要更新的資料庫叢集。

1. 針對 **Actions** (動作)，選擇下列其中一項：
   + **立即修補**
   + **在下一個時段修補**
**注意**  
如果您選擇**在下一個時段修補**，但稍後想要延遲更新，則可以選擇**延遲升級**。如果維護動作已經啟動，則無法延遲維護動作。  
若要取消維護動作，請修改資料庫執行個體並停用 **Auto minor version upgrade (自動次要版本升級)**。

### AWS CLI
<a name="USER_UpgradeDBInstance.OSUpgrades.CLI"></a>

若要將待定更新套用至資料庫叢集，請使用 [apply-pending-maintenance-action](https://docs.aws.amazon.com/cli/latest/reference/rds/apply-pending-maintenance-action.html) AWS CLI 命令。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws rds apply-pending-maintenance-action \
    --resource-identifier arn:aws:rds:us-west-2:001234567890:db:mysql-db \
    --apply-action system-update \
    --opt-in-type immediate
```
在 Windows 中：  

```
aws rds apply-pending-maintenance-action ^
    --resource-identifier arn:aws:rds:us-west-2:001234567890:db:mysql-db ^
    --apply-action system-update ^
    --opt-in-type immediate
```

**注意**  
若要延期維護動作，請指定 `undo-opt-in` 的 `--opt-in-type`。如果維護動作已經啟動，則無法指定 `undo-opt-in` 的 `--opt-in-type`。  
若要取消維護動作，請執行 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI 命令並指定 `--no-auto-minor-version-upgrade`。

若要傳回至少有一個待處理更新的資源清單，請使用 [describe-pending-maintenance-actions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-pending-maintenance-actions.html) AWS CLI 命令。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws rds describe-pending-maintenance-actions \
    --resource-identifier arn:aws:rds:us-west-2:001234567890:db:mysql-db
```
在 Windows 中：  

```
aws rds describe-pending-maintenance-actions ^
    --resource-identifier arn:aws:rds:us-west-2:001234567890:db:mysql-db
```

您也可以指定 `describe-pending-maintenance-actions` AWS CLI 命令的 `--filters` 參數，以傳回資料庫叢集的資源清單。`--filters` 命令的格式為：`Name=filter-name,Value=resource-id,...`。

以下為篩選條件中，`Name` 參數可接受的值：
+ `db-instance-id` – 可接受資料庫執行個體識別符或 Amazon Resource Name (ARN) 的清單。在系統所傳回的資料庫執行個體待處理維護動作清單中，只會包含以這些識別符或 ARN 識別的項目。
+ `db-cluster-id` – 可接受資料庫叢集識別符或 Amazon Aurora ARN 的清單。在系統所傳回的資料庫叢集待處理維護動作清單中，只會包含以這些識別符或 ARN 識別的項目。

例如，下方範例將傳回 `sample-cluster1` 與 `sample-cluster2` 資料庫叢集的待處理維護動作。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws rds describe-pending-maintenance-actions \
	--filters Name=db-cluster-id,Values=sample-cluster1,sample-cluster2
```
在 Windows 中：  

```
aws rds describe-pending-maintenance-actions ^
	--filters Name=db-cluster-id,Values=sample-cluster1,sample-cluster2
```

### RDS API
<a name="USER_UpgradeDBInstance.OSUpgrades.API"></a>

若要將更新內容套用至資料庫叢集，請呼叫 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ApplyPendingMaintenanceAction.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ApplyPendingMaintenanceAction.html) 操作。

若要傳回至少具有一項待處理更新的資源清單，請呼叫 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribePendingMaintenanceActions.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribePendingMaintenanceActions.html) 操作。

## Aurora 資料庫叢集的自動次要版本升級
<a name="Aurora.Maintenance.AMVU"></a>

**自動次要版本升級**設定會指定 Aurora 是否自動將升級套用至資料庫叢集。這些升級包括新次要版本，其中包含其他功能，以及含有錯誤修正的修補程式。

自動次要版本升級會定期將資料庫更新為最新的資料庫引擎版本。不過，升級不一定包含最新的資料庫引擎版本。如果您需要在特定時間將資料庫維持在特定版本上，建議您根據所需的排程手動升級至所需的資料庫版本。如果發生重大安全問題或版本達到終止支援的日期，Amazon Aurora 可能會套用次要版本升級，即使您尚未啟用**自動次要版本升級**選項，也是如此。如需詳細資訊，請參閱適用於您特定資料庫引擎的升級文件。

請參閱 [升級 Aurora MySQL 資料庫叢集的次要版本或修補程式層級](AuroraMySQL.Updates.Patching.md) 和 [執行次要版本升級](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md)。

**注意**  
Aurora 全球資料庫不支援自動次要版本升級。

此設定預設為開啟。針對每個新資料庫叢集，為此設定選擇適當的值。此值基於其重要性、預期的生命週期，以及每次升級之後所執行的驗證測試量。

如需了解如何關開啟或關閉**自動次要版本升級**設定，請參閱下列內容：
+ [啟用 Aurora 資料庫叢集的自動次要版本升級](#aurora-amvu-cluster)
+ [啟用 Aurora 資料庫叢集中別資料庫執行個體的自動次要版本升級](#aurora-amvu-instance)

**重要**  
對於新的和現有的資料庫叢集，強烈建議將此設定套用至資料庫叢集，而不是個別套用至叢集中的資料庫執行個體。如果叢集中的任何資料庫執行個體已關閉此設定，則資料庫叢集不會自動升級。

下表顯示在叢集和執行個體層級套用**自動次要版本升級**設定時的運作方式。


| Action | 叢集設定 | 執行個體設定 | 叢集是否自動升級？ | 
| --- | --- | --- | --- | 
| 您在資料庫叢集上將其設定為 True。 | True | 對於所有新的和現有的執行個體為 False | 是 | 
| 您在資料庫叢集上將其設定為 False。 | False | 對於所有新的和現有的執行個體為 False | 否 | 
|  其先前在資料庫叢集上設定為 True。 您至少在一個資料庫執行個體上將其設定為 False。  | 變更為 False | 對於一或多個執行個體為 False | 否 | 
|  其先前在資料庫叢集上設定為 False。 您至少在一個資料庫執行個體 (但並非所有執行個體) 上將其設定為 False。  | False | 對於一或多個執行個體 (但並非所有執行個體) 為 True | 否 | 
|  其先前在資料庫叢集上設定為 False。 您在所有資料庫執行個體上將其設定為 True。  | 變更為 True | 對於所有執行個體為 True | 是 | 

自動次要版本升級會透過 Amazon RDS 資料庫叢集事件預先傳達，該事件的類別為 `maintenance`，而其 ID 為 `RDS-EVENT-0156`。如需詳細資訊，請參閱[Aurora 的 Amazon RDS 事件類別和事件訊息](USER_Events.Messages.md)。

自動升級會在維護時段期間進行。如果資料庫叢集中的個別資料庫執行個體維護時段不同於叢集維護時段，則會優先考慮叢集維護時段。

如需 Aurora PostgreSQL 引擎更新的詳細資訊，請參閱 [Amazon Aurora PostgreSQL 的資料庫引擎更新](AuroraPostgreSQL.Updates.md)。

如需有關 Aurora MySQL 的 **Auto minor version upgrade (自動次要版本升級)** 設定的詳細資訊，請參閱 [啟用次要 Aurora MySQL 版本之間的自動升級](AuroraMySQL.Updates.AMVU.md)。如需 Aurora MySQL 引擎更新的一般資訊，請參閱 [Amazon Aurora MySQL 的資料庫引擎更新Amazon Aurora MySQL 的長期支援 (LTS) 和 Beta 版](AuroraMySQL.Updates.md)。

**Topics**

### 啟用 Aurora 資料庫叢集的自動次要版本升級
<a name="aurora-amvu-cluster"></a>

依循 [使用主控台、CLI 和 API 修改資料庫叢集](Aurora.Modifying.md#Aurora.Modifying.Cluster) 中的一般程序。

**主控台**  
在**修改資料庫叢集**頁面的**維護**區段，選擇**啟用自動次要版本升級**的核取方塊。

**AWS CLI**  
呼叫 [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) AWS CLI 命令。為 `--db-cluster-identifier` 選項指定資料庫叢集的名稱，為 `true` 選項選擇 `--auto-minor-version-upgrade`。或者，指定 `--apply-immediately` 選項以立即為資料庫叢集啟用此設定。

**RDS API**  
呼叫 [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) API 操作，並為 `DBClusterIdentifier` 參數指定您資料庫叢集的名稱，並為 `AutoMinorVersionUpgrade` 參數指定 `true`。或者，將 `ApplyImmediately` 參數設定為 `true` 以立即為資料庫叢集啟用此設定。

### 啟用 Aurora 資料庫叢集中別資料庫執行個體的自動次要版本升級
<a name="aurora-amvu-instance"></a>

依循 [修改資料庫叢集中的資料庫執行個體](Aurora.Modifying.md#Aurora.Modifying.Instance) 中的一般程序。

**主控台**  
在**修改資料庫執行個體**頁面的**維護**區段，選擇**啟用自動次要版本升級**的核取方塊。

**AWS CLI**  
呼叫 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI 命令。為 `--db-instance-identifier` 選項指定資料庫執行個體的名稱，為 `true` 選項選擇 `--auto-minor-version-upgrade`。或者，指定 `--apply-immediately` 選項以立即為資料庫執行個體啟用此設定。為叢集中的每個資料庫執行個體各自執行 `modify-db-instance` 命令。

**RDS API**  
呼叫 [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) API 操作，並為 `DBInstanceIdentifier` 參數指定您資料庫叢集的名稱，並為 `AutoMinorVersionUpgrade` 參數指定 `true`。或者，將 `ApplyImmediately` 參數設定為 `true` 以立即為資料庫執行個體啟用此設定。為叢集中的每個資料庫執行個體各別呼叫 `ModifyDBInstance` 操作。

您可以使用下列 CLI 命令來檢查 Aurora MySQL 叢集中所有資料庫執行個體的`AutoMinorVersionUpgrade`升級設定狀態。

```
aws rds describe-db-instances \
  --query '*[].{DBClusterIdentifier:DBClusterIdentifier,DBInstanceIdentifier:DBInstanceIdentifier,AutoMinorVersionUpgrade:AutoMinorVersionUpgrade}'
```

此命令會產生類似下列的輸出：

```
[
  {
      "DBInstanceIdentifier": "db-writer-instance",
      "DBClusterIdentifier": "my-db-cluster-57",
      "AutoMinorVersionUpgrade": true
  },
  {
      "DBInstanceIdentifier": "db-reader-instance1",
      "DBClusterIdentifier": "my-db-cluster-57",
      "AutoMinorVersionUpgrade": false
  },
  {
      "DBInstanceIdentifier": "db-writer-instance2",
      "DBClusterIdentifier": "my-db-cluster-80",
      "AutoMinorVersionUpgrade": true
  },
... output omitted ...
```

在此範例中，資料庫叢集 `my-db-cluster-57` 的**啟用自動次要版本升級**已關閉，因為叢集的其中一個資料庫執行個體已關閉此功能。

## Aurora 資料庫叢集的作業系統更新
<a name="Aurora_OS_updates"></a>

Aurora MySQL 和 Aurora PostgreSQL 資料庫叢集中的資料庫執行個體偶爾需要作業系統更新。Amazon RDS 將作業系統升級至較新版本，以改善資料庫效能和客戶的整體安全狀態。通常，更新大約需要 10 分鐘。作業系統更新不會變更資料庫執行個體的資料庫引擎版本或資料庫執行個體類別。

作業系統更新有兩種類型，其區別在於待定維護動作的描述：
+ **作業系統發佈升級** - 用來遷移至最新受支援的 Amazon Linux 主要版本。其描述為 `New Operating System upgrade is available`。
+ **作業系統修補程式** - 用來套用各種安全性修正程式，有時可改善資料庫效能。其描述為 `New Operating System patch is available`。

作業系統更新可以是選用的，也可以是強制的。
+ 可以隨時套用**選用更新**。雖然這些更新是選用的，但建議您定期套用更新，讓 RDS 機群保持最新狀態。RDS *不會*自動套用這些更新。

  若要在新的選用作業系統修補程式可用時收到通知，您可以訂閱安全修補事件類別中的 [RDS-EVENT-0230](USER_Events.Messages.md#RDS-EVENT-0230)。如需訂閱 RDS 事件的相關資訊，請參閱 [訂閱 Amazon RDS 事件通知](USER_Events.Subscribing.md)。
**注意**  
`RDS-EVENT-0230` 不適用於作業系統發行版升級。
+ 需要**強制更新**，而且我們會在強制更新之前傳送通知。通知可能包含到期日。請規劃將更新排程在此到期日之前。在指定的到期日之後，Amazon RDS 會在您指派的其中一個維護時段期間自動將資料庫執行個體的作業系統升級至最新版本。

  作業系統發行版升級是必要的。

**注意**  
為了履行各種合規義務，可能需要將所有選用與強制更新保持為最新的狀態。建議您在維護時段期間定期套用 RDS 提供的所有更新。

對於 Aurora 資料庫叢集，您可以使用**叢集層級**維護選項來執行作業系統 (OS) 更新。在主控台中選取資料庫叢集的名稱時，在**維護與備份**索引標籤中尋找執行叢集層級更新的選項，或在 AWS CLI中使用 `os-upgrade` 命令。此方法透過滾動升級來保持讀取可用性，一次自動將更新套用至一些讀取器資料庫執行個體。為了防止多個容錯移轉並減少不必要的停機時間，Aurora 最後會升級寫入器資料庫執行個體。

叢集層級作業系統更新會在您為叢集指定的維護時段期間進行。這可確保整個叢集的協調更新。

為了回溯相容性，Aurora 也會維護**執行個體層級**維護選項。不過，我們建議您改用叢集層級更新。如果您必須使用執行個體層級更新，請先更新資料庫叢集中的讀取器資料庫執行個體，然後更新寫入器資料庫執行個體。如果您同時更新讀取器和寫入器執行個體，會增加容錯移轉相關停機時間的機會。在主控台中選取資料庫執行個體的名稱時，在**維護與備份**索引標籤中尋找執行執行個體層級更新的選項，或在 AWS CLI中使用 `system-update` 命令。

執行個體層級作業系統更新會在您為每個個別執行個體指定的維護時段期間進行。例如，如果叢集和兩個讀取器執行個體的維護時段不同，則叢集層級的作業系統更新會與叢集維護時段一致。



您可以使用 AWS 管理主控台 或 AWS CLI 來取得作業系統升級類型的相關資訊。

### 主控台
<a name="Aurora_OS_updates.pending-maintenance.CON"></a>

**使用 取得更新資訊 AWS 管理主控台**

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

1. 在導覽窗格中，選擇 **Databases** (資料庫)，然後選取資料庫執行個體。

1. 選擇 **Maintenance & backups (維護和備份)**。

1. 在**待定維護**區段中，尋找作業系統更新，然後檢查**描述**值。

下圖顯示具有可用作業系統修補程式之寫入器資料庫執行個體的資料庫叢集。

![\[叢集層級作業系統修補程式。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-cluster-minor.png)


![\[執行個體層級作業系統修補程式。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-writer-minor.png)


下圖顯示具有寫入器資料庫執行個體和讀取器資料庫執行個體的資料庫叢集。寫入器執行個體有可用的強制性作業系統升級。讀取器執行個體有可用的作業系統修補程式。

![\[叢集層級作業系統發行版升級。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-cluster-major.png)


![\[寫入器執行個體作業系統發行版升級。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-writer-major.png)


![\[讀取器執行個體作業系統修補程式。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-reader-minor.png)


### AWS CLI
<a name="Aurora_OS_updates.pending-maintenance.CLI"></a>

若要從 取得更新資訊 AWS CLI，請使用 [describe-pending-maintenance-actions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-pending-maintenance-actions.html) 命令。

```
aws rds describe-pending-maintenance-actions
```

以下輸出顯示資料庫叢集和資料庫執行個體的作業系統發行版升級。

```
{
  "PendingMaintenanceActions": [
    {
      "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:cluster:t3",
      "PendingMaintenanceActionDetails": [
        {
          "Action": "os-upgrade",
          "Description": "New Operating System upgrade is available"
        }
      ]
    },
    {
      "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:db:t3-instance1",
      "PendingMaintenanceActionDetails": [
        {
          "Action": "system-update",
          "Description": "New Operating System upgrade is available"
        }
      ]
    },
  ]
}
```

以下輸出顯示資料庫執行個體的作業系統修補程式。

```
{
  "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:db:mydb2",
  "PendingMaintenanceActionDetails": [
    {
      "Action": "system-update",
      "Description": "New Operating System patch is available"
    }
  ]
}
```

### 作業系統更新的可用性
<a name="Aurora_OS_updates.availability"></a>

作業系統更新為資料庫引擎版本與資料庫執行個體類別所特有。因此，資料庫執行個體會在不同的時間接收或需要更新。當根據引擎版本和執行個體類別，有作業系統更新可供您的資料庫執行個體使用時，該更新會出現在主控台中。它也可以透過執行 [describe-pending-maintenance-actions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-pending-maintenance-actions.html) AWS CLI 命令或呼叫 [DescribePendingMaintenanceActions](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribePendingMaintenanceActions.html) RDS API 操作來檢視。如果執行個體有可用的更新，您可以依照[將更新套用至資料庫叢集](#USER_UpgradeDBInstance.OSUpgrades)中的指示更新作業系統。

# 使用 AWS Organizations 升級推展政策進行自動次要版本升級
<a name="Aurora.Maintenance.AMVU.UpgradeRollout"></a>

Aurora 支援 AWS Organizations 升級推展政策，以管理跨多個資料庫資源和 的自動次要版本升級 AWS 帳戶。此政策可協助您透過下列方式為叢集實作受控升級策略：

**升級推展政策的運作方式**

當新的次要引擎版本符合自動升級的資格時，政策會根據定義的順序控制升級順序：
+ 標示為 【first】 （通常是開發環境） 的資源在其維護時段內符合升級資格。
+ 在指定的製作時間之後，標記為 【秒】 的資源即符合資格。
+ 在另一個指定的製作時間之後，標記為 【最後】 （通常為生產環境） 的資源即符合資格。
+ 透過 AWS 運作狀態通知監控升級進度。

您可以透過以下方式定義升級訂單：
+ 帳戶層級政策 – 套用至指定帳戶中的所有合格資源。
+ 資源標籤 – 根據標籤套用至特定資源。

**注意**  
未設定升級政策或從政策中排除的資源會自動收到 【秒】 的升級順序。

**先決條件**
+ 您的 AWS 帳戶 必須屬於 Organizations 中已啟用升級推展政策的組織
+ 為您的叢集啟用自動次要版本升級
+ 升級推展政策不需要標籤。如果您想要定義不同環境的特定升級訂單 （例如開發、測試、QA、生產），您可以使用標籤。如果您未在政策中包含標籤設定，則該政策下的所有資源都會遵循預設升級順序。對於 Aurora 資源，只有叢集層級標籤會用於升級推展政策，即使您的標籤是在執行個體層級定義。

**標記您的 資源**

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

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇您要標記的叢集。

1. 選擇**動作**，然後選擇**管理標籤**。

1. 選擇 **Add tag (新增標籤)**。

1. 輸入您的標籤金鑰 （例如 'Environment') 和值 （例如 'Development')

1. 選擇**新增標籤**，然後選擇**儲存**。

您也可以使用 新增標籤 AWS CLI：

```
aws rds add-tags-to-resource \
    --resource-name arn:aws:rds:region:account-number:cluster:cluster-name \
    --tags Key=Environment,Value=Development
```

## 升級順序和階段
<a name="Aurora.Maintenance.AMVU.UpgradeRollout.OrderPhases"></a>

升級推展政策支援三個升級訂單：
+ 【first】 - 通常用於開發或測試環境
+ 【秒】 - 通常用於 QA 環境。如果未特別設定政策，資源的預設順序
+ 【最後】 - 通常保留給生產環境

當新的次要引擎版本符合自動升級的資格時：
+ 具有升級順序 【第一個】 的資源在其設定的維護時段內符合升級資格。
+ 在指定的製作時間之後，具有升級順序 【秒】 的資源在其維護時段內符合升級資格。
+ 在另一個指定的製作時間之後，具有升級順序 【最後】 的資源在其維護時段內符合升級資格。
+ 自動次要版本升級行銷活動會在升級訂單 【first】、【second】 和 【last】 的所有合格資源升級後，或行銷活動達到排定的結束日期後關閉，以先到者為準。

**注意**  
所有自動次要版本升級都會在每個叢集設定的維護時段期間執行，以將對應用程式的潛在影響降至最低。

## 可觀測性
<a name="Aurora.Maintenance.AMVU.UpgradeRollout.Observability"></a>

### AWS 運作狀態和監控
<a name="Aurora.Maintenance.AMVU.UpgradeRollout.Observability.Health"></a>

您會收到 AWS 運作狀態通知：
+ 開始自動次要版本升級行銷活動之前
+ 在每個階段轉換之間協助追蹤和監控升級進度
+ 進度更新顯示 AWS 運作狀態主控台中機群升級的資源數量

Amazon RDS 事件通知：
+ 已啟用自動次要版本升級之資源的通知，包括：
  + 當您的資源根據升級順序 (【first】、【second】 或 【last】) 符合升級資格時
  + 維護時段期間的排程升級時間表
  + 個別資料庫升級開始和完成狀態
+ 透過 Amazon EventBridge0 訂閱這些事件以進行自動化監控

### 考量事項
<a name="Aurora.Maintenance.AMVU.UpgradeRollout.Observability.Considerations"></a>

要記住的一些考量事項：
+ 此政策適用於所有未來的自動次要版本升級行銷活動，包括在作用中行銷活動期間所做的政策變更。
+ 如果您加入進行中的升級行銷活動，您的資源會遵循目前執行中的升級順序，而且不會等待設定的政策。
+ 未設定升級政策或從政策中排除的資源會自動收到 【秒】 的升級順序。
+ 此政策會在升級階段之間提供驗證期間，再繼續進行下一個階段。
+ 政策或資源標籤的變更需要時間傳播，才能套用新的升級順序。
+ 此政策僅適用於已啟用自動次要版本升級的 Aurora 資源。
+ 如果您在 環境中偵測到問題，您可以關閉後續環境的自動次要版本升級，或使用驗證期間來解決問題，然後再繼續進行下一個升級訂單。

如需標記 RDS 資源的詳細資訊，請參閱 [標記 Amazon Aurora 和 Amazon RDS 資源](USER_Tagging.md)。如需設定和使用升級推展政策的詳細說明，請參閱*AWS Organizations 《 使用者指南*》中的 [ 入門 AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started.html)。