將 MySQL 內部部署移轉至適用於 MySQL 的 Azure 資料庫:規劃
規劃將 MySQL 資料庫從內部部署環境移轉至 適用於 MySQL 的 Azure 資料庫 是一個關鍵階段,可設定成功轉換的基礎。 本文探討規劃程式所涉及的基本步驟和考慮。 您可以徹底分析您目前的資料庫環境、定義明確的移轉目標,以及開發完整的移轉策略,以確保順暢且有效率的移轉。 本指南將為您提供有效規劃移轉、解決潛在挑戰,以及利用 Azure 強固功能優化效能、延展性和成本效益所需的深入解析和最佳做法。 無論您的目標是將基礎結構現代化或增強災害復原功能,本文都為您提供知識,以做出明智的決策並達成順暢的移轉。
必要條件
將 MySQL 內部部署移轉至 適用於 MySQL 的 Azure 資料庫:評定
陸地區域
Azure 登陸區域是定義為雲端移轉專案最終存放處的目標環境。 在大部分專案中,登陸區域應該透過 ARM 範本編寫指令碼,以進行初始設定。 最後,其應該使用 PowerShell 或 Azure 入口網站進行自訂,以符合工作負載需求。
由於 WWI 位於舊金山,因此 Azure 登陸區域的所有資源都是在 US West 2
區域中建立的。 系統已建立下列資源來支援移轉:
Azure 資料庫移轉服務 (DMS) \(部分機器翻譯\)
Azure 虛擬網路,搭配中樞和輪輻設計並建立對應的虛擬網路對等互連
App Services 和 MySQL 執行個體的私人端點
注意
作為本指南的一部分,提供了兩個 ARM 範本 (一個具有私人端點,另一個則沒有),以便針對 MySQL 移轉專案部署潛在的 Azure 登陸區域。 私人端點 ARM 範本提供更安全的生產環境,例如案例。 視需求而定,可能需要額外的手動 Azure 登陸區域設定。
網路
以快速且最佳的方式將來源系統中的資料移至適用於 MySQL 的 Azure 資料庫,是移轉專案中要考慮的重要元件。 小型不可靠的連線可能需要系統管理員重新啟動移轉數次,直到成功達成結果為止。 由於網路問題而重新啟動移轉可能會導致浪費精力。
花些時間了解和評估來源、工具和目的地環境之間的網路連線能力。 在某些情況下,可能適合將因特網連線能力升級,或設定從內部部署環境到 Azure 的 ExpressRoute 連線。 一旦建立了內部部署至 Azure 連線,下一個步驟就是驗證選取的移轉工具是否可以從來源連線到目的地。
移轉工具位置會決定網路連線需求。 如下表所示,選取的移轉工具必須同時連線到內部部署機器和 Azure。 Azure 應該設定為只接受來自移轉工具位置的網路流量。
移轉工具 | 類型 | Location | 輸入網路需求 | 輸出網路需求 |
---|---|---|---|---|
資料庫移轉服務 (DMS) | 離線 | Azure | 允許來自外部 IP 的 3306 | 連線至 Azure MySQL 資料庫執行個體的路徑 |
匯入/匯出 (MySQL Workbench、mysqldump) | 離線 | 內部部署 | 允許來自內部 IP 的 3306 | 連線至 Azure MySQL 資料庫執行個體的路徑 |
匯入/匯出 (MySQL Workbench、mysqldump) | 離線 | Azure VM | 允許來自外部 IP 的 3306 | 連線至 Azure MySQL 資料庫執行個體的路徑 |
mydumper/myloader | 離線 | 內部部署 | 允許來自內部 IP 的 3306 | 連線至 Azure MySQL 資料庫執行個體的路徑 |
mydumper/myloader | 離線 | Azure VM | 允許來自外部 IP 的 3306 | 連線至 Azure MySQL 資料庫執行個體的路徑 |
binlog | 離線 | 內部部署 | 允許來自外部 IP 或私人 IP 的 3306 透過私人端點 | 每個複寫伺服器到主伺服器的路徑 |
其他網路考量包括:
位於虛擬網路中的 DMS 會 指派動態公用 IP 給服務。 建立時,您可以將服務放在虛擬網路內,透過 ExpressRoute 或透過網站對網站 VPN 進行連線。
使用 Azure 虛擬機器執行移轉工具時,請將公用 IP 位址指派給此虛擬機器,然後只允許其連線到內部部署 MySQL 執行個體。
輸出防火牆必須確保可以輸出連線至適用於 MySQL 的 Azure 資料庫。 MySQL 閘道 IP 位址可在適用於 MySQL 的 Azure 資料庫中的連線架構頁面上取得。
SSL/TLS 連線能力
除了移轉至 SSL 型通訊的應用程式含意之外,SSL/TLS 連線類型也是需要考慮的一些因素。 在建立適用於 MySQL 的 Azure 資料庫之後,請檢閱 SSL 設定,並閱讀適用於 MySQL 的 Azure 資料庫中的 SSL/TLS 連線能力一文,以了解 TLS 設定如何影響安全性態勢。
重要
請注意頁面上的免責聲明。 預設不會啟用 TLS 版本的強制執行。 一旦啟用了 TLS,將其停用的唯一方式就是重新啟用 SSL。
WWI 案例
WWI 的雲端小組已在 適用於 MySQL 的 Azure 資料庫 的特定資源群組中建立必要的 Azure 登陸區域資源。 為了建立登陸區域,WWI 決定使用 ARM 範本編寫設定和部署的指令碼。 藉由使用 ARM 範本,它們可在必要時快速終止並重設環境。
作為 ARM 範本的一部分,虛擬網路之間的所有連線都會搭配中樞和輪輻架構中的對等互連進行設定。 資料庫和應用程式會放入個別的虛擬網路中。 Azure App閘道會放在應用程式服務前面,以允許應用程式服務與網際網路隔離。 Azure App Service 會使用私人端點連線到適用於 MySQL 的 Azure 資料庫。
WWI 原本想要測試線上移轉,但 DMS 連線到其內部部署環境所需的網路設定,使此操作變得不可行。 WWI 選擇改為執行離線移轉。 MySQL Workbench 工具用來匯出內部部署資料,然後用來將資料匯入至適用於 MySQL 的 Azure 資料庫執行個體。
規劃檢查清單
準備 Azure 登陸區域。 如果環境必須終止並快速重建,請考慮使用 ARM 範本部署。
驗證網路設定。 驗證應該包括:連線能力、頻寬、延遲和防火牆設定。
判斷您是否將使用線上或離線資料移轉策略。
決定 SSL 憑證策略。