全部產品
Search
文件中心

Server Load Balancer:使用NLB掛載跨地區VPC內的伺服器

更新時間:Jun 19, 2024

網路型負載平衡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執行個體串連至企業版轉寄路由器。更多資訊,請參見企業版轉寄路由器支援的地區和可用性區域

前提條件

開始配置前,請確保您已參照如下資源規劃參考表進行了相關資源的建立。

資源規劃參考表

規劃項

說明

方案預設樣本

網路型負載平衡NLB

地區

執行個體所屬地區

西南1(成都)

執行個體網路類型

NLB支援私網與公網類型。私網類型執行個體面向VPC內部提供負載平衡服務,公網不可訪問。公網類型執行個體使用Elastic IP Address,將收取Elastic IP Address執行個體費與頻寬、流量費用

私網

VPC

執行個體所屬網路

VPC1-test

可用性區域

網路型負載平衡支援多可用性區域部署,若當前地區支援2個及以上可用性區域,為保障業務高可用,請至少選擇2個或以上可用性區域

  • 成都 可用性區域A

  • 成都 可用性區域B

執行個體名稱

執行個體名稱

nlb-test

雲企業網CEN

執行個體名稱

CEN執行個體名稱

cen_test

轉寄路由器TR1

地區

1個CEN下,1個地區只能建立1個TR

西南1(成都)

轉寄路由器TR2

地區

1個CEN下,1個地區只能建立1個TR

華東2(上海)

轉寄路由器TR3

地區

1個CEN下,1個地區只能建立1個TR

華北1(青島)

Virtual Private Cloud1

地區

執行個體所屬地區

西南1(成都)

名稱

執行個體名稱

VPC1-test

IPv4網段

CIDR格式的私網網段

172.16.0.0/16

交換器1

為實現多可用性區域容災,配置時需要至少選擇兩個可用性區域的交換器。交換器1在ECS建立時需要使用

  • 名稱:VPC1交換器1

  • 可用性區域:成都 可用性區域A

  • IPv4網段:172.16.20.0/24

交換器2

為實現多可用性區域容災,配置時需要至少選擇兩個可用性區域的交換器

  • 名稱:VPC1交換器2

  • 可用性區域:成都 可用性區域B

  • IPv4網段:172.16.21.0/24

Virtual Private Cloud2

地區

執行個體所屬地區

華東2(上海)

名稱

執行個體名稱

VPC2-test

IPv4網段

CIDR格式的私網網段

10.0.0.0/16

交換器1

為實現多可用性區域容災,配置時需要至少選擇兩個可用性區域的交換器。交換器1在ECS建立時需要使用

  • 名稱:VPC2交換器1

  • 可用性區域:上海 可用性區域E

  • IPv4網段:10.0.20.0/24

交換器2

為實現多可用性區域容災,配置時需要至少選擇兩個可用性區域的交換器

  • 名稱:VPC2交換器2

  • 可用性區域:上海 可用性區域F

  • IPv4網段:10.0.21.0/24

Virtual Private Cloud3

地區

執行個體所屬地區

華北1(青島)

名稱

執行個體名稱

VPC3-test

IPv4網段

CIDR格式的私網網段

192.168.0.0/16

交換器1

為實現多可用性區域容災,配置時需要至少選擇兩個可用性區域的交換器。交換器1在ECS建立時需要使用

  • 名稱:VPC3交換器1

  • 可用性區域:青島 可用性區域B

  • IPv4網段:192.168.20.0/24

交換器2

為實現多可用性區域容災,配置時需要至少選擇兩個可用性區域的交換器

  • 名稱:VPC3交換器2

  • 可用性區域:青島 可用性區域C

  • IPv4網段:192.168.21.0/24

Elastic Compute Service1

付費類型

方案測試使用時建議使用隨用隨付

隨用隨付

地區

執行個體所屬地區

西南1(成都)

網路及可用性區域

ECS 執行個體所屬網路及可用性區域

  • 網路類型:專用網路

  • VPC:VPC1-test

  • 交換器:VPC1交換器1

  • 勾選“指定主網卡主私網IP地址”並配置為172.16.20.100

執行個體規格

本方案中使用的 ECS 執行個體規格

ecs.t5-lc2m1.nano

鏡像

ECS 執行個體作業系統版本

CentOS 7.9 64位

安全性群組

安全性群組是一種虛擬防火牆,用於設定 ECS 執行個體的網路存取控制,1台 ECS 執行個體至少屬於1個安全性群組

  • 建立安全性群組

  • 安全性群組名稱:ECS1自訂安全性群組

登入帳號及密碼

ECS執行個體登入方式及帳號密碼

  • 登入憑證:自訂密碼

  • 登入名稱:root

  • 登入密碼/確認密碼:使用者自行填寫,需要符合密碼安全性規則

Elastic Compute Service2

付費類型

方案測試使用時建議使用隨用隨付

隨用隨付

地區

執行個體所屬地區

華東2(上海)

網路及可用性區域

