Azure Application Gateway(一)對后端 Web App 進行負載均衡


一,引言

  今天,我們學習一個新的知識點-----Azure Application Gateway,通過Azure 應用程序網關為我么后端的服務提供負載均衡的功能。我們再文章頭中大概先了解一下什么是應用程序網關。

  Azure Application Gateway 是一種應用程序層(OSI 層 7)負載均衡,Azure 應用程序網關可以執行基於 URL 的路由。而上一篇介紹的 Azure Load Balancer 則是傳輸層(OSI 層 4 - TCP 和 UDP)進行操作,並基於源 IP 地址和端口將流量路由到目標 IP 地址和端口。簡單來講,四層就是基於IP+端口的負載均衡;七層就是基於URL等應用層信息的負載均衡。通過微軟官方提供的文檔,我們可以看到 Applcation Gateway 做了如下優化。

1,SSL/TLS終結

2,SKU為 “Standard” 或者 “WAF_v2” 的應用程序網關或者WAF 部署支持自動縮放,可根據變化的流量負載模式進行擴展或縮減。 自動縮放還無需在預配期間要求選擇部署大小或實例計數。 

3,區域冗余

4,WAF防火牆

5,AKS的入口控制器,應用程序網關入口控制器 (AGIC) 允許你使用應用程序網關作為 Azure Kubernetes 服務 (AKS) 群集的入口。

6,基於URL的路由

7,支持Websocker

........ 等等

  接下來,我們依舊看看當前設計的基礎設施架構圖,我們今天只去了解它的 HTTP 7層的負載均衡

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

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

Azure Web App 和Azure VM 部署系列:

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

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

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

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

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

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

7,Azure Load Balancer(二) 基於內部的負載均衡來轉發訪問請求 

8,Azure Application Gateway(一)對后端 Web App 進行負載均衡 

9,Azure Application Gateway(二)對后端 VM 進行負載均衡  

二,正文

Azure Portal 首頁,點擊 “Create a resource” 創建資源

搜素框輸入 “Application Gateway”,進行搜索,點擊 “Create”,進行創建資源

Resource  group 選擇創一個新的 “Web_Test_AG_RG”

Application gateway name:“cnbateweb_applicationgateway”

Region:“East Asia”

Tier:“Standard”

其他都是默認選項

Virtual network 選擇創建一個新的網絡

Name:“cnbateblogweb_NET”

Subnet name:“cnbateblogweb_SubNET”

Address range:“10.0.1.0/24”

點擊 “OK”

點擊 “Next:Frontends”,設置應用程序網關的 前端

Frontend IP address type:Public

Public IP address:我們選擇創建一個新的公共的 Public IP

我們點擊 “Next:Backends”

 點擊 “Add a Backend pool” 需要添加后端池

 我們可以看到應用程序網關的后端池的目標類型,也就是Target type 我們選擇 “App Service”

Name:“cbbateblogweb_applicationgateway_backendpool”

Add backend pool with targets 選擇:“No” 

Target 選擇之前再介紹 Web App 是創建的 “cnbateblogweb01” 和 “cnbateblogweb02”

我們可以剛剛添加的兩個應用程序后端池目標,點擊 “Add”

 

 點擊 “Next:Configuration>” 進行下一步配置路由信息

 點擊 “Add a routing rule”,添加路由信息

Rule name:“cnbateblogweb_applicationgateway_rule”

Listener name:‘cnbateblogweb_httplisten"

Frontend IP 選擇之前創建好的 Frontends 的 Public IP 

其他的選擇默認

點擊 “Backend target”的 Tab 頁

Target type 選擇 “Backend pool”

Backend target 選擇 創建好的后端池 “cbbateblogweb_applicationgateway_backendpool”

HTTP setting 點擊 “Add new” 創建一個新的 HTTP Setting

Http setting name:“cnbateblogweb_applicationgateway_httpsetting”

Backend protocol 選擇:HTTP

Backend port :"80"

Host name 配置信息

Overrider with new host name (覆蓋為新的主機名) 選擇:“Yes”

Host name override (覆蓋主機名)選擇:“Pick host name from backend target(從后端池選取主機名)”

其他選擇默認,點擊 ”Add“,添加 HTTP setting,點擊 ”Add“ 添加 一條路由規則

我們可以看到 “Frontends” 的信息,”Routing rules“ 信息,”Backend pools“ 信息

點擊 “Next:Tags”

點擊”Next:Review + create“

等待預校驗完成后,我們點擊”Create“ 進行創建

等待創建完成后,我們跳轉到創建好的 Azure Application Gateway 中看看

我們找到  健康檢查,我們重新設置一下默認的參數,選擇 “Settings=>Health probes” ,點擊當前圈中的默認的健康的配置

 我們可以看到默認的一些配置,比如 超時時間,不健康的閾值次數,間隔時間等等信息

接下來,我們進行修改一下(此步驟大家在實踐的過程中可以忽略,改不改都不會影響到當前應用程序網關的正常使用

Interval(間隔時間) 從30 秒  我們改為 2 秒

Timeout(超時時間)從30 秒  我們改為 5 秒

Unhealthy threashod(不正常閾值) 從 3 次  我們改為1次

點擊 “Save”,進行保存操作

接下來,我們就可以進行測試,看看我們的應用程序網關是否可以為我們的后端web App 提供負載均衡的功能

負責下圖中權重的前端Public IP 的地址到瀏覽器中

 ok,bingo!!!!!成功。再次撒花🎉🎉🎉🎉🎉!!!!

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

這個有個小建議就是,在創建應用程序網關的時候添加后端池配置信息時,我們可以先添加一個空的后端池,當應用程序網關創建好的之后,我們在在后端池配置中添加我們以后的后端池信息。

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

三,結尾

  今天我們簡單演示了一下使用 Azure Application Gateway 為我們的后端 Web App 提供負載均衡,轉發流量,以及充當防火牆的功能。當前這些都是應用程序網關的自帶的強大功能,下一篇,我們將架構圖中的 Web App 替換成 VM ,通過創建Application Gateway,添加后端池,包含兩台 vm,對后端 vm上掛在的項目網站進行負載均衡

作者:Allen 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM