將 Azure Cosmos DB NoSQL 帳戶重新配置另一個區域。
有各種原因讓您想要將現有的 Azure 資源從某個區域移至另一個區域。 您可能想要:
- 利用新的 Azure 區域。
- 只部署特定區域中可用的功能或服務。
- 符合內部原則和治理需求。
- 與公司合併和收購保持一致
- 符合容量規劃需求。
本文說明如何:
- 重新配置 Azure Cosmos DB 中複寫資料的區域。
- 將帳戶 (Azure Resource Manager) 中繼資料和資料從一個區域移至另一個區域。
必要條件
應用程式註冊必須使用來源和目標資源群組執行個體的委派權限和“User.ReadBasic.All”的 “API 權限”來建立。
從來源到目標,選取的 Cosmos DB API 必須保持相同。 本文件使用 SQL DB API。
帳戶名稱限制為 44 個字元,全部小寫。
您在新增或移除 Azure Cosmos 帳戶的位置時,無法同時修改其他屬性。
識別所有 Cosmos DB 相依資源。
停機
服務端點的考量
Azure Cosmos DB 的虛擬網路服務端點會限制對指定虛擬網路的存取。 端點也可以限制對 IPv4 (網際網路通訊協定第 4 版) 位址範圍的存取。 任何從這些來源之外連線到事件中樞的使用者都會被拒絕存取。 如果服務端點是在事件中樞資源的來源區域中設定的,則必須在目標區域中完成相同的動作。
若要成功將 Azure Cosmos DB 重新配置至目標區域,必須先事先建立 VNet 和子網路。 如果是使用 Azure Resource Mover 工具進行這兩個資源的移動,則不會自動設定服務端點。 因此,您必須手動設定,這可以透過 Azure 入口網站、Azure CLI或 Azure PowerShell 來完成。
在沒有資料的情況下重新部署
如果 Cosmos DB 執行個體必須單獨重新配置,而不需要設定和客戶資料,可以使用 Microsoft.DocumentDB databaseAccounts 建立執行個體本身
使用資料重新部署
Azure Cosmos DB 原本就支援資料複寫,因此將資料從一個區域移至另一個區域很簡單。 您可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 來完成這項工作。 需要下列步驟:
將新區域新增至帳戶。
若要將新區域新增至 Azure Cosmos DB 帳戶,請參閱對 Azure Cosmos DB 帳戶新增/移除區域。
手動容錯移轉至新區域。
如果要移除的區域目前是帳戶的寫入區域,則您必須開始容錯移轉至上一個步驟中新增的新區域。 此作業不需要停機。 如果您要移動多區域帳戶中的讀取區域,則可以略過此步驟。
若要開始容錯移轉,請參閱在 Azure Cosmos DB 帳戶上執行手動容錯移轉。
移除原始區域。
若要從 Azure Cosmos DB 帳戶移除區域,請參閱對 Azure Cosmos DB 帳戶新增/移除區域。
注意
如果您在非同步輸送量調整作業進行當中執行容錯移轉作業,或新增/移除新的區域,則會暫停輸送量擴大作業。 當容錯移轉或新增/移除區域作業完成時,就會自動繼續擴大作業。
重新部署 Azure Cosmos DB 帳戶中繼資料
Azure Cosmos DB 原本就不支援將帳戶中繼資料從一個區域遷移至另一個區域。 若要將帳戶中繼資料和客戶資料從一個區域遷移至另一個區域,您必須在所需區域建立新的帳戶,然後手動複製資料。
重要
如果資料已儲存或移至不同的區域,就不需要移轉帳戶中繼資料。 帳戶中繼資料所在的區域不會影響 Azure Cosmos DB 帳戶的效能、安全性或任何其他作業層面。
適用於 API for NoSQL 的近乎零停機移轉需要使用變更摘要,或使用此功能的工具。
下列步驟示範如何將適用於 API for NoSQL 的 Azure Cosmos DB 帳戶及其資料從一個區域移轉至另一個區域:
在所需區域中建立新的 Azure Cosmos DB 帳戶。
若要透過 Azure 入口網站、PowerShell 或 Azure CLI 建立新的帳戶,請參閱建立 Azure Cosmos DB 帳戶。
建立新的資料庫和容器。
若要建立新的資料庫和容器,請參閱建立 Azure Cosmos DB 容器。
使用 Azure Cosmos DB Spark 連接器即時移轉範例來移轉資料。
若要在幾乎零停機時間的情況下移轉資料,請參閱使用 Spark 連接器即時移轉 Azure Cosmos DB SQL API 容器資料。
更新應用程式連接字串。
在即時資料移轉範例仍在執行的情況下,更新應用程式之新部署中的連接訊息。 您可以從 Azure 入口網站擷取應用程式的端點和金鑰。
將要求重新導向新的應用程式。
當新的應用程式連線至 Azure Cosmos DB 之後,您就可以將用戶端要求重新導向新的部署。
刪除您不再需要的任何資源。
要求現在已完全重新導向至新的執行個體,您可以刪除舊的 Azure Cosmos DB 帳戶並停止即時資料移轉範例。
下一步
如需有關如何管理 Azure Cosmos DB 帳戶、資料庫及容器的詳細資訊和範例,請參閱下列文章:
- 管理 Azure Cosmos DB 帳戶
- Azure Cosmos DB 中的變更摘要 \(部分機器翻譯\)