Azure Load Balancer(一) 爲咱們的Web項目提供負載均衡

一,引言

  上節,咱們講到使用 Azure Traffic Manager 爲咱們的 Demo 項目提供負載均衡,以及流量轉發的功能。可是Azure 提供相似的功能的服務遠遠不止這一個,今天咱們就來說一下 Azure Load Balance ,經過它來實現負載均衡,流量轉發,以及分享一下 Azure Load Balance 的建立,和具體的配置。html

  Azure Load Balance:是指在一組後端資源和服務器之間負載均衡的分配負載(傳入網絡流量)前端

  Azure 負載均衡器在開放式系統互連 (OSI) 模型的第四層上運行。 它是客戶端的單一聯繫點。 負載均衡器將抵達負載均衡器前端的入站流量分配到後端池實例。 這些流取決於所配置的負載均衡規則和運行情況探測。 後端池實例能夠是 Azure 虛擬機,或虛擬機規模集中的實例。git

  咱們今天演示的後端連接的是一組VM。github

--------------------我是分割線--------------------上架構圖web

--------------------我是分割線--------------------shell

Azure Web App 部署系列:數據庫

1,Azure Web App(一)發佈你的Net Core Web 項目

2,Azure Web App(二)使用部署槽切換部署環境代碼

3,Azure Web App(三)切換你的Net Core Web 項目的數據庫鏈接字符串

4,Azure 提供負載均衡(一)Azure Traffic Manager 爲咱們的Web項目提供負載均衡

5,Azure Traffic Manager(二) 基於權重與基於優先級的路由策略爲咱們的Web項目提供負載均衡 

6,Azure Load Balance(一) 爲咱們的Web項目提供負載均衡 

二,正文

 1,建立外部的Azure Load Balance

Azure Portal 點擊 「create a resource」windows

 

 搜索框 輸入 "Load Balancer"後端

 

 點擊 「Create」 進行建立。瀏覽器

 

 咱們能夠看到,Load Balance 須要輸入一些參數,例如 類型,SKU,公共IP配置,是否使用IPV6 等

 

Resource group:點擊 Create new  輸入 「Web_Test_LB_RG」

Name:「lb_cnbateblogweb」

Type:「Public」

region 選擇 :「East Asia」

Public IP address Name:"cbbateblgweb_pub_ip"

剩下都是默認選項, 點擊 「Review + create」 進行預建立校驗

咱們能夠頁面上顯示 「Validation passed」,而後咱們點擊 「Create」 進行建立操做

稍等一下,咱們能夠在Azure Portal的通知欄看到 部署成功的提示信息,咱們能夠點擊 「Go to resource」 跳轉到資源

 2,建立VM,部署 Web 項目

在建立VM 以前,咱們先建立網絡資源,好比,一個虛擬網絡,虛擬網絡中有個兩個子網

搜索框中搜索 「Virtual Network」,進行搜索

咱們點擊 「create」 ,進行建立 虛擬網絡 資源

Name:「CnBateBlogWeb_VNET」

Region 選擇:「East Asia」

點擊下一步,進行配置 「IP Addresses」 信息

IPv4 address space 配置咱們使用默認的 「10.1.0.0/16」

咱們點擊紅色圈圈部分 」default「,修改默認子網的配置信息。

咱們講默認的 subnet name 改爲 「CnBateBlogWeb01_SubNET」,Subnet address range 改成 「10.1.1.0/24」,點擊 「Save」 進行保存操做

 

 

 

操做完成後,咱們能夠在 IP 地址配置頁面能夠看到剛剛修改的以及新添加的子網的信息,確認無誤後,咱們點擊 「Review+create」 ,進行添加預校驗操做。

 

 

等待檢驗成功後,咱們能夠看到 驗證成功提示,而後咱們點擊 「Create」,進行建立,進行建立虛擬網絡以及子網的資源。

 

 

 

再次回到資源建立頁面,咱們開始建立 "Network security group(網絡安全組)" ,搜索框輸入 「Network security group」

 

 

 

 點擊 「create」 按鈕進行建立

Resource group 選擇:"Web_Test_RG"

Name:「CnbateBlogWeb_NSG」

Region 選擇:「East Asia」

點擊 「Review + create」,進行預檢查

完成預校驗以後,咱們點擊 「create」 進行建立資源,建立完成後,咱們點擊 「Go to resource」

 

 咱們在 CnBateBlogWeb_NSG 頁面須要配置入站規則,選擇 "Settings=>Inbound security rules",而後點擊 「Add」,進行添加操做

 

 咱們計劃是使用 windows 服務器,因此遠程鏈接端口必須得打開,端口爲 「3389」,以下圖所示

而後我接着使用相同的方式也將 「80」 端口加到入站規則中,添加完成後,咱們也能夠看到本身剛剛添加完成的入站規則信息

接下來,咱們進行建立VM

仍是回到建立資源頁面,咱們選擇 「Windows Server 2016 Datacenter」(做爲演示,你們不要在乎服務器類型,以及服務器性能的問題),而且跳轉到配置頁面

咱們能夠看到,這麼咱們須要進行簡單的配置服務器的鏡像,所在區域,Size,以及遠程登陸所須要的服務器的用戶名以及密碼,以及須要開放的 3389 和 80 端口

Virtual machine name:「cnbateblogweb01」

Region:「East Asia」

UserName:「cnbateblogweb01」

Password:你們自行填寫

 

VM 的 size 的大小,咱們能夠點開看一下,我這邊懸着的是  1核1g大小的,也是我圖中圈起來的

 

