如何跨兩個 Azure Stack Hub 執行個體部署 F5How to deploy F5 across two Azure Stack Hub instances

本文會逐步引導您在兩個 Azure Stack Hub 環境上設定外部負載平衡器。This article walks you through setting up an external load balancer on two Azure Stack Hub environments. 您可以使用此設定來管理不同的工作負載。You can use this configuration to manage different workloads. 在本文中,您會將 F5 部署為跨兩個獨立 Azure Stack Hub 執行個體運作的全域負載平衡解決方案。In this article, you'll deploy F5 as a global load-balancing solution across two independent Azure Stack Hub instances. 您也會在兩個執行個體之間,部署可在 NGINX 伺服器中執行的負載平衡 Web 應用程式。You'll also deploy a load balanced web app running in an NGINX server across your two instances. 這些項目會在高可用性 F5 虛擬設備的容錯移轉配對後方執行。They'll run behind a high-availability, failover pair of F5 virtual appliances.

您可以在 f5-azurestack-gslb GitHub 存放庫中找到 Azure Resource Manager 範本。You can find the Azure Resource Manager templates in the f5-azurestack-gslb GitHub repository.

F5 的負載平衡概觀Overview of load balancing with F5

F5 硬體 (負載平衡器) 可能位在 Azure Stack Hub 之外和裝載 Azure Stack Hub 的資料中心內。The F5 hardware, the load-balancer, may be outside of Azure Stack Hub and within the datacenter that hosts Azure Stack Hub. Azure Stack Hub 並沒有原生功能可用來在兩個不同 Azure Stack Hub 部署之間平衡工作負載。Azure Stack Hub doesn't have a native capability to load balance workloads across two separate Azure Stack Hub deployments. F5 BIG-IP 虛擬版本 (VE) 可同時在兩個平台上執行。The F5's BIG-IP virtual edition (VE) run on both platforms. 此設定支援透過複寫支援應用程式服務的方式,使 Azure 與 Azure Stack Hub 架構中的內容保持一致。This set up supports parity between Azure and Azure Stack Hub architectures through replication of the supporting application services. 您可以在一個環境中開發應用程式,然後將其移至另一個環境。You can develop an app in one environment and move it to another. 您也可以鏡映整個已準備好用於生產環境的 Azure Stack Hub,包括相同的 BIG-IP 設定、原則和應用程式服務。You can also mirror the entire production-ready Azure Stack Hub, including the same BIG-IP configurations, policies, and application services. 此方法不需要數小時的應用程式重構和測試,並可讓您從撰寫程式碼開始。The approach eliminates the need for countless hours of application refactoring and testing, and allows you to get on with writing code.

保護應用程式和其資料通常是開發人員將應用程式移至公用雲端時所關心的問題。Securing applications and their data is often a concern for developers moving apps to the public cloud. 但在此案例中,您不需要擔心此問題。This doesn't need to be the case. 您可以在 Azure Stack Hub 環境中建置應用程式,而安全性架構設計人員會在 F5 Web 應用程式防火牆 (WAF) 上設定必要的設定。You can build an app in your Azure Stack Hub environment, while a security architect configures the necessary settings on F5's web application firewall (WAF). 因為知道應用程式會受到同一個領先業界的 WAF 所保護,因此整個堆疊都可以在 Azure Stack Hub 中複寫。The entire stack can be replicated in Azure Stack Hub with the knowledge that the application will be protected by the same industry-leading WAF. 透過相同的原則和規則集,就不會有因採用不同 WAF 而產生的安全性漏洞或弱點。With identical policies and rulesets, there won't be any security loopholes or vulnerabilities that might otherwise be generated by employing different WAFs.

Azure Stack Hub 的市集與 Azure 不同。Azure Stack Hub has a separate marketplace from Azure. 只可加入特定項目。Only certain items are added. 在此情況下,您可以在每個 Azure Stack Hub 上建立新的資源群組,以及部署已可使用的 F5 虛擬設備。In this case, if you want to create a new resource group on each of the Azure Stack Hubs and deploy the F5 virtual appliance that are already available. 您會在那裡看到 公用 IP 位址是必要的,用以允許兩個 Azure Stack Hub 執行個體之間的網路連線。From there, you'll see that a Public IP address will be required to allow network connectivity between both Azure Stack Hub instances. 基本上,這兩者都是孤島,而 公用 IP 可讓這兩者在兩個位置之間交談。Essentially, they are both islands and the Public IP will allow them to talk across both locations.

