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 作了以下優化。web

1,SSL/TLS終結後端

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

3,區域冗餘網絡

4,WAF防火牆架構

5,AKS的入口控制器,應用程序網關入口控制器 (AGIC) 容許你使用應用程序網關做爲 Azure Kubernetes 服務 (AKS) 羣集的入口。app

6,基於URL的路由負載均衡

7,支持Websockeride

........ 等等學習

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

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

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

二,正文

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 

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

相關文章
相關標籤/搜索