作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。
近幾年在台灣我們已經有了相當多的NSX Advanced Load Balancer (Avi Networks) 客戶,而在方案規劃與生產部署過程當中,也學習到很多實務上企業在應用遞送的需求與考量。通常我們和客戶初步做NSX Advanced Load Balancer的介紹時,除了強調原本應用遞送相關功能外,最主要說明與傳統負載平衡器廠商間的差異點包括了
- 完整HTTP連線的交易紀錄與分析
- Active / Active架構支持與快速的auto-scaleout
- 在不同底層架構,包含虛機及容器私有雲環境,及公有雲環境的完整支持
- 軟體定義方案,提供完整API及與不同自動化工具整合
- 授權方式運用的彈性
上面這些效益也得到眾多企業的喜愛與支持。但不可諱言,應用遞送是一個存在多年的方案,我們並不是拿一個客戶完全沒使用過的產品出來介紹。因此必然的,企業資料中心內目前可能已經有眾多的重要業務系統前端使用其他競爭友商的負載平衡器了,所以客戶在考慮是否要採用NSX Advanced Load Balancer時,也必定會思考,重要業務與網站上目前有使用到負載平衡器的哪些功能?這些功能是否都能無痛移轉到新的方案?導入新產品會不會造成原本運作良好的環境反而出問題呢?
所以幾乎在每個案子,當聊得深了,幾乎都會碰到客戶詢問一個問題:你們有沒有支持iRule?
iRule是由F5提供,運作在Big-IP方案內的直譯式腳本工具,採用TCL語法。使用iRule,管理者可以透過寫Script的方式,對於網路流,尤其常見在HTTP協議進行需要的操作與管理。比如說眾多的F5客戶會採用iRule來對重要網頁應用進行
- 基於URL的HTTP轉址
- 基於URL的後端伺服器池 (Pool) 選擇
- 改寫HTTP請求或回應內的表頭 (Header)
- 強化HTTP內cookie安全性
- 基於Host FQDN回應對應的憑證
像是上面這些。當然要做這些事也不僅止於使用F5產品與iRule,但由於友商在台灣有眾多的客戶與長期的產品部署建置,在企業端的負載平衡器以及Web團隊架構師,許多都對iRule相當熟悉,甚至可以自行進行相關的規則撰寫與維護。也因此我們最常被問的問題就直接是對應iRule的支援能力了。
所以回到問題本身:NSX Advanced Load Balancer有沒有支持iRule呢?當然是沒有,這是友商產品的工具。但上面的這些對應Web網頁應用需求的改寫、作業需求能否做到呢?其實幾乎都能做到。在NSX Advanced Load Balancer內,我們可以透過兩種機制來進行相關的操作:
使用 UI 介面內的 Policy 機制
在每個Virtual Service的UI管理介面內,我們可以定義不同種類的Policy包括Network Policy / HTTP Security Policy / HTTP Request Policy / HTTP Response Policy。此介面內我們可以透過簡易的UI設定方式配置相關的操作。對於大部分的客戶HTTP協議操作需求,其實使用這裡的配置可能就滿足了。作業介面像是下面這樣。
使用 Datascript
但某些複雜的條件比對需求,可能還是需要用腳本來解決。NSX Advanced Load Balancer內有提供基於Lua語法的Datascript工具。管理者同樣地可以採用寫腳本的方式,來進行需求的條件式判斷以及功能呼叫。比如說像下面這樣:
在實際案子內,當客戶部署了NSX Advanced Load Balancer,需要做類似上面的HTTP協議操作時,VMware Professional Service都可提供相關的諮詢與協助。但或許閱讀本文的各位,可能是自己有在管理NSX Advanced Load Balancer,可能是要替客戶進行規劃與維運。因此在本系列網誌內,我想要與大家介紹這兩個在NSX ALB內的重要工具。系列內容大致如下:
- 簡單討論:客戶端的實際HTTP進階需求案例
- HTTP協議簡單介紹
- NSX Advanced Load Balancer: Virtual Service Policy簡述
- Datascript討論與範例
那麼下篇,我們就先由幾個客戶端常見的HTTP進階操作需求討論開始。
Comments
0 Comments have been added so far