初探Azure負載均衡器


在傳統的數據中心內,企業需要使用四層或七層的負載均衡器來對其內部運行的LOB場景的應用程序進負載均衡,以確保其業務系統的連續性和可用性。那麼當企業遷移到Azure雲以後是否可以像其在內部一樣使用四層或七層的負載均衡器來對業務的流量進行負載呢?答案是可以的。當我們本地的應用系統遷移到Azure以後可以使用Azure LoadBalancer或Application Gateway來對關鍵性的業務系統進行負載均衡,其中Azure LoadBalancer可以實現四層的負載均衡,Application Gateway可以實現7層的負載均衡。那麼今天我們主要來聊聊Azure LoadBalancer。在後續的文章中會和大家聊Application Gateway。

Azure負載均衡器可提高應用程序的高可用性和網絡性能。Azure負載均衡器是基於TCP/UDP的四層負載均衡器,,可在負載均衡集中定義的運行狀況良好的服務實例之間分配傳入流量。Azure負載均衡器支持兩種不同的類型,分別爲基本和標準。本文主要介紹基本負載均衡器。如果應用程序需要使用7層負載均衡,那就需要使用Azure應用程序網關。

Azure負載均衡器主要適用於以下場景:

1、 對傳入到虛擬機的Internet流量進行負載均衡(公共負載均衡器)。

2、 對虛擬網絡中虛擬機之間的流量、雲服務中虛擬機之間的流量或本地計算機和跨界虛擬網絡中虛擬機之間的流量進行負載均衡(內部負載均衡器)。

3、 將外部流量轉發到虛擬機(NAT)。

4、 使用公共負載均衡器爲虛擬網絡中的VM提供出站連接。

根據之前所說我們今天主要介紹基本負載均衡器,那麼基本負載均衡器主要支持那些功能呢?下面我們就一起來看一下基本負載均衡器的主要功能:

1. 負載均衡:負載均衡這個功能可以說是最核心的功能了,我們可以使用Azure負載平衡器創建負載平衡規則,從而將到達負載均衡器前端的流量分發到後端池實例。默認情況下,Load Balancer使用由源IP地址,源端口,目標IP地址,目標端口和IP協議編號組成的5元組哈希,以將流映射到可用服務器。您可以選擇通過選擇給定規則的2或3元組哈希來創建與特定源IP地址的親緣關係。

clip_image002

2. 端口轉發:我們可以使用負載均衡器創建入站的NAT規則,從而將來自特定前端IP地址的特定端口的流量轉發到特定後端實例的特定端口。這個功能的一個常見使用場景是使用負載均衡器的NAT規則來建立到Azure虛擬網絡內部的各個VM實例的遠程桌面協議RDP/SSH會話。

3. 自動重新配置:當我們對實例進行橫向或縱向擴展時,負載均衡器會立即重新配置。也就是說當我們在後端池中添加或刪除VM,負載均衡器會自動重新配置。而不會影響其他負載均衡器資源。

4. 健康探測器:負載均衡器根據健康探測器來判斷後端池中VM的運行狀況。當VM無法響應健康探測器時,負載均衡器會將無響應的VM標記爲不健康的狀態並停止向其發送流量。

負載均衡器支持三種探測模式

1) HTTP自定義探測:可以使用HTTP自定義探測來確定後端實例的運行狀況。負載平衡器定期探測您的端點(默認情況下每15秒)。如果在超時期限內(默認爲31秒)響應HTTP 200,則認爲該實例是健康的。HTTP 200以外的任何狀態都會導致此探測失敗。此探針還可用於實現您自己的邏輯,以從負載均衡器的輪換中刪除實例。例如,如果實例的CPU大於90%,則可以將實例配置爲返回非200狀態。

2) TCP自定義探測:可以使用TCP自定義探測來探測是否在特定端口上成功建立TCP會話,此種探測只要VM上的指定偵聽器存在就會探測成功。

3) 來賓代理探測:除了上述的兩種探測方式以外負載均衡器還可以利用VM內的來賓代理。僅當實例處於就緒狀態時,guest虛擬機代理纔會偵聽並響應HTTP 200 OK響應。如果代理無法使用HTTP 200 OK響應,則負載均衡器會將實例標記爲無響應,並停止向該實例發送流量。

除此以外,Azure負載均衡器還分爲內部負載均衡器和公共負載均衡器,其主要區別如下:

公共負載均衡器:公共負載均衡器將傳入流量的公共IP和端口號映射到後端VM的專用IP和端口號來響應來自Internet的流量。通過應用負載平衡規則我們可以跨多個VM或服務分發特定類型的流量。默認情況下,Azure負載均衡器在多個VM實例之間平均分配網絡流量。您還可以配置會話關聯.

clip_image004

內部負載均衡器:內部負載平衡器僅將流量定向到虛擬網絡內的資源或使用×××訪問Azure基礎結構的資源。在這方面,內部負載平衡器不同於公共負載平衡器。Azure基礎結構限制對虛擬網絡的負載平衡前端IP地址的訪問。前端IP地址和虛擬網絡永遠不會直接暴露給Internet端點。內部業務線應用程序在Azure中運行,可從Azure內部或本地資源進行訪問。

clip_image006

內部負載平衡器支持如下類型的負載平衡:

1、 在虛擬網絡中:從虛擬網絡中的VM到駐留在同一虛擬網絡中的一組VM之間的負載平衡。

2、 對於跨界虛擬網絡:從本地計算機到駐留在同一虛擬網絡中的一組VM之間的負載平衡。

3、 對於多層應用程序:面向Internet 的多層應用程序的負載平衡,其中後端層不是面向Internet的。後端層需要來自面向Internet的層的流量負載平衡。

4、 對於業務線應用程序:在Azure中託管的業務線應用程序的負載平衡,無需額外的負載平衡器硬件或軟件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章