Microsoft Azure系列之九 實現基於Iaas雲端服務的虛機Server Load Balancer

來源:互聯網
上載者:User

標籤:

如果需要對一個雲端服務下的不同虛擬機器實現負載平衡,可以將Public Port的訊息通過負載平衡轉寄到每個VM,從而實現請求的自動負載平衡。

具體拓撲如下:

650) this.width=650;" title="clip_image001" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image001" src="http://s3.51cto.com/wyfs02/M02/82/08/wKiom1dIA4exWwtUAAElH3htybA643.png" height="287" />

我們可以對之前建立的這兩台虛擬機器,設定80連接埠的負載平衡。

650) this.width=650;" title="clip_image002" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image002" src="http://s3.51cto.com/wyfs02/M01/82/08/wKiom1dIA4ixWZRdAABlC7qTE24885.png" height="334" />

注意:Azure的負載平衡目前只支援四層,不能保留Session。

負載平衡的演算法是Azure設定好的,不能修改。演算法主要依賴於五元組(source IP, source port, destination IP, destination port, protocol type)。

 

Azure虛擬機器在預設情況下,只開啟了RDP的連接埠和PowerShell的連接埠,其他的連接埠都是關閉的。

 

我們為了測試,安裝並開啟2台虛擬機器的web服務,並添加80連接埠的終結點。

650) this.width=650;" title="clip_image003" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image003" src="http://s3.51cto.com/wyfs02/M00/82/07/wKioL1dIBIDxzWbhAACi1IuWPsM049.png" height="567" />

安裝web服務,第二台略

650) this.width=650;" title="clip_image004" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image004" src="http://s3.51cto.com/wyfs02/M01/82/07/wKioL1dIBICD5isoAAAkVXc-E7U155.png" height="160" />

測試第一台WEB服務,正常!

650) this.width=650;" title="clip_image005" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image005" src="http://s3.51cto.com/wyfs02/M02/82/07/wKioL1dIBICDQAzzAAAlD6zB53w339.png" height="180" />

第二台web伺服器。

(注意:為了區分效果,2台web網頁內容設定為不一樣,實際情況下應該相同)

 

首先在第一台虛擬機器上添加終結點,並建立負載平衡群集

650) this.width=650;" title="clip_image006" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image006" src="http://s3.51cto.com/wyfs02/M00/82/07/wKioL1dIBIHxEDfVAAExgZ5go14627.png" height="494" />

點擊“添加”

650) this.width=650;" title="clip_image007" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image007" src="http://s3.51cto.com/wyfs02/M01/82/07/wKioL1dIBIKCVNV8AAEfidb3Zic851.png" height="494" />

添加獨立終結點

650) this.width=650;" title="clip_image008" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image008" src="http://s3.51cto.com/wyfs02/M02/82/08/wKiom1dIA4uwFU50AAEtWd9VEeE941.png" height="494" />

指定終結點名稱“HTTP”,協議TCP,公用連接埠80,私人連接埠80,勾選“建立Server Load Balancer群集”

650) this.width=650;" title="clip_image009" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image009" src="http://s3.51cto.com/wyfs02/M02/82/08/wKiom1dIA43D6XkFAAErQ6eIvWw046.png" height="494" />

設定Server Load Balancer群集名稱NLB-HTTP,探測協議TCP,探測連接埠及間隔,保持預設

650) this.width=650;" title="clip_image010" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image010" src="http://s3.51cto.com/wyfs02/M02/82/07/wKioL1dIBISy3gE9AACyNcwvpi8293.png" height="259" />

第一台虛擬機器終結點建立完成,

 

切換到第二台虛擬機器

650) this.width=650;" title="clip_image011" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image011" src="http://s3.51cto.com/wyfs02/M00/82/08/wKiom1dIA47y7KYRAADAWLUGKjA882.png" height="238" />

終結點頁面

650) this.width=650;" title="clip_image012" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image012" src="http://s3.51cto.com/wyfs02/M01/82/08/wKiom1dIA47Spcj-AAEQRmkLa0s324.png" height="612" />

添加

650) this.width=650;" title="clip_image013" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image013" src="http://s3.51cto.com/wyfs02/M01/82/08/wKiom1dIA4_BBpxhAAEi2WiFTIQ071.png" height="494" />

選擇將終結點添加到Server Load Balancer群集“NLB-HTTP”

650) this.width=650;" title="clip_image014" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image014" src="http://s3.51cto.com/wyfs02/M01/82/07/wKioL1dIBIfAr2ItAAE3O0tQc2c969.png" height="494" />

設定終結點名稱HTTP,其餘預設

650) this.width=650;" title="clip_image015" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image015" src="http://s3.51cto.com/wyfs02/M02/82/08/wKiom1dIA5Hh_3ALAADPohuxQPs811.png" height="258" />

第2台虛擬機器終結點添加完成。

 

下面開始測試

找一台本機電腦,我們使用2個瀏覽器chrome和IE,類比2個使用者訪問,效果如下:

IE

650) this.width=650;" title="clip_image016" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image016" src="http://s3.51cto.com/wyfs02/M02/82/07/wKioL1dIBIixJerUAAArpe90kr0624.png" height="167" />

chrome

650) this.width=650;" title="clip_image017" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image017" src="http://s3.51cto.com/wyfs02/M00/82/08/wKiom1dIA5KAbjIeAABCsHMFJXw462.png" height="136" />

測試完成。

Azure Load Balancer(負載平衡器)的規則,是由五要素組成source IP, source port, destination IP, destination port, protocol type

參考資料:http://azure.microsoft.com/blog/2014/04/08/microsoft-azure-load-balancing-services/

650) this.width=650;" title="clip_image018" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image018" src="http://s3.51cto.com/wyfs02/M01/82/07/wKioL1dIBImB64qvAACDDHLHPKc210.png" height="222" />

最新的Azure Load Balancer可以將規則進行修改,改為2要素,(Source IP,Destination IP)或3要素(Source IP, Destination IP, Protocol)。這樣由同一個用戶端發起的請求,會指向同一個Azure目標伺服器。通過這種方式,就可以保留Session。如所示:

650) this.width=650;" title="clip_image019" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;padding-right:0px;" border="0" alt="clip_image019" src="http://s3.51cto.com/wyfs02/M02/82/07/wKioL1dIBIrBIFpYAACBtr3FZ18477.png" height="231" />



Microsoft Azure系列之九 實現基於Iaas雲端服務的虛機Server Load Balancer

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.