共用方式為


使用 Azure 應用程式閘道保護 Azure VMware 解決方案上的 Web 應用程式

Azure 應用程式閘道是第 7 層網路流量負載平衡器,可讓您管理 Web 應用程式的流量,Azure VMware 解決方案 v1.0 和 v2.0 中皆提供此功能。 這兩個版本都是以在 Azure VMware 解決方案上執行的 Web 應用程式進行測試的。

功能包括:

  • Cookie 型工作階段同質
  • URL 型路由
  • Web Application Firewall (WAF)

如需完整功能清單,請參閱 Azure 應用程式閘道功能

本文說明如何在網頁伺服器陣列前面使用應用程式閘道,以保護在 Azure VMware 解決方案上執行的 Web 應用程式。

拓撲

此圖顯示如何使用應用程式閘道來保護 Azure IaaS 虛擬機器 (VM)、Azure 虛擬機器擴展集或內部部署伺服器。 應用程式閘道會將 Azure VMware 解決方案 VM 視為內部部署伺服器。

Diagram showing how Application Gateway protects Azure IaaS virtual machines (VMs), Azure Virtual Machine Scale Sets, or on-premises servers.

重要

若要公開在 Azure VMware 解決方案 VM 上執行的 Web 應用程式,Azure 應用程式閘道是目前唯一支援的方法。

此圖顯示用來向 Azure VMware 解決方案 Web 應用程式驗證應用程式閘道的測試案例。

Diagram showing the testing scenario used to validate the Application Gateway with Azure VMware Solution web applications.

應用程式閘道執行個體會在中樞上部署於具有 Azure 公用 IP 位址的專用子網路中。 建議為虛擬網路啟用 Azure DDoS 保護。 網頁伺服器裝載於 NSX T0 和 T1 閘道後方的 Azure VMware 解決方案私人雲端上。 此外,Azure VMware 解決方案使用 ExpressRoute Global Reach 來啟用與中樞和內部部署系統的通訊。

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。
  • Azure VMware 解決方案私人雲端已部署並執行中。

部署和設定

  1. 在 Azure 入口網站中,搜尋應用程式閘道,然後選取 [建立應用程式閘道]

  2. 提供下圖中的基本詳細資料;然後選取 [下一步:前端>]

    Screenshot showing Create application gateway page in Azure portal.

  3. 選擇前端 IP 位址類型。 針對公用,選擇現有的公用 IP 位址,或建立新的 IP 位址。 選取 [下一步:後端]>

    注意

    私人前端僅支援標準和 Web 應用程式防火牆 (WAF) SKU。

  4. 新增在 Azure VMware 解決方案基礎結構上執行之 VM 的後端集區。 提供 Azure VMware 解決方案私人雲端上執行的網頁伺服器的詳細資料,然後選取 [新增]。 然後,選取 [下一步:設定 >]

  5. 在 [設定] 索引標籤上,選取 [新增路由規則]

  6. 在 [接聽程式] 索引標籤上,提供接聽程式的詳細資料。 如果選取了 HTTPS,則必須從 PFX 檔案提供憑證,或提供現有的 Azure Key Vault 憑證。

  7. 選取 [後端目標] 索引標籤,然後選取先前建立的後端集區。 針對 [HTTP 設定] 欄位,選取 [新增]

  8. 設定 HTTP 設定的參數。 選取 [新增]。

  9. 如果您想要設定路徑型規則,請選取 [新增多個目標以建立路徑型規則]

  10. 新增路徑型規則,然後選取 [新增]。 重複上述步驟以新增更多路徑型規則。

  11. 在完成路徑型規則的新增後,再次選取 [新增],然後選取 [下一步:標籤]>

  12. 新增標籤,然後選取 [下一步:檢閱 + 建立>]

  13. 此時會對您的應用程式閘道執行驗證。 如果成功,請選取 [建立] 進行部署。

設定範例

現在,請為下列使用案例,設定以 Azure VMware 解決方案 VM 作為後端集區的應用程式閘道:

裝載多個網站

此程序說明如何在現有的應用程式閘道上,使用在 Azure VMware 解決方案私人雲端上執行的 VM 來定義後端位址集區。

注意

