[Azure] 使用負載平衡器,快速建構虛擬機器負載平衡的環境

在Microsoft Azure的雲端環境中,WebApp已經提供了自動Scale Out的功能
但是雲端的虛擬機器若是要作到多台伺服器達到負載平衡的效果,卻是要花費很多工夫才能達到的
在今年(2016) 3月時,微軟針對了虛擬機器的負載平衡功能進行了更新,讓虛擬機器作到負載平衡不再是一件難事了

要在Microsoft Azure的環境中建立虛擬機器負載平衡的功能,步驟有點繁瑣
有一些基本的步驟在本篇文章裡就不會描述得太詳細,對於熟悉Azure操作的人來說會較為清楚明瞭

建立虛擬機器的負載平衡環境,依照下面的步驟就可以完成建置了

先在Azure上建立一個[可用性設定組],這個[可用性設定組]的功能,類似可以將多台虛擬機器放入至一個群組之中,並在負載平衡環境裡將虛擬機器作為節點的處理

建立[可用性設定組]的原因,也可以參考官方文件中所附的系統架構圖,圖中的[Availability Set]扮演著將虛擬機器群組化的角色

接著在Azure上建立虛擬機器,建立時,請在[可用性]的設定中,將剛剛建立的[可用性設定組]選進來

1.虛擬機器的版本,傳統(v1)資源管理員(v2)的機器是無法混用在同一個[可用性設定組],所以要放在同一個負載平衡裡的虛擬機器,版本必須相同
2.虛擬機器的費用等級必須在標準(A0)等級以上,基本等級是無法使用負載平衡服務的
3.已經建立好的虛擬機器無法變更可用性的設定,所以請在建立虛擬機器前要先把[可用性設定組]建立好

 確定虛擬機器都已經建立完成之後,可以點進[可用性設定組],查看虛擬機器是否都已經放入了這一個[可用性設定組]之中

接著,建立一個名為[負載平衡器]的服務

在配置的地方,選擇[公用]代表可以讓外部IP的來源連入至負載平衡器,若是選擇[內部]的話就只有提供私人的IP可以連入,在這裡先選擇[公用],而[公用IP位址]的項目,選擇建立一個新的公用IP,並指定為靜態,以用於識別稍後要連入服務的IP

負載平衡器建立完之後,先進入到[設定]的畫面中,並選擇[後端集區],在[後端集區]中建立一個新的集區,除了加入集區名稱外,點選下方的[新增虛擬機器],並點選前面步驟中建立的[可用性設定組]

選擇了[可用性設定組],會在下方虛擬機器的項目中需要加入在這個[可用性設定組]中要放入負載平衡的虛擬機器,將要加入負載平衡的虛擬機器打勾按下選取並儲存

按下儲存後會需要一點時間更新虛擬主機,虛擬網路的設定

接著點開負載平衡器設定中的[探查],並新增一項探查項目,探查最主要的目的在於讓負載平衡確認節點伺服器是否運作正常,若是作為網站伺服器的話,就是透過HTTP與80 Port作為探查的設定,若是其他服務,也可以各別設定TCP的通訊協定與不同的連接埠

最後一步,進入負載平衡器設定中的[負載平衡規則]並新增一個規則,連接埠的部份,針對介接的連接埠編號與後端節點伺服器的連接埠編號進行設定,另外在[工作階段持續性]可以選擇[用戶端IP][用戶端IP和通訊協定]
兩者的差別在於,若是選擇[用戶端IP],則針對用戶端的IP,不管是什麼通訊協定,將會持續由第一次連入的伺服器作連線,而[用戶端IP和通訊協定]設定,則是再加上通訊協定的雙重條件進行設定,[浮動IP]的設定請先設定[已停用]

到這個步驟,針對網頁伺服器的負載平衡就已經設定好了,接下來只要連入到負載平衡的公用IP位址看一下,網頁伺服器上的內容是否有正常顯示來確認設定是否有成功

將這一台虛擬機器上的IIS進行停用後,重新連入網頁,可以看到顯示在畫面上取得伺服器IP的字串不同了,代表負載平衡器確實進行了服務機器轉移的動作

現在在Azure上建立虛擬機器的負載平衡器,步驟與難度已經沒有以前那麼高,也可以不用動用PowerShell,直接透過Portal介面就可以進行設定,對於網路層或是針對Infra端的工程師來說,建立負載平衡的工作也就更加輕鬆了

參考資料:
Azure 負載平衡器概觀
開始使用 PowerShell 在資源管理員中建立網際網路面向的負載平衡器