如果Azure平臺的數據庫部署在虛擬網絡中,并且您希望將數據庫遷移至阿里云平臺,您可以在Azure虛擬網絡和阿里云VPC之間建立網絡連接,在Azure虛擬網絡和阿里云VPC實現網絡互通的基礎上,再通過數據傳輸服務 DTS(Data Transmission Service)將Azure平臺的數據遷移至阿里云平臺。本文介紹如何建立IPsec-VPN連接(綁定VPN網關實例)實現Azure虛擬網絡和阿里云VPC之間的網絡互通,并介紹如何通過DTS將Azure Database for MySQL 靈活服務器中的數據遷移至阿里云云數據庫 RDS MySQL實例中。
場景示例
本文以上圖場景為例。某企業在Azure平臺的Germany West Central區域擁有一個虛擬網絡,虛擬網絡中創建了Azure Database for MySQL靈活服務器。當前企業正在將業務遷移至阿里云平臺,企業已在阿里云德國(法蘭克福)地域創建了一個VPC,并且VPC下已創建了RDS MySQL實例,企業希望可以將Azure Database for MySQL靈活服務器下的數據遷移至阿里云RDS MySQL實例中。
企業可以先使用IPsec-VPN(綁定VPN網關)在Azure虛擬網絡和阿里云VPC之間建立網絡連接,在Azure虛擬網絡和阿里云VPC內的資源支持互通的情況下,再使用DTS將Azure Database for MySQL靈活服務器中的數據遷移至阿里云RDS MySQL實例中。
前提條件
在開始操作前,請確保您已經擁有以下環境并且已獲得對應的資源信息:
在Azure平臺Germany West Central區域擁有一個虛擬網絡,虛擬網絡下部署了Azure Database for MySQL靈活服務器(以下簡稱為Azure MySQL服務器)。具體操作,請咨詢Azure平臺。
在阿里云平臺德國(法蘭克福)地域擁有一個VPC,VPC下已經創建了RDS MySQL版數據庫。具體操作,請參見快速創建RDS MySQL實例。
您已知Azure虛擬網絡和阿里云VPC間要互通的網段信息以及要進行數據遷移的2個數據庫賬號信息。
重要您可以自行規劃網段,請確保Azure虛擬網絡和阿里云VPC間要互通的網段沒有重疊。
請確保您已了解數據遷移的相關限制,并且數據庫賬號需已擁有相關權限。更多信息,請參見注意事項、數據庫賬號的權限要求章節。
資源
要互通的網段
地址
數據庫賬號
阿里云VPC
10.0.0.0/16
RDS MySQL實例的內網地址:rm-gw8x4h4tg****.mysql.germany.rds.aliyuncs.com
如何獲取RDS MySQL實例的內網地址,請參見查看和管理實例連接地址和端口。
用戶名:AliyunUser
密碼:Hello1234****
Azure虛擬網絡
192.168.0.0/16
Azure MySQL服務器名稱:zho****-azure.mysql.database.azure.com
用戶名:AzureUser
密碼:Hello5678****
數據庫提供服務端口號:3306
配置步驟
步驟一:在阿里云創建VPN網關實例
您需要先在阿里云創建一個VPN網關實例,VPN網關實例創建完成后,系統會為VPN網關實例分配2個IP地址,這2個IP地址用于與Azure平臺虛擬網絡建立IPsec-VPN連接。
登錄VPN網關管理控制臺。
在頂部菜單欄,選擇VPN網關的地域。
VPN網關的地域需和待綁定的VPC實例的地域相同。
在VPN網關頁面,單擊創建VPN網關。
在購買頁面,根據以下信息配置VPN網關,然后單擊立即購買并完成支付。
以下僅列舉本文強相關的配置,其余配置項保持默認值或為空。更多信息,請參見創建和管理VPN網關實例。
配置項
說明
本文示例值
實例名稱
輸入VPN網關實例的名稱。
輸入VPN網關。
地域和可用區
選擇VPN網關實例所屬的地域。
選擇德國(法蘭克福)。
網關類型
選擇VPN網關實例的網關類型。
選擇普通型。
網絡類型
選擇VPN網關實例的網絡類型。
選擇公網。
隧道
系統直接展示當前地域IPsec-VPN連接支持的隧道模式。
雙隧道
單隧道
關于單隧道和雙隧道的說明,請參見綁定VPN網關場景雙隧道IPsec-VPN連接說明。
本文保持默認值雙隧道。
VPC
選擇VPN網關實例關聯的VPC實例。
選擇阿里云德國(法蘭克福)地域的VPC實例。
虛擬交換機
從VPC實例中選擇一個交換機實例。
IPsec-VPN連接的隧道模式為單隧道時,您僅需要指定一個交換機實例。
IPsec-VPN連接的隧道模式為雙隧道時,您需要指定兩個交換機實例。
IPsec-VPN功能開啟后,系統會在兩個交換機實例下各創建一個彈性網卡ENI(Elastic Network Interfaces),作為使用IPsec-VPN連接與VPC流量互通的接口。每個ENI會占用交換機下的一個IP地址。
說明系統默認幫您選擇第一個交換機實例,您可以手動修改或者直接使用默認的交換機實例。
創建VPN網關實例后,不支持修改VPN網關實例關聯的交換機實例,您可以在VPN網關實例的詳情頁面查看VPN網關實例關聯的交換機、交換機所屬可用區以及交換機下ENI的信息。
選擇VPC實例下的一個交換機實例。
虛擬交換機2
從VPC實例中選擇第二個交換機實例。
您需要從VPN網關實例關聯的VPC實例下指定兩個分布在不同可用區的交換機實例,以實現IPsec-VPN連接可用區級別的容災。
對于僅支持一個可用區的地域 ,不支持可用區級別的容災,建議您在該可用區下指定兩個不同的交換機實例以實現IPsec-VPN連接的高可用,支持選擇和第一個相同的交換機實例。
說明如果VPC實例下沒有第二個交換機實例,您可以新建交換機實例。具體操作,請參見創建和管理交換機。
選擇VPC實例下的第二個交換機實例。
IPsec-VPN
選擇開啟或關閉IPsec-VPN功能。默認值:開啟。
選擇開啟IPsec-VPN功能。
SSL-VPN
選擇開啟或關閉SSL-VPN功能。默認值:關閉。
選擇關閉SSL-VPN功能。
返回VPN網關頁面,查看創建的VPN網關實例。
剛創建好的VPN網關實例的狀態是準備中,約1~5分鐘左右會變成正常狀態。正常狀態表明VPN網關已經完成了初始化,可以正常使用。
系統為VPN網關實例分配的2個IP地址如下表所示:
VPN網關實例的名稱
VPN網關實例ID
IP地址
VPN網關
vpn-gw8dickm386d2qi2g****
IPsec地址1(默認為主隧道地址):8.XX.XX.130
IPsec地址2(默認為備隧道地址):47.XX.XX.27
步驟二:在Azure平臺部署VPN
為在Azure虛擬網絡和阿里云VPC之間建立IPsec-VPN連接,您需要根據以下信息在Azure平臺部署VPN,配置需要的具體操作請咨詢Azure平臺。
在虛擬網絡中創建網關子網。創建虛擬網絡網關時將會使用到該子網。
創建虛擬網絡網關。
虛擬網絡網關關聯至需要和阿里云互通的虛擬網絡上。本文中虛擬網絡網關啟用主動-主動模式,并新建2個公網IP地址,其余配置采用默認值。
虛擬網絡網關創建完成后,您可以在公共IP地址頁面查看系統為虛擬網絡網關分配的公共IP地址。本文中系統分配的公共IP地址為4.XX.XX.224和4.XX.XX.166。
創建本地網絡網關。
您需要在Azure側創建2個本地網絡網關,每個本地網絡網關配置阿里云VPN網關實例的一個IP地址,同時將阿里云VPC實例網段和100.104.0.0/16網段一并配置到每個本地網絡網關上。
說明創建本地網絡網關時,您需要指定100.104.0.0/16網段,DTS服務將使用該網段下的地址遷移數據。
創建站點到站點VPN連接。
重要阿里云和Azure平臺下的IPsec-VPN連接均支持雙隧道模式,但由于Azure平臺的兩條隧道默認關聯至同一個本地網絡網關,而阿里云側兩條隧道擁有不同的IP地址,導致Azure平臺和阿里云側的兩條隧道無法做到一一對應建立連接。為確保阿里云側IPsec-VPN連接下兩條隧道同時啟用,您需要在Azure平臺創建兩個站點到站點的VPN連接,每個站點到站點VPN連接關聯不同的本地網絡網關。
下圖展示其中一個站點到站點VPN連接的配置,創建VPN連接時選擇站點到站點(IPsec)類型,并關聯需要和阿里云建立VPN連接的虛擬網絡網關,然后選擇一個本地網絡網關并設置共享密鑰,其余配置項使用默認值。另一個站點到站點VPN連接關聯與當前VPN連接不同的本地網絡網關,其余配置與當前VPN連接相同。
步驟三:在阿里云部署VPN網關
在Azure平臺完成VPN配置后,請根據以下信息在阿里云側部署VPN網關,以便Azure虛擬網絡和阿里云VPC之間建立IPsec-VPN連接。
創建用戶網關。
登錄VPN網關管理控制臺。
在左側導航欄,選擇
。在頂部菜單欄選擇用戶網關的地域。
用戶網關地域需和VPN網關實例的地域相同。
在用戶網關頁面,單擊創建用戶網關。
在創建用戶網關面板,根據以下信息進行配置,然后單擊確定。
您需要創建兩個用戶網關,并將Azure平臺虛擬網絡網關的2個公共IP地址作為用戶網關的IP地址,以建立兩個加密隧道。以下僅列舉本文強相關配置項,其余配置保持默認值或為空。更多信息,請參見創建和管理用戶網關。
配置項
說明
用戶網關1
用戶網關2
名稱
輸入用戶網關的名稱。
輸入用戶網關1。
輸入用戶網關2。
IP地址
輸入Azure平臺虛擬網絡網關的公共IP地址。
輸入4.XX.XX.224。
輸入4.XX.XX.166。
創建IPsec連接。
在左側導航欄,選擇
。在頂部菜單欄選擇IPsec連接的地域。
IPsec連接的地域需和VPN網關實例的地域相同。
在IPsec連接頁面,單擊創建IPsec連接。
在創建IPsec連接頁面,根據以下信息配置IPsec連接,然后單擊確定。
配置項
說明
本文示例值
名稱
輸入IPsec連接的名稱。
輸入IPsec連接。
資源組
選擇VPN網關實例所屬的資源組。
選擇默認資源組。
綁定資源
選擇IPsec連接綁定的資源類型。
選擇VPN網關。
VPN網關
選擇IPsec連接關聯的VPN網關實例。
選擇已創建的VPN網關。
路由模式
選擇路由模式。
目的路由模式:基于目的IP地址路由和轉發流量。
感興趣流模式:基于源IP地址和目的IP地址精確的路由和轉發流量。
選擇感興趣流模式。
本端網段
輸入VPN網關實例關聯的VPC實例下的網段。
輸入以下兩個網段:
VPC網段:10.0.0.0/16
DTS網段:100.104.0.0/16
重要您需要將DTS使用的地址段也添加到本端網段中,以便DTS通過VPN網關訪問對端的數據庫。
關于DTS地址段的更多信息,請參見添加DTS服務器的IP地址段。
對端網段
輸入VPN網關實例關聯的VPC實例要訪問的對端的網段。
輸入192.168.0.0/16。
立即生效
選擇IPsec連接的配置是否立即生效。取值:
是:配置完成后立即進行協商。
否:當有流量進入時進行協商。
選擇是。
啟用BGP
如果IPsec連接需要使用BGP路由協議,需要打開BGP功能的開關,系統默認關閉BGP功能。
本文保持默認值,即不開啟BGP功能。
Tunnel 1
為隧道1(主隧道)添加VPN相關配置。
系統默認隧道1為主隧道,隧道2為備隧道,且不支持修改。
用戶網關
為主隧道添加待關聯的用戶網關實例。
選擇用戶網關1。
預共享密鑰
輸入主隧道的認證密鑰,用于身份認證。
密鑰長度為1~100個字符,支持數字、大小寫英文字母及右側字符
~`!@#$%^&*()_-+={}[]\|;:',.<>/?
。若您未指定預共享密鑰,系統會隨機生成一個16位的字符串作為預共享密鑰。
重要隧道及其對端網關設備配置的預共享密鑰需一致,否則系統無法正常建立IPsec-VPN連接。
當前隧道的認證密鑰需和連接的Azure平臺VPN連接的密鑰一致。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
本文保持默認值。關于默認值的說明,請參見創建和管理IPsec連接(雙隧道模式)。
Tunnel 2
為隧道2(備隧道)添加VPN相關配置。
用戶網關
為備隧道添加待關聯的用戶網關實例。
選擇用戶網關2。
預共享密鑰
輸入備隧道的認證密鑰,用于身份認證。
當前隧道的認證密鑰需和Azure平臺VPN連接的密鑰一致。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
本文保持默認值。關于默認值的說明,請參見創建和管理IPsec連接(雙隧道模式)。
標簽
為IPsec連接添加標簽。
保持為空。
在創建成功對話框中,單擊取消。
配置VPN網關路由。
創建IPsec連接后需要為VPN網關實例配置路由。創建IPsec連接時,如果路由模式您選擇了感興趣流模式,在IPsec連接創建完成后,系統會自動在VPN網關實例下創建策略路由,路由是未發布狀態。您需要執行本操作,將VPN網關實例下的策略路由發布至VPC中。
在左側導航欄,選擇 。
在頂部菜單欄,選擇VPN網關實例的地域。
在VPN網關頁面,單擊目標VPN網關實例ID。
在VPN網關實例詳情頁面單擊策略路由表頁簽,找到目標路由條目,在操作列單擊發布。
在發布路由對話框,單擊確定。
步驟四:測試網絡連通性
完成上述配置后,阿里云VPC和Azure虛擬網絡下的資源已經可以互相通信了,您可以通過以下步驟驗證阿里云VPC和Azure虛擬網絡之間的網絡連通性。
在Azure虛擬網絡中創建并登錄Azure VM實例。具體操作,請咨詢Azure平臺。
在VM實例中執行
ping
命令,訪問阿里云RDS MySQL實例的內網地址。ping <阿里云RDS MySQL實例內網地址>
如果VM實例可以收到如下所示的回復報文,則證明阿里云VPC和Azure虛擬網絡下的資源可以正常通信。
獲取Azure MySQL服務器的IP地址。
在Azure VM實例下使用
ping
命令訪問Azure MySQL服務器的名稱,系統會自動返回Azure MySQL服務器的IP地址,后續DTS進行數據遷移時需要使用。
步驟五:創建DTS數據遷移任務
阿里云VPC和Azure虛擬網絡之間的資源可以互相通信后,您可以開始創建DTS數據遷移任務。DTS數據遷移任務配置完成后可以將Azure MySQL服務器中的數據遷移至阿里云RDS MySQL實例中。
進入目標地域的遷移任務列表頁面(二選一)。
通過DTS控制臺進入
登錄數據傳輸服務DTS控制臺。
在左側導航欄,單擊數據遷移。
在頁面左上角,選擇遷移實例所屬地域。
通過DMS控制臺進入
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多信息。請參見極簡模式控制臺和自定義DMS界面布局與樣式。
登錄DMS數據管理服務。
在頂部菜單欄中,選擇
。在遷移任務右側,選擇遷移實例所屬地域。
單擊創建任務,進入任務配置頁面。
可選:在頁面右上角,單擊試用新版配置頁。
說明若您已進入新版配置頁(頁面右上角的按鈕為返回舊版配置頁),則無需執行此操作。
新版配置頁和舊版配置頁部分參數有差異,建議使用新版配置頁。
配置源庫及目標庫信息。
類別
配置
說明
無
任務名稱
DTS會自動生成一個任務名稱,建議配置具有業務意義的名稱(無唯一性要求),便于后續識別。
源庫信息
數據庫類型
選擇MySQL。
接入方式
選擇專線/VPN網關/智能網關。
實例地區
選擇源MySQL數據庫所屬地域。
本文選擇德國(法蘭克福)。
是否跨阿里云賬號
選擇不跨賬號。
已和源端數據庫聯通的VPC
選擇VPN網關實例關聯的VPC實例。
DTS將通過IPsec-VPN連接訪問Azure MySQL服務器下的數據庫。
域名或IP地址
輸入源MySQL數據庫IP地址。
本文輸入Azure MySQL服務器的私網IP地址192.168.0.4。
端口
輸入源MySQL數據庫的服務端口。本文輸入3306。
數據庫賬號
輸入源MySQL數據庫的賬號。
數據庫密碼
輸入該數據庫賬號對應的密碼。
連接方式
請根據實際情況選擇非加密連接或SSL安全連接。
若Azure MySQL服務器未開啟SSL加密,請選擇非加密連接。
若Azure MySQL服務器已開啟SSL加密,請選擇SSL安全連接。同時,您還需要上傳CA 證書并填寫CA 密鑰。
本文中Azure MySQL服務器已關閉加密連接功能,使用非加密連接。
說明Azure MySQL服務器創建后默認使用加密連接,支持關閉加密連接。更多信息,請參見在 Azure Database for MySQL 靈活服務器實例上禁用 SSL 強制。
目標庫信息
數據庫類型
選擇MySQL。
接入方式
選擇云實例。
實例地區
選擇阿里云RDS MySQL實例所屬的地域。
本文選擇德國(法蘭克福)。
是否跨阿里云賬號
選擇不跨賬號。
RDS實例ID
選擇阿里云VPC下的RDS MySQL實例。
數據庫賬號
輸入RDS MySQL實例的數據庫賬號。
數據庫密碼
輸入該數據庫賬號對應的密碼。
連接方式
本文選擇非加密連接。
配置完成后,單擊頁面下方的測試連接以進行下一步。在DTS服務器訪問授權對話框,單擊測試連接。
請確保阿里云VPC和Azure虛擬網絡所應用的安全組規則允許DTS訪問。例如,在安全組規則的入方向允許100.104.0.0/16網段的資源通過。關于DTS使用的地址段的更多信息,請參見添加DTS服務器的IP地址段。
如果系統測試阿里云VPC和Azure虛擬網絡下的數據庫可以正常連通,則表明數據庫之間的網絡連通性正常,系統會跳轉至配置任務對象頁面。
如果系統測試阿里云VPC和Azure虛擬網絡下的數據庫無法正常連通,則不會跳轉至下一個頁面,請根據頁面提示排查問題。更多信息,請參見如何解決使用VPN將數據庫實例接入DTS時報錯。
在配置任務對象頁面,選擇遷移類型以及Azure MySQL服務器下要遷移至阿里云的數據庫,其余配置項及后續配置均保持默認配置。更多信息,請參見自建MySQL遷移至RDS MySQL。
配置完成后,DTS會自動開始數據遷移任務,您可以登錄阿里云RDS MySQL實例中,查看數據遷移結果。