此程序假設您有多個網域,因此我們將以 www.contoso.comwww.contoso2.com 為例。

  1. 在您的私人雲端中,建立兩個不同的 VM 集區。 一個代表 Contoso,另一個代表 contoso2。

    Screenshot showing summary of a web server's details in VMware vSphere Client.

    我們使用已安裝 Internet Information Services (IIS) 角色的 Windows Server 2016。 在安裝 VM 後,執行下列 PowerShell 命令,以在每個 VM 上設定 IIS。

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    
  2. 在現有的應用程式閘道執行個體中,從左側功能表中選取 [後端集區]、選取 [新增],然後輸入新集區的詳細資料。 在右窗格中選取 [新增]

    Screenshot of Backend pools page for adding backend pools.

  3. 在 [接聽程式] 區段中,為每個網站建立新的接聽程式。 輸入每個接聽程式的詳細資料,然後選取 [新增]

  4. 在左側選取 [HTTP 設定],然後在左窗格中選取 [新增]。 填入詳細資料以建立新的 HTTP 設定,然後選取 [儲存]

    Screenshot of HTTP settings page to create a new HTTP setting.

  5. 在左側功能表的 [規則] 區段中建立規則。 將每個規則與對應的接聽程式產生關聯。 選取 [新增]。

  6. 設定對應的後端集區和 HTTP 設定。 選取 [新增]。

  7. 測試連線。 開啟您慣用的瀏覽器,並瀏覽至裝載於 Azure VMware 解決方案環境中的不同網站。

    Screenshot of browser page showing successful test the connection.

依 URL 路由

下列步驟會使用在 Azure VMware 解決方案私人雲端上執行的 VM 來定義後端位址集區。 私人雲端位於現有的應用程式閘道上。 然後,您可以建立路由規則,確保 Web 流量會抵達集區中的適當伺服器。

  1. 在您的私人雲端中,建立一個代表網頁伺服器陣列的虛擬機器集區。

    Screenshot of page in VMware vSphere Client showing summary of another VM.

    先前已使用安裝了 IIS 角色的 Windows Server 2016 來說明本教學課程。 在安裝 VM 後,執行下列 PowerShell 命令,為每個 VM 教學課程設定 IIS。

    第一個虛擬機器 contoso-web-01 裝載主要網站。

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    

    第二個虛擬機器 contoso-web-02 裝載影像網站。

    Install-WindowsFeature -Name Web-Server
    New-Item -Path "C:\inetpub\wwwroot\" -Name "images" -ItemType "directory"
    Add-Content -Path C:\inetpub\wwwroot\images\test.htm -Value $($env:computername)
    

    第三個虛擬機器 contoso-web-03 裝載影片網站。

    Install-WindowsFeature -Name Web-Server
    New-Item -Path "C:\inetpub\wwwroot\" -Name "video" -ItemType "directory"
    Add-Content -Path C:\inetpub\wwwroot\video\test.htm -Value $($env:computername)
    
  2. 在現有的應用程式閘道執行個體中新增三個新的後端集區。

    1. 從左側功能表中中選取 [後端集區]
    2. 選取 [新增],然後輸入第一個集區 contoso-web 的詳細資料。
    3. 新增一個 VM 作為目標。
    4. 選取 [新增]。
    5. 針對 contoso-imagescontoso-video 重複此程序,並新增一個唯一的 VM 作為目標。

    Screenshot of Backend pools page showing the addition of three new backend pools.

  3. 在 [接聽程式] 區段中,使用連接埠 8080 建立基本類型的新接聽程式。

  4. 在左側導覽中選取 [HTTP 設定],然後在左窗格中選取 [新增]。 填入詳細資料以建立新的 HTTP 設定,然後選取 [儲存]

    Screenshot of Add HTTP setting page showing HTTP settings configuration.

  5. 在左側功能表的 [規則] 區段中建立規則,並將每個規則與先前建立的接聽程式產生關聯。 接著,設定主要後端集區和 HTTP 設定,然後選取 [新增]

    Screenshot of Add a routing rule page to configure routing rules to a backend target.

  6. 測試設定。 存取 Azure 入口網站上的應用程式閘道,並複製 [概觀] 區段中的公用 IP 位址。

    1. 開啟新的瀏覽器視窗,並輸入 URL http://<app-gw-ip-address>:8080

      Screenshot of browser page showing successful test of the configuration.

    2. 將 URL 變更為 http://<app-gw-ip-address>:8080/images/test.htm

      Screenshot of another successful test with the new URL.

    3. 再次將 URL 變更為 http://<app-gw-ip-address>:8080/video/test.htm

      Screenshot of successful test with the final URL.

後續步驟

現在您已使用應用程式閘道來保護在 Azure VMware 解決方案上執行的 Web 應用程式,請深入了解: