全部產品
Search
文件中心

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

更新時間:Jul 24, 2024

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

背景資訊

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

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

  • 終端節點服務

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

  • 終端節點

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

相關主體

相關組件

服務提供者

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

服務使用方

建立和管理終端節點。

NLB是阿里雲面向萬物互聯時代推出的新一代四層負載平衡,支援超高效能和自動彈效能力,單一實例可以達到1億並發串連,幫您輕鬆應對高並發業務。使用NLB作為終端節點服務的服務資源時,可以配置一個為多個可用性區域提供服務的NLB服務資源,不需要為每個可用性區域配置單獨的NLB服務資源。更多資訊,請參見什麼是網路型負載平衡NLB

情境樣本

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

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

使用限制

  • NLB作為服務資源時,必須是私網類型的NLB執行個體。

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

  • 只有終端節點和終端節點服務是同可用性區域才可以建立串連,終端節點部署的可用性區域必須是終端節點服務資源部署的可用性區域的子集,因此建議終端節點服務資源部署選擇該地區下的全部或者儘可能多的可用性區域,方便被不同終端節點調用服務。

  • PrivateLink不支援訪問NLB的TCPSSL類型監聽。

準備工作

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

  • 您已經在VPC1中建立了位於可用性區域G的ECS01和位於可用性區域K的ECS02,用於發送請求。在VPC2中建立了位於可用性區域G的ECS03和位於可用性區域K的ECS04,用於接收和處理請求,且ECS03和ECS04部署了不同的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.23.0/24

  • 交換器2網段:10.0.24.0/24

  • VPC網段:192.168.0.0/16

  • 交換器3網段:192.168.2.0/24

  • 交換器4網段:192.168.4.0/24

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

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

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

  • 交換器3位於可用性區域G

  • 交換器4位於可用性區域K

伺服器IP地址

  • 可用性區域G下的ECS01 IP:10.0.23.68

  • 可用性區域K下的ECS02 IP:10.0.24.227

  • 可用性區域G下的ECS03 IP:192.168.2.190

  • 可用性區域K下的ECS04 IP:192.168.4.20

配置流程

步驟一:建立私網類型的NLB執行個體

首先我們需要建立一個私網類型的NLB執行個體,作為服務提供者業務入口。

  1. 登入NLB控制台,選擇華東1(杭州)地區,單擊建立網路型負載平衡

  2. 網路型負載平衡(隨用隨付)國際站購買頁面,在VPC2下建立私網NLB執行個體,然後單擊立即購買

    image

步驟二:建立NLB的後端伺服器組並添加伺服器

接著我們需要建立伺服器組並添加後端伺服器來接收NLB轉寄的用戶端請求。

  1. 建立伺服器組RS1,用於將用戶端的請求路由到多個後端伺服器。

    1. 登入NLB控制台,在伺服器組中單擊建立伺服器組

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

      更多參數配置,請參見建立和管理伺服器組

      image

  2. 將ECS03和ECS04添加為伺服器組RS1的後端伺服器,用於接收來自NLB轉寄的請求。

    1. 在伺服器組詳情頁面,單擊目標伺服器組執行個體ID。

    2. 單擊後端伺服器 > 添加後端伺服器,選擇ECS03和ECS04為後端伺服器。然後單擊下一步。

      image

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

      image

步驟三:配置監聽

接下來需要為NLB執行個體配置監聽,監聽負責檢查串連請求,然後根據調度演算法將用戶端請求分發至後端伺服器,分擔流量壓力。

  1. 在目標NLB執行個體的操作列,單擊建立監聽

  2. 配置監聽設定精靈頁面,選擇TCP監聽協議,監聽連接埠為80,單擊下一步

    image

  3. 選擇伺服器組設定精靈頁面,選擇已建立的RS1伺服器組,然後單擊下一步

    image

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

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

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

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

然後需要建立一個終端節點服務,用來建立私網串連。

  1. 登入終端節點服務控制台,選擇華東1(杭州)地區,單擊建立終端節點服務

  2. 建立終端節點服務頁面,添加已建立的NLB為服務資源,其他參數保持預設,然後單擊確定建立

    image

步驟五:建立終端節點

然後需要在VPC1下建立一個終端節點,用來關聯終端節點服務。

  1. 登入終端節點控制台,選擇華東1(杭州)地區,然後單擊建立終端節點

  2. 建立終端節點頁面,關聯已建立的終端節點服務、VPC1、安全性群組、可用性區域與交換器,其他參數保持預設,然後單擊確定建立

    image

步驟六:(可選)接受串連請求

終端節點發送串連請求後,終端節點服務需要接受終端節點的串連請求。接受後,VPC1才能通過終端節點訪問終端節點服務。本文中建立終端節點服務時設定自動接受串連請求,所以忽略此步驟。

步驟七:測試結果

完成上述操作後,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

相關文檔