全部產品
Search
文件中心

VPN Gateway:DTS基於VPN網關實現阿里雲RDS和AWS EC2間的資料同步

更新時間:Jan 03, 2025

如果您需要將AWS平台的資料同步至阿里雲平台,您可以在AWS VPC和阿里雲VPC之間建立網路連接,在VPC間實現網路互連的基礎上,再通過Data Transmission Service (DTS)將AWS平台的資料同步至阿里雲平台。本文介紹如何建立IPsec-VPN串連(綁定VPN網關執行個體)實現AWS VPC和阿里雲VPC之間的網路互連,並介紹如何通過DTS將AWS EC2中的資料同步至阿里雲ApsaraDB RDS中。

情境樣本

本文以上圖情境為例。某企業在AWS平台的歐洲(法蘭克福)地區擁有一個VPC,VPC中使用EC2部署了MySQL資料庫。同時,企業在阿里雲德國(法蘭克福)地區也擁有一個VPC,並且VPC下已建立RDS MySQL執行個體。因業務需要,企業需要將AWS EC2中的資料即時同步至阿里雲RDS MySQL執行個體中。

企業可以先使用IPsec-VPN(綁定VPN網關)在AWS VPC和阿里雲VPC之間建立網路連接,在兩個VPC內資源支援互連的情況下,再使用DTS將ECS2中的資料同步至阿里雲RDS MySQL執行個體中。

前提條件

在開始操作前,請確保您已經擁有以下環境並且已獲得對應的資源資訊:

  • 在AWS平台歐洲(法蘭克福)地區擁有一個VPC,VPC下使用EC2部署了MySQL資料庫。具體操作,請諮詢AWS平台

  • 在阿里雲平台德國(法蘭克福)地區擁有一個VPC,VPC下已經建立了RDS MySQL版資料庫。具體操作,請參見(廢棄,重新導向到“第一步”)快速建立RDS MySQL執行個體

  • 您已知VPC間要互連的網段資訊以及要進行資料同步的2個資料庫帳號資訊。

    重要

    資源

    要互連的網段

    IP地址

    資料庫帳號

    阿里雲VPC

    10.0.0.0/16

    RDS MySQL執行個體的內網地址:rm-gw8x4h4tg****.mysql.germany.rds.aliyuncs.com

    如何擷取RDS MySQL執行個體的內網地址,請參見查看和管理執行個體串連地址和連接埠

    • 使用者名稱:AliyunUser

    • 密碼:Hello1234****

    AWS VPC

    192.168.0.0/16

    資料庫所屬EC2執行個體的IP地址:192.168.30.158

    • 使用者名稱:AWSUser

    • 密碼:Hello5678****

    • 資料庫提供服務連接埠號碼:3306

  • 單擊查看本文中要同步的樣本資料庫。

    AWS表

配置步驟

步驟一:在阿里雲建立VPN網關執行個體

您需要先在阿里雲建立一個VPN網關執行個體,VPN網關執行個體建立完成後,系統會為VPN網關執行個體分配2個IP地址,這2個IP地址用於與AWS平台建立IPsec-VPN串連。

  1. 登入VPN網關管理主控台

  2. 在頂部功能表列,選擇VPN網關的地區。

    VPN網關的地區需和待綁定的VPC執行個體的地區相同。

  3. VPN網關頁面,單擊建立VPN網關

  4. 在購買頁面,根據以下資訊配置VPN網關,然後單擊立即購買並完成支付。

    以下僅列舉本文強相關的配置,其餘配置項保持預設值或為空白。更多資訊,請參見建立和管理VPN網關執行個體

    配置項

    說明

    本文樣本值

    執行個體名稱

    輸入VPN網關執行個體的名稱。

    輸入VPN網關。

    地區

    選擇VPN網關執行個體所屬的地區。

    選擇德國(法蘭克福)

    網關類型

    選擇VPN網關執行個體的網關類型。

    選擇普通型

    網路類型

    選擇VPN網關執行個體的網路類型。

    選擇公網

    隧道

    系統直接展示當前地區IPsec-VPN串連支援的隧道模式。

    • 雙隧道

    • 單隧道

    關於單隧道和雙隧道的說明,請參見綁定VPN網關情境雙隧道IPsec-VPN串連說明

    本文保持預設值雙隧道

    專用網路

    選擇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功能。

  5. 返回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

