

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

# 災難復原和 Amazon DocumentDB 全域叢集
<a name="global-clusters-disaster-recovery"></a>

**Topics**
+ [執行 Amazon DocumentDB 全域叢集的受管容錯移轉](#managed-failover)
+ [執行 Amazon DocumentDB 全域叢集的手動容錯移轉](#manual-failover)
+ [執行 Amazon DocumentDB 全域叢集的切換](#global-cluster-switchover)
+ [解除封鎖全域叢集切換或容錯移轉](#unblocking-gc-so-fo)

透過使用全域叢集，您可以快速從災難中復原，例如區域故障。從災難復原通常使用 RTO 和 RPO 的值來測量。
+ **復原時間點目標 (RTO)** — 系統在災難發生後恢復運作狀態所需的時間。換言之，RTO 會測量停機時間。對於全域叢集，RTO 以分鐘為單位。
+ **復原點目標 (RPO)** — 可能遺失的資料量 (以時間為單位)。對於全域叢集，RDO 通常以秒為單位測量。
+ 若要從意外中斷中復原，您可以執行跨區域容錯移轉至全球叢集中的其中一個次要節點。當您的全域叢集有多個次要區域時，請務必分離您想要提升為主要區域的所有次要區域。然後，您可以將其中一個次要區域提升為新的主要區域 AWS 區域。最後，您可以在每個其他次要區域中建立新的叢集，並將這些叢集連接到您的全域叢集。

## 執行 Amazon DocumentDB 全域叢集的受管容錯移轉
<a name="managed-failover"></a>

此方法的目的是在發生實際區域災難或服務完全中斷的情況下，提供業務持續性。

在受管容錯移轉期間，您的主要叢集會容錯移轉至您選擇的次要區域，同時維護 Amazon DocumentDB 全域叢集的現有複寫拓撲。選擇的次要叢集會將其中一個唯讀節點提升為完整寫入器狀態。此步驟可讓叢集擔任主要叢集的角色。當此叢集擔任這個新角色時，您的資料庫在短時間內無法使用。當此次要叢集成為新的主要叢集時，未從舊主要叢集複寫到所選次要叢集的資料可能會遺失。舊的主要磁碟區會盡最大努力嘗試擷取快照，然後再與新的主要磁碟區同步，以便在快照上保留未複寫的資料。

**注意**  
只有在主要叢集和所有次要叢集具有相同的引擎版本時，您才能在 Amazon DocumentDB 全域叢集上執行受管跨區域叢集容錯移轉。如果您的引擎版本不相容，您可以依照 [執行 Amazon DocumentDB 全域叢集的手動容錯移轉](#manual-failover) 中的步驟手動執行容錯移轉。  
如果區域的引擎版本不相符，則會封鎖容錯移轉。請檢查是否有任何待定升級，並將其套用以確保所有區域的引擎版本相符，並且全域叢集容錯移轉已解除封鎖。如需詳細資訊，請參閱[解除封鎖全域叢集切換或容錯移轉](#unblocking-gc-so-fo)。

使用此功能之前，建議您執行下列操作以將資料遺失降到最低：
+ 讓應用程式離線，以防止寫入傳送至 Amazon DocumentDB 全域叢集的主要叢集。
+ 檢查所有 Amazon DocumentDB 次要叢集的延遲時間。選擇複寫延遲最低的次要區域，即可將目前失敗的主要區域的資料遺失降到最低。檢視 Amazon CloudWatch 中的 指標，檢查全域叢集中所有 Amazon DocumentDB 次要叢集的延遲時間。 `GlobalClusterReplicationLag` Amazon CloudWatch 這些指標會顯示次要叢集複寫到主要叢集落後多遠 （以毫秒為單位）。

  如需 Amazon DocumentDB CloudWatch 指標的詳細資訊，請參閱 [Amazon DocumentDB 指標](cloud_watch.md#cloud_watch-metrics_list)。

在受管容錯移轉期間，所選次要叢集會提升為主要叢集的新角色。不過，它不會繼承主要叢集的各種組態選項。組態不相符可能會導致效能問題、工作負載不相容，以及其他異常行為。為了避免此類問題，建議您解決 Amazon DocumentDB 全域叢集之間的差異：
+ **視需要為新的主要叢集設定 Amazon DocumentDB 叢集參數群組** — 您可以為 Amazon DocumentDB 全域叢集中的每個叢集獨立設定 Amazon DocumentDB 叢集參數群組。因此，當您提升次要叢集以接管主要角色時，來自次要的參數群組的設定可能會與主要叢集不同。若是如此，請修改提升次要叢集的參數群組，以符合主要叢集的設定。若要了解作法，請參閱[修改 Amazon DocumentDB 叢集參數群組](cluster_parameter_groups-modify.md)。
+ **設定監控工具和選項，例如 Amazon CloudWatch 事件和警示** — 視需要為提升的叢集設定相同的記錄功能、警示等。與參數群組一樣，在容錯移轉程序期間，這些功能的組態不會從主要叢集繼承。某些 CloudWatch 指標 (例如複寫延遲) 僅適用於次要區域。因此，容錯移轉會改變檢視這些指標並對其設定警示的方式，而且可能需要變更任何預先定義的儀表板。如需 Amazon DocumentDB 叢集和監控的詳細資訊，請參閱 [監控 Amazon DocumentDB](monitoring_docdb.md)。

一般而言，選擇的次要叢集會在一分鐘內擔任主要角色。一旦新的主要區域的寫入器節點可用，您就可以將應用程式連線到該節點並恢復工作負載。Amazon DocumentDB 提升新的主要叢集後，會自動重建所有其他次要區域叢集。

由於 Amazon DocumentDB 全域叢集使用非同步複寫，因此每個次要區域中的複寫延遲可能會有所不同。Amazon DocumentDB 會重建這些次要區域，使其具有與新主要區域叢集完全相同的point-in-time資料。整個重建工作的期間可能持續幾分鐘到數小時，取決於儲存磁碟區的大小和區域之間的距離。當次要區域叢集從新的主要區域完成重建時，便可供讀取存取使用。一旦新的主要寫入器提升並可用，新的主要區域的叢集就可以處理 Amazon DocumentDB 全域叢集的讀取和寫入操作。

若要還原全域叢集的原始拓撲，Amazon DocumentDB 會監控舊主要區域的可用性。一旦該區域正常運作且再次可用，Amazon DocumentDB 會自動將其新增回全域叢集做為次要區域。在舊主要區域中建立新的儲存磁碟區之前，Amazon DocumentDB 會嘗試在故障時擷取舊儲存磁碟區的快照。這樣做是為了讓您用它來復原任何遺失的資料。如果此操作成功，Amazon DocumentDB 會將名為 "rds：docdb-unplanned-global-failover-name-of-old-primary-DB-cluster-timestamp" 的快照置於 的快照區段中 AWS 管理主控台。您也可以在 `DescribeDBClusterSnapshots` API 操作傳回的資訊中看到此快照。

**注意**  
舊儲存磁碟區的快照是系統快照，會受到舊的主要叢集上設定的備份保留期限的限制。若要在保留期間之外保留此快照，您可以複製該快照並將它儲存為手動快照。若要進一步了解如何複製快照，包括定價在內，請參閱 [複製叢集快照](backup_restore-copy_cluster_snapshot.md#backup_restore-copy_a_cluster_snapshot)。

還原原始拓撲之後，您可以在對業務和工作負載最有意義時執行切換操作，將全域叢集容錯移轉回原始主要區域。若要啟用，請依照「[執行 Amazon DocumentDB 全域叢集的切換](#global-cluster-switchover)」中的步驟進行。

您可以使用 AWS 管理主控台 AWS CLI、 或 Amazon DocumentDB API 容錯移轉 Amazon DocumentDB 全域叢集。

------
#### [ Using the AWS 管理主控台 ]

**在 Amazon DocumentDB 全域叢集上執行受管容錯移轉**

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

1. 在導覽窗格中，選擇**叢集**。

1. 尋找並選擇您要容錯移轉的 Amazon DocumentDB 全域叢集。  
![影像：選取全域叢集的叢集資料表。](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/failover-cluster-table.png)

1. 從**動作**功能表中選擇**切換或容錯移轉**。

1. 在出現的對話方塊中，選擇**容錯移轉**，然後從**新增主要叢集欄位下拉式清單中選擇次要叢集**。  
![影像：全域叢集切換或容錯移轉對話方塊。](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/switch-fail-confirm.png)

1. 在最後一個欄位中輸入「確認」。然後選擇 **Confirm** (確認)。

   主要叢集的狀態會變更為「**容錯移轉**」。此條件大約需要一分鐘。在此期間，新主要叢集的狀態會顯示「**修改中...**」。提升新的主要節點後，會顯示「**可用**」，並能夠提供讀取和寫入交易。包含舊主要節點的次要區域會在重新同步到新的主要節點時顯示「**重新同步...**」。與新的主要主機類似，只有在狀態變更為「**可用**」時，它才能提供交易。

1. 完成後，原始主要叢集會成為次要叢集。選取的次要叢集會成為主要叢集。  
![影像：顯示新主要叢集的叢集資料表。](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/failover-complete.png)

------
#### [ Using the AWS CLI ]

**在 Amazon DocumentDB 全域叢集上執行受管容錯移轉**

執行 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/failover-global-cluster.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/failover-global-cluster.html) CLI 命令以容錯移轉您的 Amazon DocumentDB 全域叢集。使用 命令，傳遞下列選項的值：
+ `--region`
+ `--global-cluster-identifier`
+ `--target-db-cluster-identifier`
+ `--allow-data-loss`

在下列範例中，將每個{{使用者輸入預留位置}}取代為您叢集的資訊。

針對 Linux、macOS 或 Unix：

```
aws docdb failover-global-cluster \
   --region {{region_of_selected_secondary}} \
   --global-cluster-identifier {{global_cluster_id}} \
   --target-db-cluster-identifier {{arn_of_secondary_to_promote}} \
   --allow-data-loss
```

針對 Windows：

```
aws docdb failover-global-cluster ^
   --region {{region_of_selected_secondary}} ^
   --global-cluster-identifier {{global_cluster_id}} ^
   --target-db-cluster-identifier {{arn_of_secondary_to_promote}} ^
   --allow-data-loss
```

------

## 執行 Amazon DocumentDB 全域叢集的手動容錯移轉
<a name="manual-failover"></a>

如果一個叢集中的整個叢集 AWS 區域 無法使用，您可以將全域叢集中的另一個叢集提升為具有讀取/寫入功能。

如果不同 中的叢集 AWS 區域 是較佳的主要叢集選擇，您可以手動啟用全域叢集容錯移轉機制。例如，您可以增加其中一個次要叢集的容量，然後將它提升為主要叢集。或者， 之間的活動平衡 AWS 區域 可能會變更，因此將主要叢集切換到不同的叢集 AWS 區域 可能會降低寫入操作的延遲。

下列程序概述如何提升 Amazon DocumentDB 全域叢集中的其中一個次要叢集。

若要提升次要叢集：

1. 在中斷 AWS 區域 的情況下，停止對 中的主要叢集發出 DML 陳述式和其他寫入操作。

1. 從次要 識別叢集 AWS 區域 ，以用作新的主要叢集。如果您的全域叢集 AWS 區域 有兩個 （或更多） 次要叢集，請選擇延遲時間最短的次要叢集。

1. 從全域叢集分離您選擇的次要叢集。

   從全域叢集移除次要叢集會立即停止從主要叢集到此次要叢集的複寫，並將其提升為具有完整讀取/寫入功能的獨立佈建叢集。與中斷區域中的主要叢集相關聯的任何其他次要叢集仍然可用，並且可以接受來自應用程式的呼叫。它們也會取用資源。由於您要重新建立全域叢集，為了避免分頻和其他問題，請在接下來的步驟中建立新的全域叢集之前移除其他次要叢集。

   如需分離的詳細步驟，請參閱[從 Amazon DocumentDB 全域叢集移除叢集](global-clusters.manage.md#global-clusters.remove)。

1. 當您開始在下一個步驟中新增區域時，此叢集會成為新全域叢集的主要叢集。

1. 將 AWS 區域 新增至叢集。當您執行這項操作時，從主要到次要的複寫程序即會開始。

1.  AWS 區域 視需要新增更多 ，以重新建立支援應用程式所需的拓撲。在進行這類變更之前、期間和之後，請確定應用程式寫入會傳送到正確的叢集，以避免全域叢集中叢集之間的資料不一致 （分裂大腦問題）。

1. 當中斷解決且您已準備好再次將原始 指派 AWS 區域 為主要叢集時，請反向執行相同的步驟。

1. 從全域叢集移除其中一個次要叢集。這將使其能夠提供讀取/寫入流量。

1. 將所有寫入流量重新導向至原始 中的主要叢集 AWS 區域。

1. 新增 AWS 區域 以在與之前 AWS 區域 相同的 中設定一或多個次要叢集。

您可以使用 AWS SDKs來管理 Amazon DocumentDB 全域叢集，讓您建立解決方案來自動化災難復原和業務持續性規劃使用案例的全域叢集容錯移轉程序。Apache 2.0 授權的客戶可以使用這類解決方案，也可以從此處的工具儲存庫存取。 [https://github.com/awslabs/amazon-documentdb-tools/tree/master/global-clusters-automation](https://github.com/awslabs/amazon-documentdb-tools/tree/master/global-clusters-automation)此解決方案利用 Amazon Route 53 進行端點管理，並提供可以根據適當事件觸發的 AWS Lambda 函數。

## 執行 Amazon DocumentDB 全域叢集的切換
<a name="global-cluster-switchover"></a>

您可以使用切換來例行變更主要叢集的區域。此方法適用於受控情況，例如操作維護及其他計劃內操作程序。

使用切換有三種常見的使用案例：
+ 對於特定行業強制實施的「區域輪換」需求。例如，金融服務法規可能希望第 0 層系統切換到不同的區域數個月時間，以確保定期演練災難復原程序。
+ 對於多區域「全天候」應用程式。例如，某家公司可能希望根據不同時區的營業時間，在不同區域提供較低的延遲寫入。
+ 可作為在容錯移轉後，容錯回復至原始主要區域的零資料遺失方法。

**注意**  
切換旨在用於運作狀態良好的 Amazon DocumentDB 全域叢集。若要從意外中斷復原，請依照 [執行 Amazon DocumentDB 全域叢集的手動容錯移轉](#manual-failover) 中適當的程序進行。  
若要執行切換，所有次要區域都必須執行與主要區域完全相同的引擎版本。如果區域的引擎版本不相符，則會封鎖切換。請檢查是否有任何待定升級，並將其套用以確保所有區域的引擎版本相符，並且全域叢集切換已解除封鎖。如需詳細資訊，請參閱[解除封鎖全域叢集切換或容錯移轉](#unblocking-gc-so-fo)。

在切換期間，Amazon DocumentDB 會在維護您全域叢集的現有複寫拓撲時，將主要叢集切換到您選擇的次要區域。在開始切換程序之前，Amazon DocumentDB 會等待所有次要區域叢集與主要區域叢集完全同步。然後，主要區域中的資料庫叢集會變成唯讀，而選擇的次要叢集會將其中一個唯讀節點提升為完整寫入器狀態。將此節點提升為寫入器可讓該次要叢集擔任主要叢集的角色。由於所有次要叢集都在程序開始時與主要叢集同步，因此新的主要叢集會繼續 Amazon DocumentDB 全域叢集的操作，而不會遺失任何資料。您的資料庫在短時間內無法使用，因為同時間主要叢集和選取的次要叢集會承擔其新角色。

若要最佳化應用程式可用性，建議您在使用此功能之前先執行下列動作：
+ 在非尖峰時間或寫入主要叢集最少的另一個時間執行此操作。
+ 讓應用程式離線，以防止寫入傳送至 Amazon DocumentDB 全域叢集的主要叢集。
+ 透過在 Amazon CloudWatch 中檢視 指標，檢查全域叢集中所有 Amazon DocumentDB 次要叢集的延遲時間。 `GlobalClusterReplicationLag` Amazon CloudWatch 此指標顯示次要叢集複寫到主要叢集落後多遠 （以毫秒為單位）。此值與 Amazon DocumentDB 完成轉換所需的時間直接成正比。因此，延遲值越大，轉換所需的時間越長。

  如需 Amazon DocumentDB CloudWatch 指標的詳細資訊，請參閱 [Amazon DocumentDB 指標](cloud_watch.md#cloud_watch-metrics_list)。

在轉換期間，選擇的次要資料庫叢集會提升為作為主要資料庫叢集的新角色。但是，它不會繼承主要資料庫叢集的各種組態選項。組態不相符可能會導致效能問題、工作負載不相容，以及其他異常行為。為了避免此類問題，建議您解決 Amazon DocumentDB 全域叢集之間的差異：
+ **視需要為新的主要叢集設定 Amazon DocumentDB 資料庫叢集參數群組** — 您可以為 Amazon DocumentDB 全域叢集中的每個叢集獨立設定 Amazon DocumentDB 叢集參數群組。這表示當您提升次要資料庫叢集以接管主要角色時，其參數群組可能會設定與主要資料庫叢集不同的參數群組。如果是這樣，請修改提升的次要資料庫叢集的參數群組，以符合主要叢集的設定。若要瞭解如何操作，請參閱[管理 Amazon DocumentDB 叢集參數群組](cluster_parameter_groups.md)。
+ **設定監控工具和選項，例如 Amazon CloudWatch Events 和警示** — 視需要為提升的叢集設定相同的記錄功能、警示等。與參數群組一樣，在轉換程序期間，這些功能的組態不會從主要叢集繼承。有些 CloudWatch 指標，例如複寫延遲，僅適用於主要區域。因此，轉換會改變檢視這些指標並對其設定警示的方式，而且可能需要變更任何預先定義的儀表板。如需詳細資訊，請參閱[監控 Amazon DocumentDB](monitoring_docdb.md)。

**注意**  
角色轉換通常需要數分鐘才能完成。

當切換程序完成時，提升的 Amazon DocumentDB 叢集可以處理全域叢集的寫入操作。

您可以使用 AWS 管理主控台 或 來切換 Amazon DocumentDB 全域叢集 AWS CLI：

------
#### [ Using the AWS 管理主控台 ]

**在 Amazon DocumentDB 全域叢集上執行切換**

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

1. 在導覽窗格中，選擇**叢集**。

1. 尋找並選取您要切換的 Amazon DocumentDB 全域叢集。  
![影像：選取全域叢集的叢集資料表。](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/switchover-cluster-table.png)

1. 從**動作**功能表中選擇**切換或容錯移轉**。

1. 在出現的對話方塊中，選擇**切換**，然後從**新增主要叢集欄位下拉式清單中選擇次要叢集**。  
![影像：選取次要叢集的叢集切換對話方塊。](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/switch-fail-confirm-2.png)

1. 選擇**確認**。

   主要叢集的狀態會變更為「**切換」**。此條件大約需要三分鐘。在此期間，所有區域叢集的狀態會顯示「**修改中...**」。同步區域並提升新的主要區域後，會顯示所有狀態欄位的「**可用**」，並且能夠提供交易。

1. 完成後，原始主要叢集會成為次要叢集。選取的次要叢集會成為主要叢集。  
![影像：顯示新主要叢集的叢集資料表。](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/failover-complete.png)

------
#### [ Using the AWS CLI ]

**在 Amazon DocumentDB 全域叢集上執行切換**

執行 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/switchover-global-cluster.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/switchover-global-cluster.html) CLI 命令來切換您的 Amazon DocumentDB 全域叢集。使用 命令，傳遞下列選項的值：
+ `--region`
+ `--global-cluster-identifier`
+ `--target-db-cluster-identifier`

在下列範例中，將每個{{使用者輸入預留位置}}取代為您叢集的資訊。

針對 Linux、macOS 或 Unix：

```
aws docdb switchover-global-cluster \
   --region {{region_of_primary}} \
   --global-cluster-identifier {{global_cluster_id}} \
   --target-db-cluster-identifier {{arn_of_secondary_to_promote}}
```

針對 Windows：

```
aws docdb switchover-global-cluster ^
   --region {{region_of_primary}} ^
   --global-cluster-identifier {{global_cluster_id}} ^
   --target-db-cluster-identifier {{arn_of_secondary_to_promote}}
```

------

## 解除封鎖全域叢集切換或容錯移轉
<a name="unblocking-gc-so-fo"></a>

當全域叢集中的所有區域叢集都位於相同的引擎版本時，會封鎖全域叢集切換和容錯移轉。如果版本不相符，您可能會在呼叫切換或容錯移轉時看到此錯誤：指定的目標資料庫叢集正在執行與來源資料庫叢集具有不同修補程式層級的引擎版本。我們建議您定期套用最新的引擎版本，以確保您執行最新的更新，讓全域叢集保持運作狀態良好。

若要解決此錯誤，請先套用任何待定的維護動作項目，將所有次要區域更新為相同的引擎版本。若要檢視待定的維護動作項目，並套用任何必要的變更以修正問題，請執行下列其中一個索引標籤中的指示：

------
#### [ Using the AWS 管理主控台 ]

若要解除封鎖全域叢集切換或容錯移轉，您必須判斷叢集是否有任何待定的維護動作，並加以套用。請依照下列步驟檢視和套用維護動作：

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

1. 在導覽窗格中，選擇**叢集**。

1. 在**叢集**表格中，在叢集**識別符欄中尋找您的全域叢集**。在全域叢集下，記下指定全域叢集的每個次要叢集和主要叢集，並針對每個叢集執行下列步驟。

1. 對於每個次要叢集：

   1. 如果您的叢集有可用的更新，則會在**維護**欄中指出為**可用**、**必要**或**下一個視窗**。

   1. 若要採取動作，請選擇叢集以顯示其詳細資訊，然後選擇**維護和備份**。**待定維護**項目隨即出現。

   1. 在**描述**下，如果它指出「新的維護更新可用」，請選取它，然後選擇**立即套用**。

1. 對於您的主要叢集：

   1. 如果您的叢集有可用的更新，則會在**維護**欄中指出為**可用**、**必要**或**下一個視窗**。

   1. 若要採取動作，請選擇叢集以顯示其詳細資訊，然後選擇**維護和備份**。**待定維護**項目隨即出現。

   1. 在**描述**下，如果它指出「新的維護更新可用」，請選取它，然後選擇**立即套用**。

------
#### [ Using the AWS CLI ]

若要解除封鎖全域叢集切換或容錯移轉，您必須判斷叢集是否有任何待定的維護動作，並加以套用。請依照下列步驟，先在次要叢集上檢視和套用維護動作，然後在全域叢集的主要叢集上套用維護動作：

1. 先在每個次要區域的區域叢集上執行以下內容，然後針對主要區域區域叢集執行以下內容。

1. 使用 `--resource-identifier`選項執行 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-pending-maintenance-actions.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-pending-maintenance-actions.html) CLI 命令，以判斷您的 Amazon DocumentDB 區域叢集是否有任何可用的維護動作。

   在下列範例中，將每個{{使用者輸入預留位置}}取代為您叢集的資訊。

   針對 Linux、macOS 或 Unix：

   ```
   aws docdb describe-pending-maintenance-action \
      --resource-identifier {{arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15}}
   ```

   針對 Windows：

   ```
   aws docdb describe-pending-maintenance-action ^
      --resource-identifier {{arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15}}
   ```

   結果如下所示：

   ```
   {
       "PendingMaintenanceActions": [
           {
               "ResourceIdentifier": "arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15",
               "PendingMaintenanceActionDetails": [
                   {
                       "Action": "system-update",
                       "CurrentApplyDate": "2025-04-11T03:01:00Z",
                       "Description": "db-version-upgrade",
                       "ForcedApplyDate": "2025-06-18T03:01:00Z",
                       "AutoAppliedAfterDate": "2025-05-11T03:01:00Z"
                       "OptInStatus": "pending"
                   }
               ]
           }
       ]
   }
   ```

1. 如果需要維護動作，請使用下列選項執行 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/apply-pending-maintenance-action.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/apply-pending-maintenance-action.html) CLI 命令：
   + `--resource-identifier`
   + `--apply-action`
   + `--opt-in-type`
   + `--region`

   在下列範例中，將每個{{使用者輸入預留位置}}取代為您叢集的資訊。

   針對 Linux、macOS 或 Unix：

   ```
   aws docdb apply-pending-maintenance-action \
      --resource-identifier {{arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15}} \
      --apply-action {{system-update}} \
      --opt-in-type {{immediate}} \
      --region {{us-east-1}}
   ```

   針對 Windows：

   ```
   aws docdb apply-pending-maintenance-action ^
      --resource-identifier {{arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15}} ^
      --apply-action {{system-update}} ^
      --opt-in-type immediate ^
      --region {{us-east-1}}
   ```

1. 維護動作完成後，請再次執行 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-pending-maintenance-actions.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-pending-maintenance-actions.html)命令，以確保叢集沒有其他待定動作。

   您想要的結果是：

   ```
   {
       "PendingMaintenanceActions": []
   }
   ```

------
#### [ Using the Amazon DocumentDB API ]

若要解除封鎖全域叢集切換或容錯移轉，您必須判斷叢集是否有任何待定的維護動作，並加以套用。使用下列 APIs來檢視和套用維護動作：

1. 先在每個次要區域的區域叢集上執行以下內容，然後針對主要區域區域叢集執行以下內容。

1. 呼叫 [https://docs.aws.amazon.com/documentdb/latest/developerguide/API_PendingMaintenanceAction.html](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_PendingMaintenanceAction.html) API 來判斷您的 Amazon DocumentDB 全域叢集是否有任何可用的維護動作。

1. 透過呼叫 [https://docs.aws.amazon.com/documentdb/latest/developerguide/API_ApplyPendingMaintenanceAction.html](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_ApplyPendingMaintenanceAction.html) API 套用任何變更。

------