磁盤方面,咱們使用默認,只是作演示用,不須要加數據盤,咱們點擊 「Next-Networking >」 ,進入下一步配置網絡信息

 

關於 「Virtual Network」 和 「subnet」 ,咱們能夠選擇剛剛建立好的

Virtual Network 選擇:"CnBateBlogWeb_VENT"

Subnet 選擇:「CbBateBlogWeb01_SubNET」

public ip 咱們使用默認,建立一個新的公共的IP

NIC network security group 選擇:"Advanced"

Configure network security group 選擇:"CnBateBlogWeb_NSG"

將 Public IP 的 SKU 修改成 「Standard」,點擊 「OK」

點擊 「Review+create」,進行預建立校驗操做,完成 預校驗操做後,點擊 「create」 進行建立操做。

預校驗完成後,咱們點擊 「Create」,進行建立資源

 

等待部署成功後,咱們能夠點擊 「Go to resource」 進行跳轉到剛剛建立到的VM資源的頁面查看具體信息

 咱們重複上述工做,再次建立一臺名字叫 cnbateblogweb02 的新的VM,IP 地址配置中子網選擇 以前建立好的 "CnBateBlogWeb02_SubNET"

 3,服務器安裝IIS

 Azure Portal 中找到 剛剛建立好的 cnbateblogweb01 的 VM,複製圖中的 「Public IP address」

 

 

 

回到咱們的桌面,咱們使用遠程桌面鏈接,登陸到 」cnbateblogweb01「 這臺 VM 上

登陸上去後,咱們使用 Powershell 安裝IIS服務

powerShell 輸入:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

等待安裝進度條加載完成 

等待安裝完成後,咱們能夠看到 成功或者失敗的提示

再次輸入如下命令,移除默認的IIS啓動頁面

remove-item  C:\inetpub\wwwroot\iisstart.htm

再次輸入以下命令,從新添加咱們自定義的 index.html 文件。

Add-Content -Path "C:\inetpub\wwwroot\index.html" -Value $("Hello cnbatebogweb01---" + $env:computername)

添加完成後,咱們在本地訪問 cnbateblogweb01 的 ip地址 測試一下,看看是否將 IIS 安裝成功,以及咱們自定義的頁面是否成功展現,ok,測成功

接下來,咱們使用相同的方式登陸到 cnbateblogweb02 這臺VM 上也進行安裝IIS,而且添加自定義的 index.html 文件

一樣的,咱們在本地訪問 cnbateblogweb02 的 ip地址 測試一下,看看是否將 IIS 安裝成功,以及咱們自定義的頁面是否成功展現.

ok,以上步驟完成後,咱們就開始配置 Load Balancer

4,配置 Load Balancer 的後端池

回到 Azure Portal 中,咱們找到以前建立好的名字叫 「lb_cnbateblogweb」 的負載均衡器,選擇 「Settings=>Backend pools」 添加後端池信息

 

Name:"cnbateblogweb_backendpool"

Virtual network 選擇:「CnBateWeb_VNET」

IP 默認爲:IPV4

Asscociated to 選擇: 「Virtual machines」

咱們點擊 「+Add」 講咱們以前建立好的兩臺VM 添加進來,如圖所示

最後點擊 「Add」 操做

稍等片刻,咱們能夠看到剛剛添加好的負載均衡器的 Backend Pool 信息

接下來,咱們須要設置健康檢查,選擇 「Settings=>Health probes」,點擊 「Add」 按鈕

 Name:「cnbateblogweb_healthcheck」

 port:「80」

其餘的都走默認配置,也就是說,Azure會每隔 15s 訪問一下後端池 80 端口 會進行健康探測,連續出現2次不正常的請求後,負載均衡器會自動將檢查不正常的後端池中的 VM 移除掉

接下來,咱們就要配置負載均衡的規則,頁面上咱們 選擇 「Settings=>Load balancing rules」 ,點擊 「Add」

Name:「cnbateblogweb_HttpRule」

Port:「80」

Backend port:「80」

Backend pool 選擇:"cnbateweb_backendpool"

Health probe 選擇:「cnbateblogweb_healthcheck」

點擊 「OK」

 以上信息,建立完成後,咱們進行測試,服務當前 Load balancer 的 Public IP address ,複製到瀏覽器中,訪問試試。

咱們訪問負載均衡器的公網地址,目前是將我本地發出的請求轉發到 cnbateblogweb02 這臺VM上

 同時,咱們能夠選擇Load Balance 的 「Insights」功能,以下圖所示,咱們能夠清楚的看到當前請求的一個大體的走向,這個圖和咱們在文章最上面介紹的架構圖特別類似

 ok,今天介紹的Load Balance 的用法,以及作了一個小小的演示頁面,成功的經過負載均衡器將請求流量轉發到後端池的某個 VM 中.

分享到此結束。撒花,撒花!!!🎉🎉🎉🎉🎉

三,結尾

   ok,今天的分析篇幅有些多,確實是本身沒有控制好,但願你們多多包涵,今天大概講解關於 Load Balancer 建立,配置後端池,配置健康檢查,配置負載均衡規則等,以及經過在兩個VM中的IIS服務器中添加自定義的 「index」 頁面,咱們可能直觀的看到負載均衡器將流量進行轉發。下一節咱們具體講解

1,負載均衡器具體的一些配置

2,將以前說的demo 發佈到 VM的IIS 服務器中,用demo項目更貼切與實際項目中的架構設計

做者:Allen 

項目代碼:https://github.com/yunqian44/CnBateBlogWeb.git

版權:轉載請在文章明顯位置註明做者及出處。如發現錯誤,歡迎批評指正。

相關文章
相關標籤/搜索