ECS 執行個體所屬網路及可用性區域

  • 網路類型:專用網路

  • VPC:VPC2-test

  • 交換器:VPC2交換器1

  • 勾選“指定主網卡主私網IP地址”並配置為10.0.20.100

執行個體

本方案中使用的 ECS 執行個體規格

ecs.t5-lc2m1.nano

鏡像

ECS 執行個體作業系統版本

CentOS 7.9 64位

安全性群組

安全性群組是一種虛擬防火牆,用於設定 ECS 執行個體的網路存取控制,1台 ECS 執行個體至少屬於1個安全性群組

  • 建立安全性群組

  • 安全性群組名稱:ECS2自訂安全性群組

登入帳號及密碼

ECS執行個體登入方式及帳號密碼

  • 登入憑證:自訂密碼

  • 登入名稱:root

  • 登入密碼/確認密碼:使用者自行填寫,需要符合密碼安全性規則

Elastic Compute Service3

付費類型

方案測試使用時建議使用隨用隨付

隨用隨付

地區

執行個體所屬地區

華北1(青島)

網路及可用性區域

ECS 執行個體所屬網路及可用性區域

  • 網路類型:專用網路

  • VPC:VPC3-test

  • 交換器:VPC3交換器1

  • 勾選“指定主網卡主私網IP地址”並配置為192.168.20.100

執行個體

本方案中使用的 ECS 執行個體規格

ecs.t5-lc2m1.nano

鏡像

ECS 執行個體作業系統版本

CentOS 7.9 64位

安全性群組

安全性群組是一種虛擬防火牆,用於設定 ECS 執行個體的網路存取控制,1台 ECS 執行個體至少屬於1個安全性群組

  • 建立安全性群組

  • 安全性群組名稱:ECS3自訂安全性群組

登入帳號及密碼

ECS執行個體登入方式及帳號密碼

  • 登入憑證:自訂密碼

  • 登入名稱:root

  • 登入密碼/確認密碼:使用者自行填寫,需要符合密碼安全性規則

您可參考如下文檔手動進行相關資源建立。

步驟一:TR串連VPC執行個體

  1. 登入雲企業網CEN控制台,單擊所建立的CEN執行個體ID,並進入基本資料>轉寄路由器頁面。

  2. 在TR1執行個體操作列單擊建立網路執行個體串連,將VPC1串連至TR1。在串連網路執行個體頁面,關鍵配置資訊可參考下表,其餘配置項保持預設值即可。完成後單擊確定建立

    參數

    說明

    配置值樣本

    執行個體類型

    載入到雲企業網中的網路執行個體類型

    Virtual Private Cloud

    地區

    執行個體類型所屬地區。本文為VPC1所屬地區

    西南1(成都)

    資源歸屬UID

    網路執行個體所屬的主帳號ID

    同帳號

    網路執行個體/交換器

    可以加入雲企業網的專用網路

    VPC1及對應交換器

  3. 參照上述步驟,完成TR2與VPC2、TR3與VPC3的串連。

步驟二:配置跨地區串連

  1. 登入雲企業網CEN控制台,單擊執行個體ID,並進入基本資料>轉寄路由器頁面。

  2. 單擊TR1執行個體右側建立網路執行個體串連,建立TR1與TR2的跨地區串連。關鍵配置資訊可參考下表,其餘配置項保持預設值即可。完成後單擊確定建立

    參數

    說明

    配置值樣本

    執行個體類型

    載入到雲企業網中的網路執行個體類型

    跨地區串連

    地區

    執行個體類型所屬地區。本文為TR1所屬地區

    西南1(成都)

    對端地區

    需要串連的另一個轉寄路由器所屬地區。只能選擇已有轉寄路由器的地區

    華東2(上海)

    頻寬分配方式

    針對CEN跨域流量,您可使用雲資料轉送CDT降低流量成本,如您未開通建議您快速開通CDT,僅開通CDT不收取任何費用。您也可以根據實際業務情況選擇頻寬包

    按流量付費

  3. 參照上述步驟,建立TR1與TR3的跨地區串連。

步驟三:配置NLB伺服器組

  1. 登入西南1(成都)地區網路型負載平衡NLB伺服器組控制台,單擊建立伺服器組

  2. 設定管理員組資訊。關鍵配置資訊可參考下表,其餘配置項保持預設值即可。完成後單擊建立

    參數

    說明

    配置值樣本

    伺服器群組類型

    伺服器組掛載的後端伺服器類型

    IP類型

    伺服器組名稱

    -

    test

    VPC

    伺服器組所屬VPC

    VPC1

    選擇資源群組

    伺服器組所屬資源群組

    預設資源群組default resource group

  3. 單擊伺服器組執行個體右側操作列的編輯後端伺服器,然後單擊添加IP

  4. 添加IP資源。此處IP地址填寫ECS2與ECS3的IP地址。完成後單擊下一步

  5. 配置連接埠為ECS2與ECS3中部署的應用服務連接埠(例如本文樣本連接埠為80),其餘配置項保持預設值即可。完成後單擊確定

