如何跨兩個 Azure Stack Hub 執行個體部署 F5
本文會逐步引導您在兩個 Azure Stack Hub 環境上設定外部負載平衡器。 您可以使用此設定來管理不同的工作負載。 在本文中,您會將 F5 部署為跨兩個獨立 Azure Stack Hub 執行個體運作的全域負載平衡解決方案。 您也會在兩個執行個體之間,部署可在 NGINX 伺服器中執行的負載平衡 Web 應用程式。 這些項目會在高可用性 F5 虛擬設備的容錯移轉配對後方執行。
您可以在 f5-azurestack-gslb GitHub 存放庫中找到 Azure Resource Manager 範本。
F5 的負載平衡概觀
F5 硬體 (負載平衡器) 可能位在 Azure Stack Hub 之外和裝載 Azure Stack Hub 的資料中心內。 Azure Stack Hub 並沒有原生功能可用來在兩個不同 Azure Stack Hub 部署之間平衡工作負載。 F5 BIG-IP 虛擬版本 (VE) 可同時在兩個平台上執行。 此設定支援透過複寫支援應用程式服務的方式,使 Azure 與 Azure Stack Hub 架構中的內容保持一致。 您可以在一個環境中開發應用程式,然後將其移至另一個環境。 您也可以鏡映整個已準備好用於生產環境的 Azure Stack Hub,包括相同的 BIG-IP 設定、原則和應用程式服務。 此方法不需要數小時的應用程式重構和測試,並可讓您從撰寫程式碼開始。
保護應用程式和其資料通常是開發人員將應用程式移至公用雲端時所關心的問題。 但在此案例中,您不需要擔心此問題。 您可以在 Azure Stack Hub 環境中建置應用程式,而安全性架構設計人員會在 F5 Web 應用程式防火牆 (WAF) 上設定必要的設定。 因為知道應用程式會受到同一個領先業界的 WAF 所保護,因此整個堆疊都可以在 Azure Stack Hub 中複寫。 透過相同的原則和規則集,就不會有因採用不同 WAF 而產生的安全性漏洞或弱點。
Azure Stack Hub 的市集與 Azure 不同。 只可加入特定項目。 在此情況下,您可以在每個 Azure Stack Hub 上建立新的資源群組,以及部署已可使用的 F5 虛擬設備。 您會在那裡看到公用 IP 位址是必要的,用以允許兩個 Azure Stack Hub 執行個體之間的網路連線。 基本上,這兩者都是孤島,而公用 IP 可讓這兩者在兩個位置之間交談。
BIG-IP VE 的必要條件
將 F5 BIG-IP VE - ALL (BYOL, 2 Boot Locations) 下載至每個 Azure Stack Hub Marketplace。 如果您的入口網站中未提供這些項目,請洽詢您的雲端操作員。
您可以在下列 GitHub 存放庫中找到 Azure Resource Manager 範本:https://github.com/Mikej81/f5-azurestack-gslb。
在每個執行個體上部署 F5 BIG-IP VE
部署到 Azure Stack Hub 執行個體 A 和執行個體 B。
登入 Azure Stack Hub 使用者入口網站。
選取 [+ 建立資源]。
輸入
F5
來搜尋市集。選取 [F5 BIG-IP VE – ALL (BYOL, 2 Boot Locations)]。
在下一頁的底部,選取 [建立]。
建立名為 F5-GSLB 的新資源群組。
使用下列值作為範例來完成部署:
確認部署是否成功完成。
注意
每個 BIG-IP 部署大約需要 20 分鐘的時間。
設定 BIG-IP 設備
遵循 Azure Stack Hub A 和 B 所需的步驟。
登入 Azure Stack Hub 執行個體 A 上的 Azure Stack Hub 使用者入口網站,查看從 BIG-IP 範本部署建立的資源。
依照 F5 上面的 BIG-IP 設定項目指示。
設定 BIG-IP 的廣泛 IP 清單,以在部署至 Azure Stack Hub 執行個體 A 和 B 的兩個設備之間接聽。如需指示,請參閱 BIG-IP GTM 設定。
驗證 BIG-IP 設備的容錯移轉。 在測試系統上,將您的 DNS 伺服器設定為使用下列各項:
- Azure Stack Hub 執行個體 A =
f5stack1-ext
公用 IP 位址 - Azure Stack Hub 執行個體 B =
f5stack1-ext
公用 IP 位址
- Azure Stack Hub 執行個體 A =
瀏覽至
www.contoso.com
,而您的瀏覽器會載入 NGINX 預設頁面。
建立 DNS 同步群組
啟用根帳戶以建立信任。 請遵循變更系統維護帳戶密碼 (11.x - 15.x) 上的指示。 設定信任 (憑證交換) 之後,請停用根帳號。
登入 BIG-IP 並建立 DNS 同步群組。 如需指示,請參閱建立 BIG-IP DNS 同步群組。
注意
您可以在 F5-GSLB 資源群組中找到 BIP-IP 設備的本機 IP。 網路介面是 "f5stack1-ext",而您可以連線至公用或私人 IP (視存取而定)。
選取新的資源群組 F5-GSLB,並選取 [f5stack1] 虛擬機器,接著在 [設定] 底下選取 [網路]。
安裝後的設定
安裝之後,您必須設定 Azure Stack Hub NSG,並鎖定來源 IP 位址。
建立信任之後,請停用連接埠 22。
當您的系統上線時,請封鎖來源 NSG。 管理 NSG 應該鎖定到管理來源,外部 (4353/TCP) NSG 應鎖定至另一個執行個體以進行同步處理。在部署具有虛擬伺服器的應用程式之前,應該也要鎖定 443。
GTM_DNS 規則會設定為允許連接埠 53 (DNS) 的流量進入,而 BIG-IP 解析程式會開始運作一次。 接聽程式隨即建立。
在您的 Azure Stack Hub 環境中部署基本 Web 應用程式工作負載,以在 BIG-IP 後方進行負載平衡。 <在 Docker 上部署 NGINX 和 NGINX Plus>中可找到使用 NGNIX 伺服器的範例。
注意
在 Azure Stack Hub A 和 Azure Stack Hub B 上部署 NGNIX 的執行個體。
在每個 Azure Stack Hub 執行個體中,將 NGINX 部署到 Ubuntu VM 上的 Docker 容器之後,請確認您可以連線到伺服器上的預設網頁。
登入 BIG-IP 設備的管理介面。 在此範例中,請使用 f5-stack1-ext 公用 IP 位址。
透過 BIG-IP 發佈 NGINX 的存取權。
- 在這項工作中,您將設定具有虛擬伺服器和集區的 BIG-IP,以允許 WordPress 應用程式的輸入網際網路存取。 首先,您必須識別 NGINX 執行個體的私人 IP 位址。
登入 Azure Stack Hub 使用者入口網站。
選取您的 NGINX 網路介面。
從 BIG-IP 主控台,前往 [本機流量] > [集區] > [集區清單],然後選取 [+]。 使用資料表中的值設定集區。 將所有其他欄位保留為預設值。
Key 值 名稱 NGINX_Pool 狀況監控 HTTPS 節點名稱 NGINX 位址 <您的 NGINX 私人 IP 位址> 服務連接埠 443 選取 [完成]。 正確設定後,集區狀態會呈現綠色。
您現在必須設定虛擬伺服器。 若要這麼做,您必須先尋找 F5 BIG-IP 的私人 IP。
從 BIG-IP 主控台,前往 [網路] > [自己的 IP],然後記下 IP 位址。
若要建立虛擬伺服器,請前往 [本機流量][虛擬伺服器][虛擬伺服器清單],然後選取 []。 使用資料表中的值設定集區。 將所有其他欄位保留為預設值。
Key 值 名稱 NGINX 目的地位址 <自己 BIG-IP 的 IP 位址> 服務連接埠 443 SSL 設定檔 (用戶端) clientssl 來源位址轉譯 自動對應 您現在已完成 NGINX 應用程式的 BIG-IP 設定。 若要確認適當的功能,請瀏覽網站並確認 F5 統計資料。
開啟瀏覽器以連線至
https://<F5-public-VIP-IP>
,並確保其顯示您的 NGINX 預設頁面。現在,您可以瀏覽至 [統計資料] > [模組統計資料] > [本機流量],透過檢查虛擬伺服器的統計資料來確認流量。
在 [統計資料類型] 中,選取 [虛擬伺服器]。
取得詳細資訊
您可以找到關於使用 F5 的一些參考文章: