全部產品
Search
文件中心

VPN Gateway:通過IPsec-VPN實現阿里雲VPC和AWS VPC互連

更新時間:Sep 28, 2024

本文介紹如何在阿里雲Virtual Private Cloud (VPC)和AWS VPC(Amazon Virtual Private Cloud)之間建立IPsec-VPN串連,實現阿里雲VPC和AWS VPC之間的相互連信。

情境樣本

本文以下圖情境為例。某企業在阿里雲德國(法蘭克福)地區建立了一個VPC,並在AWS的歐洲(法蘭克福)地區也擁有一個VPC,企業希望阿里雲VPC和AWS VPC可以互相通訊。

企業可以使用阿里雲VPN網關產品(使用公網網路類型的VPN網關執行個體)和AWS VPN產品在兩個VPC之間建立IPsec-VPN串連,實現兩個VPC之間的加密通訊。

網段規劃

重要

您可以自行規劃網段,請確保要互連的網段之間沒有重疊。

VPC執行個體網段規劃

資源

VPC執行個體的網段

執行個體IP地址

阿里雲VPC

  • 主網段:10.0.0.0/16

  • 交換器1網段:10.0.0.0/24,位於可用性區域B下

  • 交換器2網段:10.0.10.0/24,位於可用性區域C下

ECS IP地址:10.0.0.223

AWS VPC

  • 主網段:192.168.0.0/16

  • 子網網段:192.168.10.0/24,位於可用性區域eu-central-1a下

EC2 IP地址:192.168.10.113

IPsec-VPN串連BGP網段規劃

本文中將分別描述IPsec-VPN串連使用靜態路由和BGP動態路由情況下如何?阿里雲VPC和AWS VPC之間的通訊。如果您不需要使用BGP動態路由方式,可以忽略本部分。以下為本文的BGP網段規劃。

說明

在IPsec-VPN串連配置BGP動態路由協議的情況下,阿里雲側兩條隧道的本端自治系統號需保持相同,兩條隧道對端的BGP AS號可以不相同,但建議保持相同。

資源

IPsec串連名稱

隧道

BGP隧道網段

BGP IP地址

BGP AS號(本端自治系統號)

阿里雲VPN網關

IPsec串連

主隧道

169.254.116.208/30

說明

一個VPN網關執行個體下,每個隧道的網段需保持唯一。

169.254.116.210

65530

備隧道

169.254.214.96/30

169.254.214.98

AWS虛擬私人網關

網站到網站VPN串連1

隧道1

169.254.116.208/30

169.254.116.209

64512

隧道2

備隧道不使用。

網站到網站VPN串連2

隧道1

169.254.214.96/30

169.254.214.97

隧道2

備隧道不使用。

準備工作

  • 您已經在阿里雲德國(法蘭克福)地區建立一個VPC,VPC下通過Elastic Compute Service (ECS)部署相關資源。具體操作,請參見搭建IPv4專用網路

  • 您已經在AWS歐洲(法蘭克福)地區建立了一個VPC,VPC下通過EC2部署了相關資源。具體操作,請諮詢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串連支援的隧道模式。

    • 雙隧道

    • 單隧道

    關於單隧道和雙隧道的說明,請參見【升級公告】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.146

    IPsec地址2(預設為備隧道地址):8.XX.XX.74

步驟二:在AWS平台部署VPN

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

使用靜態路由方式

  1. 建立客戶網關。

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

  2. 建立虛擬私人網關。

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

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

    重要

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

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

    說明

    上圖中本地IPv4網路CIDR需指定為阿里雲VPC下的網段,遠程IPv4網路CIDR需指定為AWS VPC下的網段。

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

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

    網站到網站VPN串連

    隧道

    外部IP地址

    關聯的客戶網關IP地址

    網站到網站VPN串連1

    Tunnel 1

    3.XX.XX.52

    8.XX.XX.146

    網站到網站VPN串連2

    Tunnel 1

    3.XX.XX.56

    8.XX.XX.74

  4. 配置路由傳播。

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