步驟二:在AWS平台部署VPN

為在AWS VPC和阿里雲VPC之間建立IPsec-VPN串連,您需要根據以下資訊在AWS平台部署VPN,具體操作請諮詢AWS平台。

說明

本文中AWS VPC和阿里雲VPC之間的IPsec-VPN串連使用的是靜態路由方式,如果您需要使用BGP動態路由方式,請參見通過IPsec-VPN實現阿里雲VPC和AWS VPC互連

  1. 建立客戶網關。

    您需要在AWS側建立2個客戶網關,將阿里雲VPN網關執行個體的2個IP地址作為客戶網關的IP地址。客戶網關

  2. 建立虛擬私人網關。

    您需要在AWS側建立虛擬私人網關,並將虛擬私人網關綁定到需要和阿里雲互連的VPC執行個體上。虛擬私人網關

  3. 建立網站到網站VPN串連。

    重要
    • 阿里雲和AWS平台下的IPsec-VPN串連均支援雙隧道模式,但由於AWS平台的兩條隧道預設關聯至同一個客戶網關,而阿里雲側兩條隧道擁有不同的IP地址,導致AWS平台和阿里雲側的兩條隧道無法做到一一對應建立串連。為確保阿里雲側IPsec-VPN串連下兩條隧道同時啟用,您需要在AWS平台建立兩個網站到網站的VPN串連,每個網站到網站VPN串連關聯不同的客戶網關。

    • 為網站到網站VPN串連配置路由時,您除了要指定阿里雲VPC網段外,還需要指定100.104.0.0/16網段,DTS服務將使用該網段下的地址同步資料。

    下圖展示其中一個網站到網站VPN串連的配置,隧道選項配置使用預設值。另一個網站到網站VPN串連關聯與當前VPN串連不同的客戶網關,其餘配置與當前VPN串連相同。VPN串連

    網站到網站VPN串連建立完成後,您可以查看VPN串連下的隧道地址資訊,用於後續在阿里雲側建立IPsec-VPN串連。隧道地址

    本文中,2個VPN串連隧道1的外部IP地址以及關聯的客戶網關IP地址如下表所示:

    網站到網站VPN串連

    隧道

    外部IP地址

    關聯的客戶網關IP地址

    網站到網站VPN串連1

    Tunnel 1

    3.XX.XX.5

    8.XX.XX.130

    網站到網站VPN串連2

    Tunnel 1

    3.XX.XX.239

    47.XX.XX.27

  4. 配置路由傳播。

    您需要在虛擬私人網關關聯的VPC執行個體的路由表下開啟路由傳播,以確保網站到網站VPN串連下的路由可以自動傳播到VPC執行個體的路由表中。AWS路由傳播.png

    AWS VPC路由表中將包含阿里雲VPC網段以及DTS服務使用的網段。VPC路由表

步驟三:在阿里雲部署VPN網關

