將資源移至新區域 - Azure SQL 受控執行個體
適用於:Azure SQL 受控執行個體
本文將說明一般工作流程,了解如何將 Azure SQL 受控執行個體移至新區域。
注意
本文適用於 Azure 公用雲端或相同主權雲端內的移轉。
概觀
在各種情況下,您會想將現有的受控執行個體從一個區域移至另一個區域。 例如,您要在新區域擴充企業,並想針對新的客戶群將區域最佳化。 或基於合規性理由,您需要將作業移至不同的區域。 或 Azure 發行新的區域,提供更好的鄰近性並改善客戶體驗。
將資源移至不同區域的一般工作流程包含下列步驟:
- 驗證移動的必要條件。
- 準備在範圍中移動資源。
- 監視準備程序。
- 測試移動程序。
- 起始實際的移動。
- 移除來源區域的資源。
確認先決條件
- 針對每個來源受控執行個體,在目標區域建立相同大小的執行個體。
- 設定受控執行個體的網路。 如需詳細資訊,請參閱網路設定。
- 使用正確的登入設定目標
master
資料庫。 如果您不是訂用帳戶或 SQL 受控執行個體管理員,請與系統管理員合作,指派您所需的權限。 - 如果您的資料庫使用透明資料加密 (TDE),並在 Azure Key Vault 中攜帶您自己的金鑰 (BYOK 或客戶自控金鑰),請確定目標區域已佈建正確的加密資料。
- 若要這麼做,最簡單的方式是從現有的金鑰保存庫,新增加密金鑰 (來源執行個體作為 TDE 保護裝置使用) 至目標執行個體,然後將金鑰設為目標執行個體的 TDE 保護裝置,因為一個區域的執行個體現在可以連線至任何其他區域的金鑰保存庫。
- 最佳做法是確定目標執行個體可以存取 (還原資料庫備份所需的) 舊版加密金鑰,並在來源執行個體上執行 Get-AzSqlServerKeyVaultKey Cmdlet,或在來源受控執行個體上執行 Get-AzSqlInstanceKeyVaultKey Cmdlet,傳回可用的金鑰清單,然後將這些金鑰新增至目標執行個體。
- 如需設定目標執行個體上客戶自控 TDE 的詳細資訊和最佳做法,請參閱 Azure Key Vault 中使用客戶自控金鑰的 Azure SQL 透明資料加密。
- 如果受控執行個體已啟用稽核,請確定:
- 現有稽核記錄的儲存體容器或事件中樞會移至目標區域。
- 目標執行個體上已設定稽核。 如需詳細資訊,請參閱使用 SQL 受控執行個體稽核。
- 如果您的執行個體有長期保留原則 (LTR),現有的 LTR 備份會保持與目前執行個體的關聯。 因為目標執行個體不同,您可以使用來源執行個體存取來源區域中較舊的 LTR 備份,即使刪除執行個體後也是。
注意
不支援在主權區域和公用區域之間移轉具有現有 LTR 備份的執行個體,因為這需要將 LTR 備份移至目標執行個體,而目前這是不可能的。
準備資源
在各來源受控執行個體和 SQL 受控執行個體對應的目標執行個體間,建立容錯移轉群組。
系統會自動起始各執行個體上的所有資料庫複寫。 如需詳細資訊,請參閱容錯移轉群組。
監視準備程序
您可以定期呼叫 Get-AzSqlDatabaseInstanceFailoverGroup,監視從來源到目標執行個體的資料庫複寫。 Get-AzSqlDatabaseInstanceFailoverGroup
的輸出物件包含 ReplicationState 的屬性:
- ReplicationState = CATCH_UP 表示資料庫已同步,並可安全地容錯移轉。
- ReplicationState = SEEDING 表示資料庫尚未植入,所以容錯移轉會失敗。
測試同步
ReplicationState 為 CATCH_UP
後,使用次要端點 <fog-name>.secondary.<zone_id>.database.windows.net
連線異地次要,並對資料庫執行任何查詢,以確保連線能力、適當的安全性設定和資料複寫。
起始移動
- 使用次要端點
<fog-name>.secondary.<zone_id>.database.windows.net
連線目標受控執行個體。 - 使用 Switch-AzSqlDatabaseInstanceFailoverGroup 將次要受控執行個體切換為完整同步的主要受控執行個體。 此作業會成功或復原。
- 使用
nslook up <fog-name>.secondary.<zone_id>.database.windows.net
確定 DNS CNAME 項目指向目標區域 IP 位址,即可驗證命令已成功完成。 如果切換器命令失敗,CNAME 不會更新。
移除來源受控執行個體
完成移動後,請移除來源區域中的資源,避免不必要的費用。
- 使用 Remove-AzSqlDatabaseInstanceFailoverGroup 刪除容錯移轉群組。 這會卸除容錯移轉群組組態,並終止兩個執行個體間的異地複寫連結。
- 使用 Remove-AzSqlInstance 刪除來源受控執行個體。
- 移除資源群組中的任何其他資源,例如虛擬網路和安全性群組。