全部產品
Search
文件中心

PrivateLink:通過PrivateLink跨VPC私網訪問ALB

更新時間:Jul 19, 2024

如果您需要將一個VPC內部署的ALB共用給同帳號下的另一個VPC訪問,您可以將ALB作為提供方VPC的服務資源,然後通過PrivateLink建立兩個VPC之間的網路連接,來實現跨VPC私網訪問ALB資源。

背景資訊

VPC是您獨自擁有的雲上私人網路,不同VPC之間完全隔離。您可以通過私網串連建立VPC與阿里雲服務之間安全穩定的私人串連,簡化網路架構,避免通過公網訪問服務帶來的潛在安全風險。

通過私網串連實現私網訪問,您需要建立終端節點服務和終端節點。

  • 終端節點服務

    終端節點服務可以與其他VPC的終端節點建立私網串連服務,由服務提供者建立和管理。

  • 終端節點

    終端節點可以與終端節點服務相關聯,以建立通過VPC私網訪問外部服務的網路連接。終端節點由服務使用方建立和管理。

相關主體

相關組件

服務提供者

建立和管理終端節點服務。

服務使用方

建立和管理終端節點。

ALB是支援多可用性區域的服務資源,具備超強彈性及大規模應用程式層流量處理能力,同時提供基於內容的進階路由特性。使用ALB作為終端節點服務的服務資源時,可以配置一個為多個可用性區域提供服務的ALB服務資源,不需要為每個可用性區域配置單獨的ALB服務資源。更多資訊,請參見什麼是應用型負載平衡ALB

情境樣本

本文以下圖情境為例。某公司使用阿里雲帳號A在華東1(杭州)地區建立了VPC1和VPC2,在VPC1中建立了ECS01和ECS02執行個體,在VPC2中建立了ECS03和ECS04執行個體並部署了不同的Nginx服務。現因業務發展,VPC1的ECS執行個體需要通過私網訪問VPC2中ECS部署的服務。

您需要在VPC2中建立支援私網串連的ALB執行個體,該執行個體包含華東1(杭州)地區的可用性區域H和可用性區域I,然後建立後端伺服器組RS1,將ECS03執行個體和ECS04執行個體添加到ALB的後端伺服器組。建立終端節點服務,將ALB執行個體添加為服務資源。在VPC1中建立終端節點,建立成功後,終端節點與終端節點服務建立串連且狀態正常時,VPC1的ECS執行個體即可私網訪問VPC2中ECS部署的服務。

使用限制

  • 建立支援私網串連功能的ALB執行個體時,只支援建立IP模式為固定IP的私網ALB執行個體。

  • 建立終端節點服務時,選擇地區需要同時支援私網串連和ALB執行個體的地區。關於私網串連和ALB執行個體支援的地區,請參見私網串連支援的地區支援ALB的地區與可用性區域

  • 終端節點和終端節點服務需要部署在一個可用性區域內,且該可用性區域必須是ALB執行個體部署的可用性區域。

前提條件

  • 您已經在華東1(杭州)地區建立了VPC1和VPC2,並且在VPC1中建立了一個位於可用性區域H和可用性區域I的交換器,在VPC2中建立了一個位於可用性區域H和可用性區域I的交換器。具體操作,請參見建立專用網路和交換器

  • 您已經在VPC1中建立了位於可用性區域H的ECS01和位於可用性區域I的ECS02,用於發送請求。在VPC2中建立了位於可用性區域H的ECS03和位於可用性區域I的ECS04,用於接收和處理請求,且ECS03和ECS04部署了不同的Nginx服務。關於如何建立ECS執行個體和部署Nginx服務。

    • 關於如何建立ECS執行個體,請參見自訂購買執行個體

    • 本文ECS03與ECS04部署測試應用樣本如下:

      ECS03服務部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS03." > index.html

      ECS04服務部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS04." > index.html
  • 您已經在VPC1建立了安全性群組。您可以根據自己的實際業務和安全要求配置安全性群組規則。

    具體操作,請參見建立安全性群組

    說明

    VPC2中使用的安全性群組是在建立ECS03和ECS04時,阿里雲為您建立的預設安全性群組。

本文中的2個VPC網路規劃如下表所示,在您規劃網路時,選擇的VPC1和VPC2的網段可以重疊且互不影響。

屬性

VPC1

VPC2

網路執行個體所屬的地區

華東1(杭州)

華東1(杭州)

網路執行個體的網段規劃

  • VPC網段:10.0.0.0/8

  • 交換器1網段:10.0.10.0/24

  • 交換器2網段:10.10.0.0/24

  • VPC網段:192.168.0.0/16

  • 交換器1網段:192.168.3.0/24

  • 交換器2網段:192.168.5.0/24

網路執行個體交換器的可用性區域

  • 交換器1位於可用性區域H

  • 交換器2位於可用性區域I

  • 交換器1位於可用性區域H

  • 交換器2位於可用性區域I

