Azure DocumentDB 提供無縫擴展性與區域內高可用性(HA)。 本文件可供想要了解如何調整和設定其叢集的開發人員作為快速指南。
先決條件
Azure 訂用帳戶
- 如果您沒有 Azure 訂用帳戶,請建立 免費帳戶
擴展叢集運算
叢集層可讓您在叢集的實體分區上設定 V 核心數目和 RAM 數量。 您可以隨時變更叢集層以因應個人需求,且無需中斷。 例如,您可以從 M50 增加到 M60,或從 M50 減少到 M40。
在叢集側邊欄的 [設定] 底下,選取 [調整]。
若要變更叢集層,請從下拉功能表中選取新層。
選取 [儲存] 以保存您的變更。
若要擴大或縮小叢集計算層,請變更 update 屬性中的 MXXX 值,以使用 compute.tier 作業更新現有的叢集。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.compute.tier="<compute-tier>"
您可以直接使用 Azure REST API,或在 Azure CLI 環境中將其包裝到 az rest。
使用下列命令變更叢集計算層:
az rest \
--method "PATCH" \
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"compute\":{\"tier\":\"<compute-tier>\"}}}"
增加儲存體大小
您可以增加 記憶體大小 ,讓您的資料庫有更多空間可成長。 例如,您可以將儲存體從 128 GiB 增加到 256 GiB。
若要增加儲存體大小,請從下拉功能表中選取新的大小。
選取 [儲存] 以保存您的變更。
若要增加叢集儲存體大小,請增加 update 屬性中的值,以使用 storage.sizeGb 作業更新現有的叢集。 支援的儲存體大小會列在支援的儲存體頁面上。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.storage.sizeGb="<new-size-in-GiB>"
您可以直接使用 Azure REST API,或在 Azure CLI 環境中將其包裝到 az rest。
使用下列命令變更叢集計算層:
az rest \
--method "PATCH" \
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"storage\":{\"sizeGb\":\"<new-size-in-GiB>\"}}}"
啟用或停用高可用性
您可以啟用或停用區域內高可用性 (HA),以因應您個人的需求。 區域內 HA 會藉由維護叢集中每個主要分區的複本分區,來避免資料庫停機。 如果主要分區關閉,則連入連線會自動重新導向至其複本分區,以盡可能縮短停機時間。
若要啟用或停用區域內 HA,請切換核取方塊選項。
選取 [儲存] 以保存您的變更。
若要在叢集上啟用區域內高可用性,請將 update 屬性中的值設定為 highAvailability.targetMode,以使用 ZoneRedundantPreferred 作業更新現有的叢集。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.highAvailability.targetMode="ZoneRedundantPreferred"
若要在叢集上停用區域內高可用性,請將 update 屬性中的值設定為 highAvailability.targetMode,以使用 Disabled 作業更新現有的叢集。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.highAvailability.targetMode="Disabled"
您可以直接使用 Azure REST API,或在 Azure CLI 環境中將其包裝到 az rest。
使用下列命令,在叢集上啟用區域內高可用性:
az rest \
--method "PATCH" \
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"highAvailability\":{\"targetMode\":\"ZoneRedundantPreferred\"}}}"
使用下列命令,在叢集上停用區域內高可用性:
az rest \
--method "PATCH" \
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"highAvailability\":{\"targetMode\":\"Disabled\"}}}"
增加實體分片的數目
當資料庫成長超過單一實體分區叢集的容量時,您可以增加 記憶體大小 或新增更多 實體分區。 將新的實體分片新增至叢集之後,您必須執行叢集重新平衡,以重新分配數據到各分區。 叢集中的每個實體分區一律具有相同 的計算 和 記憶體 組態。
若要新增實體分區,請從清單中選取新的分區計數。
選取 [儲存] 以保存您的變更。
在快顯視窗中選取 [繼續],以保存您的變更。
若要將實體分區新增至叢集,請將 update 屬性的值增加 1,以使用 sharding.shardCount 作業更新現有的叢集。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.sharding.shardCount="<current-shard-count-plus-one>"
備註
一次只能新增一個實體分區。 如果您需要將多個實體分區新增至叢集,必須循序執行。
您可以直接使用 Azure REST API,或在 Azure CLI 環境中將其包裝到 az rest。
使用下列命令將實體分區新增至叢集:
az rest \
--method "PATCH" \
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"sharding\":{\"shardCount\":\"<current-shard-count-plus-one>\"}}}"
備註
一次只能新增一個實體分區。 如果您需要將多個實體分區新增至叢集,必須循序執行。
小提示
如果您的叢集需要超過 10 個實體分區,請開啟支援票證。
重新平衡數據
將實體分區新增至叢集之後,或者如果多分區叢集在其實體分區之間有不平均的記憶體使用量,數據重新平衡會在分區之間重新分配數據,而不需要停機。
在預覽狀態下,必須在叢集上啟用資料重新平衡:
- 在 Azure 入口網站中,開啟叢集屬性。
- 在 [功能] 頁面的 [設定] 底下,選取 [多分區叢集的重新平衡器]。
- 在 [多分區叢集的重新平衡器] 面板中,選取 [啟用]。
若要起始數據重新平衡,請使用 Mongo 殼層等管理工具連線到叢集。
使用 sh.startBalancer() 命令啟動重新平衡器。
使用 sh.isBalancerRunning()檢查重新平衡器狀態。
使用 sh.stopBalancer() 命令停止重新平衡器。
備註
重新平衡程序的持續時間取決於實體分區之間移動的數據量。 操作是線上進行,不影響叢集的可用性或功能。
後續步驟
在本指南中,我們展示了在 Azure 入口網站中擴展與配置 Azure DocumentDB 叢集是一個簡單的過程。 Azure 入口網站包含調整叢集層、增加記憶體大小、啟用或停用高可用性的能力,以及新增實體分區而不需停機。