使用BGP動態路由方式

  1. 建立客戶網關。

    您需要在AWS側建立2個客戶網關,將阿里雲VPN網關執行個體的2個IP地址作為客戶網關的IP地址,同時將阿里雲IPsec串連的BGP AS號註冊到AWS上。客戶網關

  2. 建立虛擬私人網關。

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

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

    重要

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

    下圖展示其中一個網站到網站VPN串連的配置,未展示的配置項使用預設值。另一個網站到網站VPN串連關聯與當前VPN串連不同的客戶網關隧道 1的內部IPv4 CIDR配置為169.254.214.96/30,其餘配置與當前VPN串連相同。隧道配置

    說明

    上圖中本地IPv4網路CIDR需指定為阿里雲VPC下的網段,遠程IPv4網路CIDR需指定為AWS VPC下的網段。

    網站到網站VPN串連建立完成後,您可以查看VPN串連下的隧道地址資訊。隧道詳細資料

  4. 查看隧道的預先共用金鑰和阿里雲側需配置的BGP IP地址。

    網站到網站VPN串連建立完成後,您需要在AWS平台下載隧道對端裝置(本文中指阿里雲VPN網關)的VPN設定檔,在VPN設定檔中查看阿里雲側需配置的預先共用金鑰和BGP IP地址。下載設定檔的操作,請參見下載設定檔。本文下載設定檔時供應商選擇Generic、IKE版本選擇IKEv2

    說明

    建立網站到網站的VPN串連時如果您指定了預先共用金鑰,無需再通過VPN設定檔查看。如果您使用了系統自動產生的預先共用金鑰,您可以通過VPN設定檔查看系統產生的預先共用金鑰。阿里雲側和AWS側隧道的預先共用金鑰需保持一致。

    查看預先共用金鑰

    預先共用金鑰

    查看阿里雲BGP IP地址

    BGP IP地址

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

    網站到網站VPN串連

    隧道

    外部IP地址

    AWS側BGP IP地址

    阿里雲側BGP IP地址

    關聯的客戶網關IP地址

    網站到網站VPN串連1

    Tunnel 1

    3.XX.XX.52

    169.254.116.209

    169.254.116.210

    8.XX.XX.146

    網站到網站VPN串連2

    Tunnel 1

    3.XX.XX.56

    169.254.214.97

    169.254.214.98

    8.XX.XX.74

  5. 配置路由傳播。

    您需要在虛擬私人網關關聯的VPC執行個體的路由表下開啟路由傳播,以確保網站到網站VPN串連下的路由可以自動傳播到AWS 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.52

      輸入3.XX.XX.56

      自治系統號

      輸入AWS虛擬私人網關的BGP AS號。

      說明

      使用BGP動態路由方式時,需配置該項。

      輸入64512

      輸入64512

  2. 建立IPsec串連。

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

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

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

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

    4. 建立IPsec串連頁面,根據以下資訊配置IPsec串連,然後單擊確定

      配置項

      說明

      本文樣本值

      名稱

      輸入IPsec串連的名稱。

      輸入IPsec串連

      綁定資源

      選擇IPsec串連綁定的資源類型。

      選擇VPN網關

      VPN網關

      選擇IPsec串連關聯的VPN網關執行個體。

      選擇已建立的VPN網關

      路由模式

      選擇路由模式。

      • 目的路由模式:基於目的IP地址路由和轉寄流量。

      • 感興趣流模式:基於源IP地址和目的IP地址精確的路由和轉寄流量。

      • 本文使用靜態路由方式時,選擇使用感興趣流模式(推薦)

        • 本端網段:輸入10.0.0.0/16。

        • 對端網段:輸入192.168.0.0/16。

      • 本文使用BGP動態路由方式時,選擇使用目的路由模式(推薦)。

      立即生效

      選擇IPsec串連的配置是否立即生效。取值:

      • :配置完成後立即進行協商。

      • :當有流量進入時進行協商。

      選擇

      啟用BGP

      如果IPsec串連需要使用BGP路由協議,需要開啟BGP功能的開關,系統預設關閉BGP功能。

      本文此處保持預設值不開啟BGP配置開關,預設為靜態路由方式。IPsec串連建立完成後如需使用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串連(雙隧道模式)

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

  3. 配置VPN網關路由。

    使用靜態路由方式

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

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

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

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

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

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

    使用BGP動態路由方式

    1. 為IPsec串連添加BGP配置。

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

      2. IPsec串連頁面,找到IPsec串連,單擊IPsec串連ID。

      3. IPsec串連基本資料地區,在啟用BGP右側單擊按鈕,在BGP配置對話方塊根據以下資訊進行配置,然後單擊確定

        配置項

        配置項說明

        IPsec串連配置

        本端自治系統號

        輸入IPsec串連的自治系統號。

        本文輸入65530

        Tunnel 1

        為主隧道添加BGP配置。

        為IPsec串連的主隧道添加BGP配置。

        隧道網段

        輸入建立加密隧道時使用的網段。

        本文輸入169.254.116.208/30

        本端BGP地址

        輸入IPsec串連的BGP IP地址。

        該地址為隧道網段內的一個IP地址。

        本文輸入169.254.116.210

        Tunnel 2

        為備隧道添加BGP配置。

        為IPsec串連的備隧道添加BGP配置。

        隧道網段

        輸入建立加密隧道時使用的網段。

        本文輸入169.254.214.96/30

        本端BGP地址

        輸入IPsec串連的BGP IP地址。

        該地址為隧道網段內的一個IP地址。

        本文輸入169.254.214.98

    2. 根據以下步驟為VPN網關執行個體開啟BGP路由自動傳播功能。

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

      2. VPN網關頁面,找到VPN網關執行個體,在操作列選擇更多 > 開啟路由自動傳播

      3. 開啟路由自動傳播對話方塊,單擊確定

步驟四:測試連通性

配置完成後,阿里雲VPC和AWS VPC之間已經成功建立IPsec-VPN串連。下文以阿里雲ECS執行個體訪問AWS EC2執行個體為例,測試VPC之間的連通性。

說明

在測試連通性前,請先在AWS平台和阿里雲側分別排查VPC執行個體所應用的存取控制策略(例如網路ACL、安全性群組規則等),以確保存取控制策略允許兩個VPC執行個體下的資源互相訪問。

  1. 登入阿里雲VPC執行個體下的一個ECS執行個體。關於如何登入ECS執行個體,請參見ECS遠端連線方式概述

  2. 在ECS執行個體中執行ping命令,訪問AWS平台的EC2執行個體,驗證通訊是否正常。

    如果ECS執行個體可以收到AWS平台EC2執行個體的回複報文,則證明VPC之間可以正常通訊。

    ping <AWS平台EC2執行個體的私網IP地址>

    AWS連通性.png

  3. 測試IPsec-VPN串連的高可用性。

    雙隧道模式的IPsec-VPN擁有高可用性,在主隧道中斷的情況下,流量自動通過備隧道進行傳輸。以下內容介紹如何驗證雙隧道模式IPsec-VPN串連的高可用性。

    1. 保持登入阿里雲VPC執行個體下的ECS執行個體。

    2. 執行以下命令,使阿里雲下的ECS執行個體持續訪問AWS平台的EC2執行個體。

      ping <AWS平台EC2執行個體的私網IP地址> -c 10000
    3. 中斷IPsec-VPN串連的主隧道。

      本文通過在阿里雲側修改IPsec串連下主隧道的預先共用金鑰來中斷主隧道,主隧道兩端的預先共用金鑰不一致,則主隧道會中斷。

    4. 查看阿里雲ECS執行個體下的通訊情況,會發現ECS執行個體下的流量在短暫中斷後,又重新恢複通訊,表示在主隧道中斷後,流量自動通過備隧道進行通訊。

      您可以在阿里雲監控頁簽查看隧道的流量監控資訊。具體操作,請參見監控IPsec串連