作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。

接下來這篇不是要做安裝詳解,但我想在本篇內讓大家看一下Avi方案在AWS環境內的運作,以此體會一下Avi能夠於公有雲上面取得的強大能力。當我們需要在公有雲環境內使用Avi的負載平衡器,基本上會包含了下列的相關步驟:

 

  • 在公有雲上或是企業內的私有雲環境,將Avi Controller Cluster安裝完成。當然,如果我們的Avi Controller是配置在企業私有機房內,此時從私有機房到公有雲間應該要有藉由VPN或是如Direct Connect所建立的網路連線

 

  • 選擇要建立一個新的Cloud,選擇AWS,並配置要連接的AWS Region,Access Key以及對應的Secret Access Key。另外也可以採用IAM Role的方式來配置

 

  • 選擇在這個Region內要使用的VPC是哪一個,還有Avi的服務引擎要配置到哪些Availability Zone,以及對應的管理網路。

 

  • 如果我們希望要選定特定的Service Engine Group也可以直接選擇。Service Engine Group是Avi方案內的特定名詞,當管理者建立一個Virtual Service提供負載平衡服務時,可以選擇要把這個虛擬服務是要擺放到哪種等級的底層資源上,以及這個服務要採用Active/Active或是Active/Standby的保護等級。比如說在私有雲內,不同的Service Engine Group可以定義是提供不同CPU / Memory / Storage的虛機資源。而在AWS內,不同的Service Engine Group內可以定義底層的Service Engine是要採用large或是t3.small等不同的Instance。

 

下面這張圖是在我自己的展示環境內,在Avi內建立了一個叫做cjao-AWS的雲資源,並且連接到東京Region

接著我選擇了要使用哪個已經預先建立好的VPC,以及在這個VPC內我會採用的AZ與管理網路。

基礎架構連接起來後,我想做一個很簡單的Avi在AWS上提供負載平衡功能的展示。下圖是我目前的演示環境,簡述如下:

 

  • 展示應用的虛機是放在私有雲環境內。這裡是在內湖的一個機房內。但此機房與公有雲間 (AWS Tokyo Region) 間有建立 VPN 通道

 

  • 但這個展示應用的負載平衡虛擬服務要求在AWS上提供服務,因此對應的Avi服務引擎也會建立在AWS上

 

  • 對應到這個負載平衡的虛擬服務可以配置一個Elastic IP (下圖的114.184.141),我們可以透過這個外部IP來連線到這個服務。

首先大家可以先看到我在配置Avi服務前的EC2環境,目前沒有任何Service Engine的Instance在運作:

接著我進行基本負載平衡的相關配置,包含建立一個Pool來定義後端要進行的伺服器有那些,以及一個新的Virtual Service,裡面選擇我要採用AWS Cloud,這個服務的Virtual IP要放到哪個網段內,而且前面需要有固定的Elastic IP讓我們可以連接。比如說下圖。

當這個Virtual Service要啟用時,Avi Controller會尋找在對應的AWS Cloud內是否就有現成可使用的服務引擎。如果沒有,此時Avi Controller會自動透過AWS的API,要求在前面已經連接的環境內自動產出可用的服務引擎。下面兩張圖內,我們首先可以看到新的AWS-LB-HTTP這個虛擬服務開始啟用,但同時也在等待服務引擎生成。而在AWS EC2內,在我們沒有手動參與下,新的服務引擎自己跑出來了

當服務引擎建立完成,連接到控制器,Avi Controller會將需求的Virtual Service配發到Service Engine來提供服務。下圖內我們可以看到外部的Elastic IP目前被指定到對應的服務引擎上。

接著來做測試。我從自己本機MAC上的Safari瀏覽器,連接到AWS這邊提供此服務的Elastic IP 13.114.184.141。可以看到負載平衡功能可以正常運作了

同時我們也來看前面有展示的日誌功能。在這個於AWS上運作的Virtual Service內,上面連線的日誌如下圖。這個圖內我們可以看到幾個重點:

 

  • 因為用戶的瀏覽器在台灣,負載平衡服務對應的實體 (Service Engine) 在AWS東京,實際的後端伺服器在台灣,於連線的反應時間內很忠實地記錄了對應的網路、伺服器、與應用反應等時間

 

  • 如同在私有雲內一樣,日誌內忠實紀錄了用戶的地址、位置、作業系統、瀏覽器等資訊

 

  • 我們是連到AWS的哪個Elastic IP當然也有記錄下來。

本文不是要和大家詳細說明Avi與AWS的整合方式,只是希望給各位一個感覺,Avi在公有雲上可以非常方便的使用,因此就此打住。如果相關的詳細配置大家有興趣,可以到下列網誌內有相關的AWS整合說明:https://avinetworks.com/docs/18.2/installing-avi-vantage-in-amazon-web-services/

 

下一篇我們換個話題,討論Avi方案的API,以及與自動化編排工具的相關整合。