網路型負載平衡NLB(Network Load Balancer)支援跨地區掛載功能。本文指導您通過NLB和雲企業網CEN(Cloud Enterprise Network)轉寄路由器的配置,使NLB將請求分發至其他地區的伺服器。
情境樣本
某企業在阿里雲西南1(成都)地區建立了Virtual Private Cloud1,在VPC1中建立了一個NLB執行個體,並在VPC1內建立了Elastic Compute Service1作為用戶端測實驗證跨地區負載平衡訪問。同時在華東2(上海)建立了Virtual Private Cloud2並在VPC2中建立了Elastic Compute Service2執行個體,在華北1(青島)建立了Virtual Private Cloud3並在VPC3中建立了Elastic Compute Service3執行個體,ECS2與ECS3中部署了相同的服務。
該企業希望VPC1中的NLB執行個體能夠掛載VPC2和VPC3內的ECS執行個體,實現跨地區高可用,此時可以參考如下方案實現NLB跨地區掛載後端伺服器的目的。
使用限制
後端伺服器限制
跨地區掛載的後端伺服器僅支援IP類型。
只支援掛載私網IP地址,不支援掛載公網IP地址。
轉寄路由器與專用網路限制
企業版轉寄路由器會在您指定的可用性區域的交換器執行個體上建立彈性網卡ENI(Elastic Network Interface),作為VPC執行個體向企業版轉寄路由器發送流量的入口。在您建立VPC執行個體時,請確保在企業版轉寄路由器支援的可用性區域中建立至少一個交換器執行個體,以便將VPC執行個體串連至企業版轉寄路由器。更多資訊,請參見企業版轉寄路由器支援的地區和可用性區域。
前提條件
開始配置前,請確保您已參照如下資源規劃參考表進行了相關資源的建立。
您可參考如下文檔手動進行相關資源建立。
自訂購買ECS執行個體。注意ECS2與ECS3所屬安全性群組需要開放應用服務連接埠(例如本文樣本連接埠統一為80)。
步驟一:TR串連VPC執行個體
登入雲企業網CEN控制台,單擊所建立的CEN執行個體ID,並進入基本資料>轉寄路由器頁面。
在TR1執行個體操作列單擊建立網路執行個體串連,將VPC1串連至TR1。在串連網路執行個體頁面,關鍵配置資訊可參考下表,其餘配置項保持預設值即可。完成後單擊確定建立。
參數
說明
配置值樣本
執行個體類型
載入到雲企業網中的網路執行個體類型
Virtual Private Cloud
地區
執行個體類型所屬地區。本文為VPC1所屬地區
西南1(成都)
資源歸屬UID
網路執行個體所屬的主帳號ID
同帳號
網路執行個體/交換器
可以加入雲企業網的專用網路
VPC1及對應交換器
參照上述步驟,完成TR2與VPC2、TR3與VPC3的串連。
步驟二:配置跨地區串連
登入雲企業網CEN控制台,單擊執行個體ID,並進入基本資料>轉寄路由器頁面。
單擊TR1執行個體右側建立網路執行個體串連,建立TR1與TR2的跨地區串連。關鍵配置資訊可參考下表,其餘配置項保持預設值即可。完成後單擊確定建立。
參數
說明
配置值樣本
執行個體類型
載入到雲企業網中的網路執行個體類型
跨地區串連
地區
執行個體類型所屬地區。本文為TR1所屬地區
西南1(成都)
對端地區
需要串連的另一個轉寄路由器所屬地區。只能選擇已有轉寄路由器的地區
華東2(上海)
頻寬分配方式
針對CEN跨域流量,您可使用雲資料轉送CDT降低流量成本,如您未開通建議您快速入門,僅開通CDT不收取任何費用。您也可以根據實際業務情況選擇頻寬包
按流量付費
參照上述步驟,建立TR1與TR3的跨地區串連。
步驟三:配置NLB伺服器組
登入西南1(成都)地區網路型負載平衡NLB伺服器組控制台,單擊建立伺服器組。
設定管理員組資訊。關鍵配置資訊可參考下表,其餘配置項保持預設值即可。完成後單擊建立。
參數
說明
配置值樣本
伺服器群組類型
伺服器組掛載的後端伺服器類型
IP類型
伺服器組名稱
-
test
VPC
伺服器組所屬VPC
VPC1
選擇資源群組
伺服器組所屬資源群組
預設資源群組default resource group
單擊伺服器組執行個體右側操作列的編輯後端伺服器,然後單擊添加IP。
添加IP資源。此處IP地址填寫ECS2與ECS3的IP地址。完成後單擊下一步。
配置連接埠為ECS2與ECS3中部署的應用服務連接埠(例如本文樣本連接埠為80),其餘配置項保持預設值即可。完成後單擊確定。
步驟四:配置NLB執行個體監聽
登入西南1(成都)地區網路型負載平衡NLB執行個體控制台,在目標執行個體操作列單擊建立監聽。
選擇負載平衡協議為TCP,並配置監聽連接埠(例如本文樣本連接埠為80)。單擊下一步。
選擇伺服器組為之前所配置的IP類型伺服器組。單擊下一步。
確認配置資訊無誤後,單擊提交。
步驟五:驗證結果
在ECS2與ECS3中部署測試應用:
登入華東2(上海)地區Elastic Compute Service執行個體控制台,單擊執行個體右側遠端連線,通過Workbench遠程登入ECS執行個體。
執行如下命令,在ECS2上部署測試應用。
登入華北1(青島)地區Elastic Compute Service執行個體控制台,單擊執行個體右側遠端連線,通過Workbench遠程登入ECS執行個體。
執行如下命令,在ECS3上部署測試應用。
在ECS1中測試可用性:
登入西南1(成都)地區Elastic Compute Service執行個體控制台,單擊執行個體右側遠端連線,通過Workbench遠程登入ECS執行個體。
執行
sudo yum install -y telnet
安裝telnet。執行
telnet 網域名稱 連接埠
命令,收到下圖回複報文Connected to nlb-...,則表示NLB可以將請求轉寄至後端伺服器。
類比故障:
在ECS2中執行
systemctl stop nginx.service
停用應用。等待幾分鐘後,在ECS1中再次執行
telnet 網域名稱 連接埠
命令,仍然收到下圖回複報文Connected to nlb-...在ECS2中執行
systemctl start nginx.service
重新啟動應用,在ECS3中執行systemctl stop nginx.service
停用應用。等待幾分鐘後,在ECS1中再次執行
telnet 網域名稱 連接埠
命令,仍然收到下圖回複報文Connected to nlb-...如上表明後端單台伺服器故障不影響NLB可用性。
釋放資源
清理雲企業網CEN、轉寄路由器TR等資源:
登入雲企業網CEN控制台,單擊雲企業網cen-test執行個體ID,進入CEN執行個體詳情頁面。
刪除TR1執行個體:
在基本資料>轉寄路由器頁簽,單擊TR1執行個體ID,進入TR執行個體詳情頁面。
在地區內串連管理頁簽,依次單擊執行個體右側卸載並確認,將地區內所有串連的網路執行個體卸載。
在跨地區串連管理頁簽,單擊執行個體右側刪除並確認,將跨地區串連的網路執行個體刪除。
返回CEN執行個體詳情頁面。單擊執行個體右側刪除並確認,刪除TR1執行個體。
參照上述步驟,刪除TR2與TR3執行個體。
返回CEN執行個體頁面,單擊執行個體右側刪除,刪除CEN執行個體。
清理ECS、安全性群組等資源:
刪除ECS1執行個體及其安全性群組:
登入西南1(成都)地區Elastic Compute Service執行個體控制台,單擊ECS1執行個體右側的,彈出的視窗中選擇釋放,立即釋放執行個體並確認。
登入西南1(成都)地區Elastic Compute Service安全性群組控制台,勾選ECS1自訂安全性群組並單擊刪除,刪除安全性群組。
參照上述步驟,刪除ECS2與ECS3執行個體及對應安全性群組資源。
刪除網域名稱解析記錄;
刪除網域名稱解析記錄,請參見刪除網域名稱解析記錄。
清理NLB資源:
登入西南1(成都)地區網路型負載平衡NLB執行個體控制台,單擊執行個體右側的,彈出的視窗中選擇釋放並確認。
登入西南1(成都)地區網路型負載平衡NLB伺服器組控制台,單擊執行個體右側的,彈出的視窗中選擇刪除並確認。
清理VPC資源:
登入西南1(成都)地區Virtual Private Cloud控制台,單擊執行個體右側刪除,刪除時並且勾選強制移除,完成VPC與交換器資源的刪除。
登入華東2(上海)地區Virtual Private Cloud控制台,單擊執行個體右側刪除,刪除時並且勾選強制移除,完成VPC與交換器資源的刪除。
登入華北1(青島)地區Virtual Private Cloud控制台,單擊執行個體右側刪除,刪除時並且勾選強制移除,完成VPC與交換器資源的刪除。