

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

# 維護 Amazon DocumentDB 彈性叢集
<a name="elastic-cluster-maintenance"></a>

**Topics**
+ [檢視待定的彈性叢集維護動作](#view-elastic-cluster-maintenance)
+ [彈性叢集引擎更新](#elastic-cluster-engine-updates)
+ [彈性叢集作業系統更新](#elastic-cluster-os-updates)

Amazon DocumentDB 會定期對 Amazon DocumentDB 彈性叢集資源執行維護。維護通常涉及資料庫引擎的更新 （彈性叢集維護） 或彈性叢集的基礎作業系統 (OS 更新）。資料庫引擎更新是必要的修補程式，包括資料庫引擎的安全性修正、錯誤修正和增強功能。雖然大多數作業系統修補程式都是選用的，但如果您有一段時間未套用，則可能需要修補程式並自動套用，以維護您的安全狀態。因此，我們建議您在 Amazon DocumentDB 彈性叢集可用時立即套用作業系統更新。

資料庫引擎修補程式需要您讓 Amazon DocumentDB 彈性叢集短暫離線。一旦可用，這些修補程式會自動排程在 Amazon DocumentDB 彈性叢集的近期排程維護時段套用。

彈性叢集有自己的個別維護時段。您已選擇不立即套用的彈性叢集修改會在維護時段期間套用。根據預設，當您建立彈性叢集時，Amazon DocumentDB 會為您的彈性叢集指派維護時段。您可以在建立彈性叢集時選擇維護時段。您也可以隨時修改維護時段，使符合您的業務排程或實務。我們通常會建議您選擇對應用程式影響最低的維護時段 (例如，在晚上或週末)。

## 檢視待定的彈性叢集維護動作
<a name="view-elastic-cluster-maintenance"></a>

您可以使用 檢視您的彈性叢集是否可使用維護更新 AWS CLI。

如有更新可用，您可執行下列操作之一：
+ 延遲目前排程用於下一個維護時段的維護動作 （僅適用於作業系統修補程式）。
+ 立即套用維護動作。
+ 排程在下次的維護時段啟動維護動作。
+ 排程要在所選套用時段內啟動的維護動作。

維護時段會判斷待定的操作何時開始，但不限制這些操作的總執行時間。

使用下列 AWS CLI 操作來判斷待定的維護動作。列出所有待定的維護動作：

```
aws docdb-elastic list-pending-maintenance-actions
```

此操作的輸出如下所示 (JSON 格式）：

```
{
'ResourcePendingMaintenanceActions': [
    {
        'ResourceArn': 'string-arn',
        'PendingMaintenanceActionDetails': [
            {
                'Action': 'ENGINE_UPDATE',
                'AutoAppliedAfterDate': 'string',  
                'ForcedApplyDate': 'string', 
                'OptInStatus': 'string', 
                'CurrentApplyDate': 'string', 
                'Description': 'string'
            },
        ]
    },
],
'NextToken': 'string'
}
```

取得指定 上的待定維護動作 （如果有的話）`resourceArn`：

```
aws docdb-elastic get-pending-maintenance-action --resource-arn string-arn
```

此操作的輸出將會如下所示 (JSON 格式)。

```
{
    'ResourcePendingMaintenanceAction': {
        'ResourceArn': 'string-arn',
        'PendingMaintenanceActionDetails': [
            {
                'Action': 'ENGINE_UPDATE',
                'AutoAppliedAfterDate': 'string', 
                'ForcedApplyDate': 'string', 
                'OptInStatus': 'string', 
                'CurrentApplyDate': 'string',
                'Description': 'string'
            }
        ]
    }
}
```

參數：
+ `ResourceArn`- 套用待定維護動作之資源的 Amazon DocumentDB Amazon Resource Name (ARN)。
+ `Action`- 套用至資源的待定維護動作。

  有效值：
  + `ENGINE_UPDATE`
  + `ENGINE_UPGRADE`
  + `SECURITY_UPDATE`
  + `OS_UPDATE`
  + `MASTER_USER_PASSWORD_UPDATE`
+ `AutoAppliedAfterDate`- 此日期之後的第一個維護時段。在此情況下`NEXT_MAINTENANCE OPT_IN`會忽略 。
+ `ForcedApplyDate`- 無論維護時段為何都會套用。在此情況下`IMMEDIATE OPT_IN`， 會被忽略。
+ `OptInStatus`- 指定選擇加入請求類型的值，或復原選擇加入請求。無法復原 `IMMEDIATE` 類型的選擇使用請求。

  有效值：
  + `IMMEDIATE`- 立即套用維護動作。
  + `NEXT_MAINTENANCE`- 在資源的下一個維護時段套用維護動作。
  + `APPLY_ON`- 在指定的套用日期套用維護動作，無論資源的下一個維護時段為何。
  + `UNDO_OPT_IN`- 取消任何現有的請求`NEXT_MAINTENANCE`或`APPLY_ON`選擇加入請求。
+ `CurrentApplyDate`- 如果opt-in-type為 則會顯示`APPLY_ON`。
+ `Description`- 維護動作的選項描述。

## 彈性叢集引擎更新
<a name="elastic-cluster-engine-updates"></a>

使用 Amazon DocumentDB，您可以選擇何時套用維護操作。您可以使用 決定 Amazon DocumentDB 何時套用更新 AWS CLI。

套用待定的維護動作：

```
aws docdb-elastic apply-pending-maintenance-action 
--resource-arn string-arn
--apply-action string-enum
--opt-in-type string-enum 
[--apply-on string-date-range]
```

參數：
+ **--resource-arn**- 套用待定維護動作之資源的 Amazon DocumentDB Amazon Resource Name (ARN)。
+ **--apply-action**- 要套用至此資源的待定維護動作。

  有效值：
  + `ENGINE_UPDATE`
  + `ENGINE_UPGRADE`
  + `SECURITY_UPDATE`
  + `OS_UPDATE`
  + `MASTER_USER_PASSWORD_UPDATE`
+ **--opt-in-type**- 指定選擇加入請求類型的值，或復原選擇加入請求。無法復原 `IMMEDIATE` 類型的選擇使用請求。

  有效值：
  + `IMMEDIATE`- 立即套用維護動作。
  + `NEXT_MAINTENANCE`- 在資源的下一個維護時段套用維護動作。
  + `APPLY_ON`- 在指定的套用日期套用維護動作，無論資源的下一個維護時段為何。
  + `UNDO_OPT_IN`- 取消任何現有的請求`NEXT_MAINTENANCE`或`APPLY_ON`選擇加入請求。
+ **[--apply-on]**- 如果opt-in-type為 則為必要`APPLY_ON`。格式：`yyyy/MM/dd HH:mm-yyyy/MM/dd HH:mm`（此選項使用 UTC 時間。 開始時間可以是未來任何時間，從最少 30 分鐘到最多 14 天，或待定動作的強制/套用日期，以較早者為準。 從開始到結束時間的時段最短可達 30 分鐘，最長可達 8 小時。)

此操作的輸出如下所示 (JSON 格式）：

```
{
 'ResourcePendingMaintenanceAction': {
        'ResourceArn': 'string-arn',
        'PendingMaintenanceActionDetails': [
            {
                'Action': 'SECURITY_UPDATE',
                'AutoAppliedAfterDate': 'string',
                'ForcedApplyDate': 'string', 
                'OptInStatus': 'IMMEDIATE', 
                'CurrentApplyDate': 'string', 
                'Description': 'string'
            },
        ]
 }
}
```

參數：
+ `ResourceArn`- 套用待定維護動作之資源的 Amazon DocumentDB Amazon Resource Name (ARN)。
+ `Action`- 套用至資源的待定維護動作。

  有效值：
  + `ENGINE_UPDATE`
  + `ENGINE_UPGRADE`
  + `SECURITY_UPDATE`
  + `OS_UPDATE`
  + `MASTER_USER_PASSWORD_UPDATE`
+ `AutoAppliedAfterDate`- 此日期之後的第一個維護時段。在此情況下`NEXT_MAINTENANCE OPT_IN`會忽略 。
+ `ForcedApplyDate`- 無論維護時段為何都會套用。在此情況下`IMMEDIATE OPT_IN`， 會被忽略。
+ `OptInStatus`- 指定選擇加入請求類型的值，或復原選擇加入請求。無法復原 `IMMEDIATE` 類型的選擇使用請求。

  有效值：
  + `IMMEDIATE`- 立即套用維護動作。
  + `NEXT_MAINTENANCE`- 在資源的下一個維護時段套用維護動作。
  + `APPLY_ON`- 在指定的套用日期套用維護動作，無論資源的下一個維護時段為何。
  + `UNDO_OPT_IN`- 取消任何現有的請求`NEXT_MAINTENANCE`或`APPLY_ON`選擇加入請求。
+ `CurrentApplyDate`- 如果opt-in-type為 則會顯示`APPLY_ON`。
+ `Description`- 維護動作的選項描述。

### 套用日期
<a name="w2aac37c29c19c13c21"></a>

每個維護動作都有各自的套用日期，您可以在描述待定維護動作時找到。當您從 讀取待定維護動作的輸出時 AWS CLI，會列出三個日期：
+ `CurrentApplyDate`- 將立即套用維護動作或在下一個維護時段套用的日期。如果維護是選用的，則此值可以是 null。
+ `ForcedApplyDate`- 自動套用維護的日期，與您的維護時段無關。
+ `AutoAppliedAfterDate`- 在叢集的維護時段期間套用維護的日期。

### 使用者建立的維護動作
<a name="w2aac37c29c19c13c23"></a>

身為 Amazon DocumentDBelastic 叢集使用者，您可以啟動叢集組態的更新。

**更新叢集主要密碼**

```
aws docdb-elastic update-cluster 
--cluster-arn string-arn
[--admin-user-password string]
[--auth-type string-enum]
[--apply-method string-enum]
[--apply-on string-date-range] 
#... other parameters of the API that follow here are not relevant for this configuration
```

參數：
+ **--cluster-arn**- 要套用維護動作之資源的 Amazon DocumentDB Amazon Resource Name (ARN)。
+ **[--admin-user-password]**- 與管理員使用者相關聯的密碼。
+ **[--auth-type]**- 用來決定在何處擷取用於存取彈性叢集之密碼的身分驗證類型。有效類型為 `PLAIN_TEXT`或 `SECRET_ARN`。
+ **[--apply-method]**- 指定所套用方法類型的值。允許的值為 `IMMEDIATE` 和 `APPLY_ON`。預設值為 `IMMEDIATE`。
+ **[--apply-on]**- 如果 `apply-method`是 則為必要`APPLY_ON`。格式：`yyyy/MM/dd HH:mm-yyyy/MM/dd HH:mm`（此選項使用 UTC 時間。 開始時間可以是未來任何時間，從最少 30 分鐘到最多 14 天。 從開始到結束時間的時段最短可達 30 分鐘，最長可達 8 小時。)

此操作的輸出如下所示 (JSON 格式）：

```
{
 'ResourcePendingMaintenanceAction': {
        'ResourceArn': 'string-arn',
        'PendingMaintenanceActionDetails': [
            {
                'Action': 'MASTER_USER_PASSWORD_UPDATE',
                'OptInStatus': 'APPLY_ON', 
                'CurrentApplyDate': 'string', 
                'Description': 'string'
            },
        ]
 }
}
```

### 變更 Amazon DocumentDB 維護時段
<a name="w2aac37c29c19c13c25"></a>

維護時段應落在使用量最低的時段，因此可能需要不時進行變更。只有在套用系統變更 （例如擴展儲存操作變更） 且需要中斷時，您的彈性叢集才會在此期間無法使用。它只能在進行必要變更所需的最短時間內無法使用。

預設值是從每個 Amazon Web Services 區域的 8 小時時段中隨機選取的 30 分鐘時段，該時段隨機發生在一週中的某一天。

若要變更維護時段，請參閱 [修改彈性叢集組態](elastic-managing.md#elastic-modify)。

## 彈性叢集作業系統更新
<a name="elastic-cluster-os-updates"></a>

Amazon DocumentDB 彈性叢集偶爾需要更新作業系統。Amazon DocumentDB 會將作業系統升級至較新的版本，以改善資料庫效能和客戶的整體安全狀態。作業系統更新不會變更 Amazon DocumentDB 彈性叢集的叢集引擎版本。

Amazon DocumentDB 彈性叢集的大多數作業系統更新都是選用的，而且沒有要套用它們的設定日期。不過，如果您有一段時間沒有套用這些更新，它們最終可能會變成必要，並在叢集維護時段期間自動套用。這是為了協助維護資料庫的安全狀態。為了避免任何非預期的停機時間，建議您在 Amazon DocumentDB 彈性叢集可用時立即套用作業系統更新，並根據您的業務需求在方便的時間設定叢集維護時段。