BIG-IP VE 的必要條件Prerequisites for BIG-IP VE

  • F5 BIG-IP VE - ALL (BYOL, 2 Boot Locations) 下載至每個 Azure Stack Hub Marketplace。Download F5 BIG-IP VE - ALL (BYOL, 2 Boot Locations) into each Azure Stack Hub Marketplace. 如果您的入口網站中未提供這些項目,請洽詢您的雲端操作員。If you don't have them available to you in your portal, contact your cloud operator.

  • 您可以在下列 GitHub 存放庫中找到 Azure Resource Manager 範本: https://github.com/Mikej81/f5-azurestack-gslbYou can find the Azure Resource Manager template in the following GitHub repository: https://github.com/Mikej81/f5-azurestack-gslb.

在每個執行個體上部署 F5 BIG-IP VEDeploy F5 BIG-IP VE on each instance

部署到 Azure Stack Hub 執行個體 A 和執行個體 B。Deploy to Azure Stack Hub instance A and instance B.

  1. 登入 Azure Stack Hub 使用者入口網站。Sign into the Azure Stack Hub user portal.

  2. 選取 [+ 建立資源] 。Select + Create a Resource.

  3. 輸入 F5 來搜尋市集。Search the marketplace by typing F5.

  4. 選取 [F5 BIG-IP VE – ALL (BYOL, 2 Boot Locations)] 。Select F5 BIG-IP VE – ALL (BYOL, 2 Boot Locations).

    [儀表板 > 新的 > Marketplace > 所有 > F5 大 IP 前端-所有 (BYOL,2個開機位置) ] 對話方塊都會在搜尋方塊中顯示 F5。

  5. 在下一個頁面的底部,選取 [ 建立]。At the bottom of the next page, select Create.

    您可以根據您的授權,「F5 BIG-IP VE – ALL (BYOL,2 Boot 位置) 」對話方塊提供有關您可以部署的大型 IP VE 和模組的資訊。

  6. 建立名為 F5-GSLB 的新資源群組。Create a New Resource Group called F5-GSLB.

  7. 使用下列值作為範例來完成部署:Use the following values as an example to complete the deployment:

    [Microsoft 範本] 對話方塊的 [輸入] 頁面會顯示包含範例部署值的15個文字方塊,例如 VIRTUALMACHINENAME 和 ADMINUSERNAME。

  8. 確認部署是否成功完成。Validate that your deployment completes successfully.

    [Microsoft 範本] 對話方塊的 [總覽] 頁面會報告「您的部署已完成」,並提供部署的詳細資料。

    注意

    每個 BIG-IP 部署大約需要 20 分鐘的時間。Each BIG-IP Deployment should take around 20 minutes.

設定 BIG-IP 設備Configure BIG-IP appliances

遵循 Azure Stack Hub A 和 B 所需的步驟。Follow these steps needs for both Azure Stack Hub A and B.

  1. 登入 Azure Stack Hub 執行個體 A 上的 Azure Stack Hub 使用者入口網站,查看從 BIG-IP 範本部署建立的資源。Sign into the Azure Stack Hub user portal on Azure Stack Hub instance A to review the resources created from the BIG-IP template deployment.

    [F5-GSLB] 對話方塊的 [總覽] 頁面會列出已部署的資源和相關聯的資訊。

  2. 依照 F5 上面的 BIG-IP 設定項目指示。Follow the instructions at F5 for BIG-IP Configuration items.

  3. 設定 BIG-IP 的廣泛 IP 清單,以在部署至 Azure Stack Hub 執行個體 A 和 B 的兩個設備之間接聽。如需指示,請參閱 BIG-IP GTM 設定Configure BIG-IP Wide IP List to listen across both appliances deployed to Azure Stack Hub instance A and B. For instructions, see BIG-IP GTM Configuration.

  4. 驗證 BIG-IP 設備的容錯移轉。Validate Failover of BIG-IP Appliances. 在測試系統上,將您的 DNS 伺服器設定為使用下列各項:On a test system, configure your DNS servers to use the following:

    • Azure Stack Hub 執行個體 A = f5stack1-ext 公用 IP 位址Azure Stack Hub instance A = f5stack1-ext public IP Address
    • Azure Stack Hub 執行個體 B = f5stack1-ext 公用 IP 位址Azure Stack Hub instance B = f5stack1-ext public IP Address
  5. 瀏覽至 www.contoso.com,而您的瀏覽器會載入 NGINX 預設頁面。Browse to www.contoso.com and your browser loads the NGINX default page.