伺服器IP地址

  • 可用性區域H下的ECS01 IP:10.0.10.3

  • 可用性區域I下的ECS02 IP:10.10.0.27

  • 可用性區域H下的ECS03 IP:192.168.3.190

  • 可用性區域I下的ECS04 IP:192.168.5.20

配置流程

步驟一:建立支援私網串連功能的ALB執行個體

  1. 登入應用型負載平衡ALB控制台

  2. 執行個體頁面,單擊建立應用型負載平衡

  3. 應用型負載平衡(隨用隨付)購買頁面,根據以下資訊配置支援私網串連的ALB執行個體,然後單擊立即購買

    配置

    說明

    地區

    選擇執行個體所屬的地區。本文選擇華東1(杭州)

    執行個體網路類型

    選擇執行個體的網路類型。本文只支援選擇私網

    VPC

    選擇執行個體所屬的VPC。本文選擇VPC2。

    可用性區域

    執行個體所在的可用性區域,需要選擇至少2個可用性區域。本文選擇杭州 可用性區域H以及可用性區域H下的交換器、杭州 可用性區域I以及可用性區域I下的交換器。

    IP模式

    選擇執行個體的IP地址模式。本文只支援選擇固定IP

    協議版本

    選擇執行個體的協議版本。本文選擇IPv4

    • IPv4:表示ALB執行個體僅支援用戶端使用IPv4地址訪問。

    • 雙棧:表示ALB執行個體支援用戶端同時使用IPv4和IPv6地址訪問。

    功能版本(執行個體費)

    選擇執行個體的功能版本。本文選擇基礎版

    執行個體名稱

    自訂執行個體名稱。

    資源群組

    選擇ALB所屬的資源群組。本文選擇預設資源群組

步驟二:建立ALB的後端伺服器組

  1. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  2. 伺服器組頁面,單擊建立伺服器組

  3. 建立伺服器組對話方塊,根據以下資訊配置相關參數,然後單擊建立

    此處僅列舉和本文強相關的配置。關於其餘參數的配置,請參見建立和管理伺服器組

    配置

    說明

    伺服器群組類型

    選擇伺服器組的類型。本文選擇伺服器類型

    伺服器組名稱

    自訂伺服器組的名稱。本文輸入RS1

    VPC

    選擇後端伺服器組所屬的VPC。本文選擇VPC2。

    選擇後端協議

    選擇一種後端類型。本文選擇HTTP

    選擇調度演算法

    選擇一種調度演算法。本文選擇加權輪詢

    選擇資源群組

    選擇雲資源所屬的資源群組。

  4. 建立完成後,找到目標後端伺服器組RS1,單擊目標伺服器組ID。

  5. 單擊後端伺服器頁簽,然後單擊添加後端伺服器

  6. 添加後端伺服器面板,選擇已建立的ECS03執行個體和ECS04執行個體,單擊下一步

  7. 設定已添加的ECS03執行個體和ECS04執行個體的連接埠和權重,本文連接埠設定為80,權重保持預設值100,單擊確定

步驟三:配置監聽

  1. 在左側導覽列,選擇應用型負載平衡ALB > 執行個體,單擊執行個體ID。

  2. 單擊監聽頁簽,然後單擊建立監聽

  3. 配置監聽設定精靈,完成以下配置,然後單擊下一步

    此處僅列舉和本文強相關的配置。關於其餘參數的配置,請參見添加HTTP監聽

    配置

    說明

    選擇負載平衡協議

    選擇監聽的協議類型。本文選擇HTTP

    監聽連接埠

    用來接收和處理請求的監聽連接埠。本文輸入80

    監聽名稱

    輸入自訂監聽的名稱。

    進階配置

    單擊修改進行配置。本文保持預設值。

  4. 選擇伺服器組設定精靈,選擇步驟二中建立的後端伺服器組RS1,然後單擊下一步

  5. 組態稽核設定精靈,確認監聽配置資訊,然後單擊提交

  6. 負載平衡業務設定精靈對話方塊,單擊知道了,然後返回執行個體管理頁面。

    當監聽的健全狀態檢查狀態為正常時,表示後端伺服器ECS03和ECS04可以正常處理ALB執行個體轉寄的請求了。ALB

步驟四:建立終端節點服務

  1. 登入終端節點服務控制台

  2. 在頂部功能表列,選擇要建立終端節點服務的地區。本文選擇華東1(杭州)

  3. 終端節點服務頁面,單擊建立終端節點服務

  4. 建立終端節點服務頁面,根據以下資訊配置終端節點服務,然後單擊確定建立

    此處僅列舉和本文強相關的配置。關於其餘參數的配置,請參見建立終端節點服務

    參數

    描述

    服務資源類型

    終端節點服務下的服務資源的類型。本文選擇應用負載平衡ALB

    選擇服務資源

    選擇服務資源的可用性區域及可用性區域下的服務資源。

    本文可用性區域選擇杭州 可用性區域H杭州 可用性區域I ,可用性區域H和可用性區域I的服務資源選擇步驟一中建立的支援私網串連的ALB執行個體。

    自動接受終端節點串連

    選擇是否自動接受終端節點的串連請求。本文選擇

    是否支援同可用性區域優先

    本文選擇,表示串連服務的終端節點網域名稱不支援就近解析。

    資源群組

    選擇終端節點服務所在資源群組。

    建立完終端節點服務後,您可以看到一個服務資源類型ALB的終端節點服務。終端節點服務

步驟五:建立終端節點

  1. 登入終端節點控制台

  2. 在頂部功能表列,選擇要建立終端節點的地區。本文選擇華東1(杭州)

  3. 終端節點頁面,單擊介面終端節點頁簽,然後單擊建立終端節點

  4. 建立終端節點頁面,根據以下資訊配置終端節點,然後單擊確定建立

    此處僅列舉和本文強相關的配置。關於其餘參數的配置,請參見建立終端節點

    參數

    描述

    節點名稱

    自訂終端節點的名稱。

    終端節點類型

    終端節點選擇的節點類型。本文選擇介面終端節點

    終端節點服務

    選擇目標終端節點服務。

    本文先單擊選擇可用服務,然後選擇步驟四建立的終端節點服務。

    專用網路

    選擇終端節點所屬的專用網路。本文選擇VPC1。

    安全性群組

    選擇要與終端節點網卡關聯的安全性群組。安全性群組可以管控VPC1到終端節點網卡的資料通訊。

    說明

    確保安全性群組內的規則開放了用戶端對終端節點網卡的訪問。

    一個終端節點預設最多支援添加5個安全性群組。

    可用性區域與交換器

    選擇終端節點服務對應的可用性區域,然後選擇該可用性區域內的交換器,系統會自動在該交換器下建立一個終端節點網卡。

    本文可用性區域選擇杭州 可用性區域H杭州 可用性區域I並選擇可用性區域內的交換器。

    資源群組

    選擇終端節點所在資源群組。

    建立完終端節點後,您可以看到產生的終端節點可用性區域的網域名稱和IP。

步驟六:接受串連請求

終端節點發送串連請求後,終端節點服務需要接受終端節點的串連請求。接受後,VPC1才能通過終端節點訪問終端節點服務。

說明

如果您在步驟四建立終端節點服務時設定自動接受串連請求,請忽略此步驟。

  1. 在左側導覽列,單擊終端節點服務

  2. 在頂部功能表列處,選擇終端節點服務的地區。本文選擇華東1(杭州)

  3. 終端節點服務頁面,找到步驟四建立的終端節點服務,單擊終端節點服務的執行個體ID。

  4. 在終端節點服務詳情頁面,單擊終端節點串連頁簽,找到目標終端節點,在操作列單擊允許

  5. 允許串連對話方塊,勾選允許串連並自動分配服務資源,然後單擊確定

接受終端節點串連的串連請求後,終端節點串連的狀態由已斷開變為已串連,表示終端節點服務可以處理終端節點發送的請求了。您可以通過步驟五產生的終端節點可用性區域的網域名稱或者IP訪問終端節點服務。接受終端節點串連

步驟七:測試連通性

完成上述操作後,VPC1和VPC2之間已經可以實現私網通訊,本文以下面內容為例,為您展示如何測試VPC1與VPC2之間的連通性。

說明
  • 本文中ECS執行個體安裝了Alibaba Cloud Linux作業系統,如果您使用的是其他動作系統,如何測試VPC1和VPC2之間的連通性請參見您的作業系統手冊。

  • 本文終端節點服務和終端節點均添加了2個可用性區域,支援高可用,您可通過產生的終端節點服務網域名稱訪問服務。

  1. 遠程登入VPC1中的ECS01和ECS02執行個體。具體操作,請參見ECS遠端連線操作指南

  2. 登入VPC1中的ECS執行個體之後,您有以下兩種方式測試VPC之間的連通性。

    • 通過終端節點服務網域名稱訪問VPC2中部署的服務。該網域名稱能在PrivateLink可用性區域之間做輪詢,並進行健全狀態檢查提供高可用,當某一個可用性區域出現故障時,流量也能通過正常的可用性區域轉寄。

      1. 在終端節點詳情頁,查看產生的終端節點服務網域名稱。

        image

      2. 執行curl命令,測試連通性。

        image

    • 指定可用性區域網域名稱或IP訪問VPC2中部署的服務。

      1. 在終端節點詳情頁,單擊可用性區域與網卡頁簽,查看產生的可用性區域網域名稱和IP地址。

        image

      2. 執行curl命令,測試連通性。

        image

相關文檔