如果您需要將一個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部署測試應用示例如下:
yum install -y nginx systemctl start nginx.service cd /usr/share/nginx/html/ echo "Hello World ! This is ECS03." > index.html
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(杭州) |
網絡實例的網段規劃 |
|
|
網絡實例交換機的可用區 |
|
|
服務器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中部署的服務。該域名能在PrivateLink可用區之間做輪詢,并進行健康檢查提供高可用,當某一個可用區出現故障時,流量也能通過正常的可用區轉發。
在終端節點詳情頁,查看生成的終端節點服務域名。
執行
curl
命令,測試連通性。
指定可用區域名或IP訪問VPC2中部署的服務。
在終端節點詳情頁,單擊可用區與網卡頁簽,查看生成的可用區域名和IP地址。
執行
curl
命令,測試連通性。
相關文檔
CreateVpcEndpoint:創建終端節點。
CreateVpcEndpointService:創建終端節點服務。
AttachResourceToVpcEndpointService:為終端節點添加服務資源。
EnableVpcEndpointConnection:接受終端節點連接請求。