建立 DNS 同步群組Create a DNS sync group

  1. 啟用根帳戶以建立信任。Enable the root account to establish trust. 請遵循變更系統維護帳戶密碼 (11.x - 15.x) 上的指示。Follow the instruction at Changing system maintenance account passwords (11.x - 15.x). 設定信任 (憑證交換) 之後,請停用根帳號。After you set the trust (certificate exchange), disable the root account.

  2. 登入 BIG-IP 並建立 DNS 同步群組。Sign in to the BIG-IP and create a DNS Sync Group. 如需指示,請參閱建立 BIG-IP DNS 同步群組For instructions, see Creating BIG-IP DNS Sync Group.

    注意

    您可以在 F5-GSLB 資源群組中找到 BIP-IP 設備的本機 IP。You can find the local IP of the BIP-IP Appliance in your F5-GSLB Resource Group. 網路介面是 "f5stack1-ext",而您可以連線至公用或私人 IP (視存取而定)。The Network Interface is "f5stack1-ext" and you want to connect to the Public or Private IP (depending on access).

    [DNS >> GSLB:資料中心:資料中心清單] 對話方塊會列出資料中心和狀態。

    [DNS >> GSLB:伺服器:伺服器清單] 對話方塊會列出伺服器和狀態。

  3. 選取新的資源群組 F5-GSLB,並選取 [f5stack1] 虛擬機器,接著在 [設定] 底下選取 [網路]。Select the new resource group F5-GSLB and select the f5stack1 virtual machine, under Settings select Networking.

安裝後的設定Post install configurations

