如果您需要將一個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執行個體,請參見自訂購買執行個體
本文ECS03與ECS04部署測試應用樣本如下:
您已經在VPC1建立了安全性群組。您可以根據自己的實際業務和安全要求配置安全性群組規則。
具體操作,請參見建立安全性群組。
說明VPC2中使用的安全性群組是在建立ECS03和ECS04時,阿里雲為您建立的預設安全性群組。
本文中的2個VPC網路規劃如下表所示,在您規劃網路時,選擇的VPC1和VPC2的網段可以重疊且互不影響。
屬性 | VPC1 | VPC2 |
網路執行個體所屬的地區 | 華東1(杭州) | 華東1(杭州) |
網路執行個體的網段規劃 |
|
|
網路執行個體交換器的可用性區域 |
|
|
伺服器IP地址 |
|
|
配置流程
步驟一:建立支援私網串連功能的ALB執行個體
在執行個體頁面,單擊建立應用型負載平衡。
在應用型負載平衡(隨用隨付)購買頁面,根據以下資訊配置支援私網串連的ALB執行個體,然後單擊立即購買。
配置
說明
地區
選擇執行個體所屬的地區。本文選擇華東1(杭州)。
執行個體網路類型
選擇執行個體的網路類型。本文只支援選擇私網。
VPC
選擇執行個體所屬的VPC。本文選擇VPC2。
可用性區域
執行個體所在的可用性區域,需要選擇至少2個可用性區域。本文選擇杭州 可用性區域H以及可用性區域H下的交換器、杭州 可用性區域I以及可用性區域I下的交換器。
IP模式
選擇執行個體的IP地址模式。本文只支援選擇固定IP。
協議版本
選擇執行個體的協議版本。本文選擇IPv4。
IPv4:表示ALB執行個體僅支援用戶端使用IPv4地址訪問。
雙棧:表示ALB執行個體支援用戶端同時使用IPv4和IPv6地址訪問。
功能版本(執行個體費)
選擇執行個體的功能版本。本文選擇基礎版。
執行個體名稱
自訂執行個體名稱。
資源群組
選擇ALB所屬的資源群組。本文選擇預設資源群組。
步驟二:建立ALB的後端伺服器組
在左側導覽列,選擇 。
在伺服器組頁面,單擊建立伺服器組。
在建立伺服器組對話方塊,根據以下資訊配置相關參數,然後單擊建立。
此處僅列舉和本文強相關的配置。關於其餘參數的配置,請參見建立和管理伺服器組。
配置
說明
伺服器群組類型
選擇伺服器組的類型。本文選擇伺服器類型。
伺服器組名稱
自訂伺服器組的名稱。本文輸入RS1。
VPC
選擇後端伺服器組所屬的VPC。本文選擇VPC2。
選擇後端協議
選擇一種後端類型。本文選擇HTTP。
選擇調度演算法
選擇一種調度演算法。本文選擇加權輪詢。
選擇資源群組
選擇雲資源所屬的資源群組。
建立完成後,找到目標後端伺服器組RS1,單擊目標伺服器組ID。
單擊後端伺服器頁簽,然後單擊添加後端伺服器。
在添加後端伺服器面板,選擇已建立的ECS03執行個體和ECS04執行個體,單擊下一步。
設定已添加的ECS03執行個體和ECS04執行個體的連接埠和權重,本文連接埠設定為80,權重保持預設值100,單擊確定。
步驟三:配置監聽
在左側導覽列,選擇 ,單擊執行個體ID。
單擊監聽頁簽,然後單擊建立監聽。
在配置監聽設定精靈,完成以下配置,然後單擊下一步。
此處僅列舉和本文強相關的配置。關於其餘參數的配置,請參見添加HTTP監聽。
配置
說明
選擇負載平衡協議
選擇監聽的協議類型。本文選擇HTTP。
監聽連接埠
用來接收和處理請求的監聽連接埠。本文輸入80。
監聽名稱
輸入自訂監聽的名稱。
進階配置
單擊修改進行配置。本文保持預設值。
在選擇伺服器組設定精靈,選擇步驟二中建立的後端伺服器組RS1,然後單擊下一步。
在組態稽核設定精靈,確認監聽配置資訊,然後單擊提交。
在負載平衡業務設定精靈對話方塊,單擊知道了,然後返回執行個體管理頁面。
當監聽的健全狀態檢查狀態為正常時,表示後端伺服器ECS03和ECS04可以正常處理ALB執行個體轉寄的請求了。
步驟四:建立終端節點服務
登入終端節點服務控制台。
在頂部功能表列,選擇要建立終端節點服務的地區。本文選擇華東1(杭州)。
在終端節點服務頁面,單擊建立終端節點服務。
在建立終端節點服務頁面,根據以下資訊配置終端節點服務,然後單擊確定建立。
此處僅列舉和本文強相關的配置。關於其餘參數的配置,請參見建立終端節點服務。
參數
描述
服務資源類型
終端節點服務下的服務資源的類型。本文選擇應用負載平衡ALB。
選擇服務資源
選擇服務資源的可用性區域及可用性區域下的服務資源。
本文可用性區域選擇杭州 可用性區域H,杭州 可用性區域I ,可用性區域H和可用性區域I的服務資源選擇步驟一中建立的支援私網串連的ALB執行個體。
自動接受終端節點串連
選擇是否自動接受終端節點的串連請求。本文選擇否。
是否支援同可用性區域優先
本文選擇否,表示串連服務的終端節點網域名稱不支援就近解析。
資源群組
選擇終端節點服務所在資源群組。
建立完終端節點服務後,您可以看到一個服務資源類型為ALB的終端節點服務。
步驟五:建立終端節點
登入終端節點控制台。
在頂部功能表列,選擇要建立終端節點的地區。本文選擇華東1(杭州)。
在終端節點頁面,單擊介面終端節點頁簽,然後單擊建立終端節點。
在建立終端節點頁面,根據以下資訊配置終端節點,然後單擊確定建立。
此處僅列舉和本文強相關的配置。關於其餘參數的配置,請參見建立終端節點。
參數
描述
節點名稱
自訂終端節點的名稱。
終端節點類型
終端節點選擇的節點類型。本文選擇介面終端節點。
終端節點服務
選擇目標終端節點服務。
本文先單擊選擇可用服務,然後選擇步驟四建立的終端節點服務。
專用網路
選擇終端節點所屬的專用網路。本文選擇VPC1。
安全性群組
選擇要與終端節點網卡關聯的安全性群組。安全性群組可以管控VPC1到終端節點網卡的資料通訊。
說明確保安全性群組內的規則開放了用戶端對終端節點網卡的訪問。
一個終端節點預設最多支援添加5個安全性群組。
可用性區域與交換器
選擇終端節點服務對應的可用性區域,然後選擇該可用性區域內的交換器,系統會自動在該交換器下建立一個終端節點網卡。
本文可用性區域選擇杭州 可用性區域H、杭州 可用性區域I並選擇可用性區域內的交換器。
資源群組
選擇終端節點所在資源群組。
建立完終端節點後,您可以看到產生的終端節點可用性區域的網域名稱和IP。
步驟六:接受串連請求
終端節點發送串連請求後,終端節點服務需要接受終端節點的串連請求。接受後,VPC1才能通過終端節點訪問終端節點服務。
如果您在步驟四建立終端節點服務時設定自動接受串連請求,請忽略此步驟。
在左側導覽列,單擊終端節點服務。
在頂部功能表列處,選擇終端節點服務的地區。本文選擇華東1(杭州)。
在終端節點服務頁面,找到步驟四建立的終端節點服務,單擊終端節點服務的執行個體ID。
在終端節點服務詳情頁面,單擊終端節點串連頁簽,找到目標終端節點,在操作列單擊允許。
在允許串連對話方塊,單擊確定。
接受終端節點串連的串連請求後,終端節點串連的狀態由已斷開變為已串連,表示終端節點服務可以處理終端節點發送的請求了。您可以通過步驟五產生的終端節點可用性區域的網域名稱或者IP訪問終端節點服務。
步驟七:測試連通性
完成上述操作後,VPC1和VPC2之間已經可以實現私網通訊,本文以下面內容為例,為您展示如何測試VPC1與VPC2之間的連通性。
本文中ECS執行個體安裝了Alibaba Cloud Linux作業系統,如果您使用的是其他動作系統,如何測試VPC1和VPC2之間的連通性請參見您的作業系統手冊。
本文終端節點服務和終端節點均添加了2個可用性區域,支援高可用,您可通過產生的終端節點服務網域名稱訪問服務。
遠程登入VPC1中的ECS01和ECS02執行個體。具體操作,請參見ECS遠端連線操作指南。
登入VPC1中的ECS執行個體之後,您有以下兩種方式測試VPC之間的連通性。
通過終端節點服務網域名稱訪問VPC2中部署的服務。該網域名稱支援自動切換可用性區域,提供高可用,當某一個可用性區域出現故障時,流量也能通過正常的可用性區域轉寄。
在終端節點詳情頁,查看產生的終端節點服務網域名稱。
執行
curl
命令,測試連通性。
指定可用性區域網域名稱或IP訪問VPC2中部署的服務。
在終端節點詳情頁,單擊可用性區域與網卡頁簽,查看產生的可用性區域網域名稱和IP地址。
執行
curl
命令,測試連通性。
相關文檔
CreateVpcEndpoint:建立終端節點。
CreateVpcEndpointService:建立終端節點服務。
AttachResourceToVpcEndpointService:為終端節點添加服務資源。
EnableVpcEndpointConnection:接受終端節點串連請求。