在AWS平台完成VPN配置後,請根據以下資訊在阿里雲側部署VPN網關,以便AWS VPC和阿里雲VPC之間建立IPsec-VPN串連。

  1. 建立使用者網關。

    1. 登入VPN網關管理主控台

    2. 在左側導覽列,選擇網間互聯 > VPN > 使用者網關

    3. 在頂部功能表列選擇使用者網關的地區。

      使用者網關地區需和VPN網關執行個體的地區相同。

    4. 使用者網關頁面,單擊建立使用者網關

    5. 建立使用者網關面板,根據以下資訊進行配置,然後單擊確定

      您需要建立兩個使用者網關,並將AWS平台網站到網站VPN串連的隧道外部IP地址作為使用者網關的IP地址,以建立兩個加密隧道。以下僅列舉本文強相關配置項,其餘配置保持預設值或為空白。更多資訊,請參見建立和系統管理使用者網關

      重要

      僅使用每個網站到網站VPN串連的Tunnel1的外部IP地址作為使用者網關的地址。每個網站到網站VPN串連的Tunnel2的外部IP地址預設不使用,IPsec-VPN串連建立完成後,每個網站到網站VPN串連的Tunnel2預設不通。

      配置項

      說明

      使用者網關1

      使用者網關2

      名稱

      輸入使用者網關的名稱。

      輸入使用者網關1

      輸入使用者網關2

      IP地址

      輸入AWS平台隧道的外部IP地址。

      輸入3.XX.XX.5

      輸入3.XX.XX.239

  2. 建立IPsec串連。

    1. 在左側導覽列,選擇網間互聯 > VPN > IPsec串連

    2. 在頂部功能表列選擇IPsec串連的地區。

      IPsec串連的地區需和VPN網關執行個體的地區相同。

    3. IPsec串連頁面,單擊建立IPsec串連

    4. 建立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串連。

      當前隧道的認證密鑰需和串連的AWS平台隧道的密鑰一致。

      加密配置

      添加IKE配置、IPsec配置、DPD、NAT穿越等配置。

      • IKE配置SA生存周期(秒)需與AWS平台保持一致,本文設定為28800。

      • IPsec配置SA生存周期(秒)需與AWS平台保持一致,本文設定為3600。

      其餘配置項使用預設值。關於預設值的說明,請參見建立和管理IPsec串連(雙隧道模式)

      Tunnel 2

      為隧道2(備隧道)添加VPN相關配置。

      使用者網關

      為備隧道添加待關聯的使用者網關執行個體。

      選擇使用者網關2

      預先共用金鑰

      輸入備隧道的認證密鑰,用於身份認證。

      當前隧道的認證密鑰需和串連的AWS平台隧道的密鑰一致。

      加密配置

      添加IKE配置、IPsec配置、DPD、NAT穿越等配置。

      • IKE配置SA生存周期(秒)需與AWS平台保持一致,本文設定為28800。

      • IPsec配置SA生存周期(秒)需與AWS平台保持一致,本文設定為3600。

      其餘配置項使用預設值。關於預設值的說明,請參見建立和管理IPsec串連(雙隧道模式)

      標籤

      為IPsec串連添加標籤。

      保持為空白。

    5. 建立成功對話方塊中,單擊取消

  3. 配置VPN網關路由。

    建立IPsec串連後需要為VPN網關執行個體配置路由。建立IPsec串連時,如果路由模式您選擇了感興趣流模式,在IPsec串連建立完成後,系統會自動在VPN網關執行個體下建立策略路由,路由是未發布狀態。您需要執行本操作,將VPN網關執行個體下的策略路由發布至VPC中。

    1. 在左側導覽列,選擇網間互聯 > VPN > VPN網關

    2. 在頂部功能表列,選擇VPN網關執行個體的地區。

    3. VPN網關頁面,單擊目標VPN網關執行個體ID。

    4. 在VPN網關執行個體詳情頁面單擊策略路由表頁簽,找到目標路由條目,在操作列單擊發布

    5. 發布路由對話方塊,單擊確定

    阿里雲VPC的路由表中將會包含AWS VPC的網段。VPC路由表1

步驟四:測試網路連通性

完成上述配置後,阿里雲VPC和AWS VPC下的資源已經可以互相通訊了,您可以通過以下步驟驗證阿里雲VPC和AWS VPC之間的網路連通性。

重要

在測試連通性前,請確保您已經瞭解阿里雲VPC和AWS VPC所應用的安全性群組規則,並確保安全性群組規則允許VPC下的資源互相通訊。

  1. 登入AWS EC2執行個體。具體操作,請諮詢AWS平台。

  2. 在EC2執行個體中執行ping命令,訪問阿里雲RDS MySQL執行個體的內網地址。

    ping <阿里雲RDS MySQL執行個體內網地址>

    如果EC2執行個體可以收到如下所示的回複報文,則證明阿里雲VPC和AWS VPC下的資源可以正常通訊。測試連通性

步驟五:建立DTS資料同步任務

VPC之間的資源可以互相通訊後,您可以開始建立DTS資料同步任務。DTS資料同步任務配置完成後可以將EC2中的資料同步至阿里雲RDS MySQL執行個體中。

  1. 進入目標地區的同步工作清單頁面(二選一)。

    通過DTS控制台進入

    1. 登入Data Transmission Service控制台

    2. 在左側導覽列,單擊資料同步

    3. 在頁面左上方,選擇同步執行個體所屬地區。

    通過DMS控制台進入

    說明

    實際操作可能會因DMS的模式和布局不同,而有所差異。更多資訊,請參見極簡模式控制台自訂DMS介面布局與樣式

    1. 登入Data Management服務

    2. 在頂部功能表列中,選擇整合與開發 > 資料轉送(DTS) > 資料同步

    3. 同步任務右側,選擇同步執行個體所屬地區。

  2. 單擊創建任務,進入任務配置頁面。

  3. 可選:在頁面右上方,單擊試用新版配置頁

    說明
    • 若您已進入新版配置頁(頁面右上方的按鈕為返回舊版配置頁),則無需執行此操作。

    • 新版配置頁和舊版配置頁部分參數有差異,建議使用新版配置頁。

  4. 配置源庫及目標庫資訊。

    類別

    配置

    說明

    任務名稱

    DTS會自動產生一個任務名稱,建議配置具有業務意義的名稱(無唯一性要求),便於後續識別。

    源庫資訊

    資料庫類型

    選擇MySQL

    接入方式

    選擇專線/VPN網關/智能網關

    執行個體地區

    選擇源MySQL資料庫所屬地區。

    本文選擇德國(法蘭克福)

    是否跨阿里雲帳號

    選擇不跨帳號

    已和源端資料庫聯通的VPC

    選擇VPN網關執行個體關聯的VPC執行個體。

    DTS將通過IPsec-VPN串連訪問AWS EC2下的資料庫。

    網域名稱或IP地址

    輸入源MySQL資料庫主機IP地址。

    本文輸入AWS EC2的私網IP地址192.168.30.158

    連接埠

    輸入源MySQL資料庫的服務連接埠。本文輸入3306

    資料庫帳號

    輸入源MySQL資料庫的帳號。

    資料庫密碼

    輸入該資料庫帳號對應的密碼。

    串連方式

    本文使用預設值非加密串連

    目標庫資訊

    資料庫類型

    選擇MySQL

    接入方式

    選擇雲執行個體

    執行個體地區

    選擇阿里雲RDS MySQL執行個體所屬的地區。

    本文選擇德國(法蘭克福)

    是否跨阿里雲帳號

    選擇不跨帳號

    RDS執行個體ID

    選擇阿里雲VPC下的RDS MySQL執行個體。

    資料庫帳號

    輸入RDS MySQL執行個體的資料庫帳號。

    資料庫密碼

    輸入該資料庫帳號對應的密碼。

    串連方式

    本文使用預設值非加密串連

  5. 配置完成後,單擊頁面下方的測試連接以進行下一步。在DTS伺服器訪問授權對話方塊,單擊測試連接

    請確保阿里雲VPC和AWS VPC所應用的安全性群組規則允許DTS訪問。例如,在安全性群組規則的入方向允許100.104.0.0/16網段的資源通過。關於DTS使用的位址區段的更多資訊,請參見添加DTS伺服器的IP位址區段

    • 如果系統測試VPC下的資料庫可以正常連通,則表明資料庫之間的網路連通性正常,系統會跳轉至配置任務對象頁面。

    • 如果系統測試VPC下的資料庫無法正常連通,則不會跳轉至下一個頁面,請根據頁面提示排查問題。更多資訊,請參見如何解決使用VPN將資料庫執行個體接入DTS時報錯

  6. 配置任務對象頁面,選擇AWS EC2下要同步至阿里雲的資料庫,其餘配置項及後續配置均保持預設配置。更多資訊,請參見專線、VPN網關或智能網關接入的自建MySQL同步至RDS MySQL

    同步的表

    配置完成後,DTS會自動開始資料同步任務,您可以登入阿里雲RDS MySQL執行個體中,查看資料同步結果。資料同步結果

相關文檔