安裝之後,您必須設定 Azure Stack Hub Nsg,並鎖定來源 IP 位址。After you have installed, you'll need to configure your Azure Stack Hub NSGs and lock down the source IP addresses.

  1. 建立信任之後,請停用連接埠 22。Disable the port 22 after the trust has been established.

  2. 當您的系統上線時,請封鎖來源 NSG。When your system is online, block the source NSGs. 管理 NSG 應該鎖定到管理來源,外部 (4353/TCP) NSG 應鎖定至另一個實例以進行同步處理。在部署具有虛擬伺服器的應用程式之前,應該也要鎖定443。Management NSG should be locked to management source, External (4353/TCP) NSG should be locked to the other instance for sync. 443 should also be locked until applications with Virtual Servers are deployed.

  3. GTM_DNS 規則會設定為允許連接埠 53 (DNS) 的流量進入,而 BIG-IP 解析程式會開始運作一次。GTM_DNS Rule is set to allow port 53 (DNS) traffic in, and BIG-IP resolver will start working once. 接聽程式隨即建立。Listeners are created.

    [網路介面] 對話方塊的 [fStack1-ext] 頁面會顯示 fStack1-ext 介面的相關資訊,以及其 NSG、fStack1-ext-NSG 的相關資訊。

  4. 在您的 Azure Stack Hub 環境中部署基本 Web 應用程式工作負載,以在 BIG-IP 後方進行負載平衡。Deploy a basic web application workload within your Azure Stack Hub environment to Load Balance behind the BIG-IP. 在 Docker 上部署 NGINX 和 NGINX Plus>中可找到使用 NGNIX 伺服器的範例。You can find an example for using the NGNIX server at Deploying NGINX and NGINX Plus on Docker.

    注意

    在 Azure Stack Hub A 和 Azure Stack Hub B 上部署 NGNIX 的執行個體。Deploy an instance of NGNIX on both Azure Stack Hub A and Azure Stack Hub B.

  5. 在每個 Azure Stack Hub 執行個體中,將 NGINX 部署到 Ubuntu VM 上的 Docker 容器之後,請確認您可以連線到伺服器上的預設網頁。After NGINX is deployed in a docker container on an Ubuntu VM within each of the Azure Stack Hub instances, validate that you can reach the default webpage on the servers.

    「歡迎使用 nginx!」

  6. 登入 BIG-IP 設備的管理介面。Sign in to the management interface of the BIG-IP appliance. 在此範例中,請使用 f5-stack1-ext 公用 IP 位址。In this example, use the f5-stack1-ext Public IP address.

    大型 IP 設定公用程式的登入畫面需要使用者名稱和密碼。

  7. 透過 BIG-IP 發佈 NGINX 的存取權。Publish access to NGINX through the BIG-IP.

    • 在這項工作中,您將設定具有虛擬伺服器和集區的 BIG-IP,以允許 WordPress 應用程式的輸入網際網路存取。In this task, you'll configure the BIG-IP with a Virtual Server and Pool to allow inbound Internet access to the WordPress application. 首先,您必須識別 NGINX 執行個體的私人 IP 位址。First you need to identify the private IP address for the NGINX instance.
  8. 登入 Azure Stack Hub 使用者入口網站。Sign in to the Azure Stack Hub user portal.

  9. 選取您的 NGINX 網路介面。Select your NGINX Network Interface.

    [儀表板 > 資源群組 > NGINX > ubuntu2673] 對話方塊的 [總覽] 頁面會顯示 ubuntu2673 網路介面的相關資訊。

  10. 從 BIG-IP 主控台,移至 [本機流量] > [集區] > [集區清單],然後選取 [+]。From the BIG-IP console, go to Local traffic > Pools > Pool List and Select +. 使用資料表中的值設定集區。Configure the pool using the values in the table. 將所有其他欄位保留為預設值。Leave all other fields to their defaults.

    左窗格提供流覽建立新集區的功能。

    KeyKey Value
    名稱Name NGINX_PoolNGINX_Pool
    狀況監控Health Monitor HTTPSHTTPS
    節點名稱Node Name NGINXNGINX
    位址Address <your NGINX private IP address>
    服務連接埠Service Port 443443
  11. 選取 [完成]。Select Finished. 正確設定後,集區狀態會呈現綠色。When configured correctly, the pool status is green.

    右窗格的標題是「本機流量 >> 集區:集區清單」,而新建立的集區是清單中唯一的專案。

    您現在必須設定虛擬伺服器。You now need to configure the virtual server. 若要這麼做,您必須先尋找 F5 BIG-IP 的私人 IP。To do this, you first need to find the private IP of your F5 BIG-IP.

  12. 從 BIG-IP 主控台,移至 [網路] > [自己的 IP],然後記下 IP 位址。From the BIG-IP console, go to Network > Self IPs and note the IP address.

    左窗格可讓您流覽以顯示自己的 Ip。

  13. 前往 [本機流量 > 虛擬伺服器 > 虛擬伺服器] 清單,然後選取,以建立虛擬伺服器 +Create a virtual server by going to Local Traffic > Virtual Servers > Virtual Server List and Select +. 使用資料表中的值設定集區。Configure the pool using the values in the table. 將所有其他欄位保留為預設值。Leave all other fields to their defaults.

    KeyKey Value
    名稱Name NGINXNGINX
    目的地位址Destination Address <Self IP address of the BIG-IP>
    服務連接埠Service Port 443443
    SSL 設定檔 (用戶端)SSL Profile (Client) clientsslclientssl
    來源位址轉譯Source Address Translation 自動對應Auto Map

    左窗格會用來將右窗格導覽至 [ >> 虛擬伺服器的本機流量:虛擬伺服器清單 >> NGINX],其中會輸入所需的資訊。

    此頁面提供輸入其他資訊的功能。

  14. 您現在已完成 NGINX 應用程式的 BIG-IP 設定。You have now completed the BIG-IP configuration for the NGINX application. 若要確認適當的功能,請瀏覽網站並確認 F5 統計資料。To verify proper functionality, browse the site and verify F5 statistics.

  15. 開啟瀏覽器以連線至 https://<F5-public-VIP-IP>,並確保其顯示您的 NGINX 預設頁面。Open a browser to https://<F5-public-VIP-IP> and ensure it displays your NGINX default page.

    「歡迎使用 nginx!」

  16. 現在,您可以瀏覽至 [統計資料] > [模組統計資料] > [本機流量],透過檢查虛擬伺服器的統計資料來確認流量。Now check the statistics of your virtual server to verify traffic flow, by navigating to Statistics > Module Statistics > Local Traffic.

  17. 在 [統計資料類型] 中,選取 [虛擬伺服器]。Under Statistics Type, select Virtual Servers.

    左窗格已導覽右邊的 [統計資料 >> 模組統計資料:本機流量 >> 虛擬伺服器],而清單會顯示 NGINX 虛擬伺服器和其他專案。

取得詳細資訊For more information

您可以找到關於使用 F5 的一些參考文章:You can find some reference articles about using F5:

後續步驟Next steps

Azure Stack Hub 網路服務的差異與注意事項Differences and considerations for Azure Stack Hub networking