步驟四:配置NLB執行個體監聽

  1. 登入西南1(成都)地區網路型負載平衡NLB執行個體控制台,在目標執行個體操作列單擊建立監聽

  2. 選擇負載平衡協議為TCP,並配置監聽連接埠(例如本文樣本連接埠為80)。單擊下一步

  3. 選擇伺服器組為之前所配置的IP類型伺服器組。單擊下一步

  4. 確認配置資訊無誤後,單擊提交

步驟五:驗證結果

  1. 在ECS2與ECS3中部署測試應用:

    1. 登入華東2(上海)地區Elastic Compute Service執行個體控制台,單擊執行個體右側遠端連線,通過Workbench遠程登入ECS執行個體。

    2. 執行如下命令,在ECS2上部署測試應用。

      ECS2服務部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS02." > index.html
      
    3. 登入華北1(青島)地區Elastic Compute Service執行個體控制台,單擊執行個體右側遠端連線,通過Workbench遠程登入ECS執行個體。

    4. 執行如下命令,在ECS3上部署測試應用。

      ECS3服務部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS03." > index.html
      
  2. 擷取NLB網域名稱:登入西南1(成都)地區網路型負載平衡NLB執行個體控制台,找到目標NLB執行個體,在DNS名稱列複製NLB執行個體的網域名稱。

  3. 在ECS1中測試可用性:

    1. 登入西南1(成都)地區Elastic Compute Service執行個體控制台,單擊執行個體右側遠端連線,通過Workbench遠程登入ECS執行個體。

    2. 執行sudo yum install -y telnet安裝telnet。

    3. 執行telnet NLB網域名稱 連接埠命令,收到下圖回複報文Connected to nlb-...,則表示NLB可以將請求轉寄至後端伺服器。

      image.png

  4. 類比故障:

    1. 在ECS2中執行systemctl stop nginx.service停用應用。

    2. 等待幾分鐘後,在ECS1中再次執行telnet NLB網域名稱 連接埠命令,仍然收到下圖回複報文Connected to nlb-...

      image.png

    3. 在ECS2中執行systemctl start nginx.service重新啟動應用,在ECS3中執行systemctl stop nginx.service停用應用。

    4. 等待幾分鐘後,在ECS1中再次執行telnet NLB網域名稱 連接埠命令,仍然收到下圖回複報文Connected to nlb-...

      image.png

    5. 如上表明後端單台伺服器故障不影響NLB可用性。

釋放資源

  1. 清理雲企業網CEN、轉寄路由器TR等資源:

    1. 登入雲企業網CEN控制台,單擊雲企業網cen-test執行個體ID,進入CEN執行個體詳情頁面。

    2. 刪除TR1執行個體:

      1. 基本資料>轉寄路由器頁簽,單擊TR1執行個體ID,進入TR執行個體詳情頁面。

      2. 地區內串連管理頁簽,依次單擊執行個體右側卸載並確認,將地區內所有串連的網路執行個體卸載。

      3. 跨地區串連管理頁簽,單擊執行個體右側刪除並確認,將跨地區串連的網路執行個體刪除。

      4. 返回CEN執行個體詳情頁面。單擊執行個體右側刪除並確認,刪除TR1執行個體。

    3. 參照上述步驟,刪除TR2與TR3執行個體。

    4. 返回CEN執行個體頁面,單擊執行個體右側刪除,刪除CEN執行個體。

  2. 清理ECS、安全性群組等資源:

    1. 刪除ECS1執行個體及其安全性群組:

      1. 登入西南1(成都)地區Elastic Compute Service執行個體控制台,單擊ECS1執行個體右側的image.png,彈出的視窗中選擇釋放,立即釋放執行個體並確認。

      2. 登入西南1(成都)地區Elastic Compute Service安全性群組控制台,勾選ECS1自訂安全性群組並單擊刪除,刪除安全性群組。

    2. 參照上述步驟,刪除ECS2與ECS3執行個體及對應安全性群組資源。

  3. 清理NLB資源:

    1. 登入西南1(成都)地區網路型負載平衡NLB執行個體控制台,單擊執行個體右側的image.png,彈出的視窗中選擇釋放並確認。

    2. 登入西南1(成都)地區網路型負載平衡NLB伺服器組控制台,單擊執行個體右側的image.png,彈出的視窗中選擇刪除並確認。

  4. 清理VPC資源:

    1. 登入西南1(成都)地區Virtual Private Cloud控制台,單擊執行個體右側刪除,刪除時並且勾選強制移除,完成VPC與交換器資源的刪除。

    2. 登入華東2(上海)地區Virtual Private Cloud控制台,單擊執行個體右側刪除,刪除時並且勾選強制移除,完成VPC與交換器資源的刪除。

    3. 登入華北1(青島)地區Virtual Private Cloud控制台,單擊執行個體右側刪除,刪除時並且勾選強制移除,完成VPC與交換器資源的刪除。

相關文檔