教學課程:使用 Azure 入口網站建立和設定應用程式閘道以裝載多個網站

您可以使用 Azure 入口網站,在建立應用程式閘道時配置多個網站的託管。 在本教學課程中,您可以使用虛擬機器定義後端位址集區。 接著,您可以根據兩個網域來設定接聽程式和規則,確保網路流量會抵達集區中的適當伺服器。 本教學課程使用 www.contoso.com 和 www.fabrikam.com 範例。

在本教學課程中,您會了解如何:

  • 建立應用程式閘道
  • 建立後端伺服器的虛擬機器
  • 建立包含後端伺服器的後端集區
  • 建立監聽器
  • 建立路由規則
  • 編輯主機檔案以進行名稱解析

Tip

本教學分享了其基本的應用閘道設定,並透過使用 Azure 入口網站建立帶有 TLS 終止功能的應用程式閘道。 如果你想要 TLS 終止而不是多站點主機,可以用那個教學。

顯示多網站應用程式閘道的圖表。

如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 開始使用,請參閱安裝 Azure PowerShell。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az。

必要條件

  • Azure 訂閱

登入 Azure

登入 Azure 入口網站。

建立應用程式閘道

  1. 從 Azure 入口網站功能表,選取 [+ 建立資源]>[網路]>[應用程式閘道],或在入口網站搜尋方塊中搜尋應用程式閘道群組。

  2. 選擇 建立。

基本頁籤

  1. 在 [基本] 索引標籤上,輸入這些值:

    • 資源群組:選取 myResourceGroupAG 作為資源群組。 如果不存在,請選取新建來建立它。

    • 應用程式閘道名稱:輸入 myAppGateway 作為應用程式閘道的名稱。

      這張螢幕擷取畫面顯示 [建立應用程式閘道] 頁面。

  2. Azure 需要虛擬網路才能在您所建立的資源之間進行通訊。 您可以建立新的虛擬網路,或使用現有的虛擬網路。 在此範例中,您會在建立應用程式閘道的同時建立新的虛擬網路。 你會在不同的子網建立應用程式閘道實例。 在此範例中您會建立兩個子網路:一個用於應用程式閘道,另一個用於後端伺服器。 欲了解更多子網路需求資訊,請參閱 應用閘道基礎設施配置。

    在 [設定虛擬網路] 底下,選取 [建立] 以建立新的虛擬網路。 在隨即開啟的 [建立虛擬網路] 視窗中,輸入下列值以建立虛擬網路和兩個子網路:

    • 名稱:輸入 myVNet 以取得虛擬網路的名稱。

    • 子網路名稱 (應用程式閘道子網路):[子網路] 方格將會顯示名為 Default 的子網路。 將此子網路的名稱變更為 myAGSubnet。
      應用程式閘道子網路只能包含應用程式閘道。 不允許任何其他資源。 預設 IP 位址範圍為 10.0.0.0/24。

    選取 [確定] 以關閉 [建立虛擬網路] 視窗並儲存虛擬網路設定。

    建立 VNet

  3. 在 [基本] 索引標籤上,接受其他設定的預設值,然後選取 [下一步:前端]。

前端標籤

  1. 在 [前端] 索引標籤上,確認 [前端 IP 位址類型] 已被設為 [公用]。
    您可以根據自己的使用案例,設定為公用或私人前端 IP。 在此範例中,您會選擇公用前端 IP。

    注意

    本教學中使用的 Application Gateway v2 SKU 是設定一個公開前端 IP。 你也可以新增私有前端 IP 設定。 應用閘道 v2 也支援註冊此功能時的私有前端部署 EnableApplicationGatewayNetworkIsolation 。 如需詳細資訊,請參閱私人應用程式閘道部署。

  2. 針對 [公用 IP 位址] 選擇 [新增],而針對公用 IP 位址名稱輸入 myAGPublicIPAddress,然後選取 [確定]。

    建立另一個 VNet

  3. 選取 下一步:後端。

後端頁籤

後端集區用於將請求路由至為請求提供服務的後端伺服器。 後端集區可以是 NIC、虛擬機器擴展集、公用 IP、內部 IP、完整網域名稱 (FQDN),以及多租用戶後端,例如 Azure App 服務。 在此範例中,您將會搭配應用程式閘道建立空的後端集區,然後將後端目標新增至該後端集區。

  1. 在 [後端] 索引標籤上,選取 [新增後端集區]。

  2. 在隨即開啟的 [新增後端集區] 視窗中,輸入下列值以建立空的後端集區:

    • 名稱:輸入 contosoPool 作為後端集區的名稱。
    • 新增不含目標的後端集區:選取 [是] 以建立不含目標的後端集區。 您將會在建立應用程式閘道之後再新增後端目標。
  3. 在 [新增後端集區] 視窗中,選取 [新增] 以儲存後端集區設定,並返回 [後端] 索引標籤。

  4. 現在,新增另一個名為 fabrikamPool 的後端集區,與您新增上一個集區的方式相同。

  5. 選取 新增。

    建立後端

  6. 在 [後端] 索引標籤上,選取 [下一步:設定]。

設定頁籤

在 [設定] 索引標籤上,您將會連線至您使用路由規則所建立的前端和後端集區。

  1. 選取 [路由規則] 欄中的 [新增路由規則]。

  2. 在隨即開啟的 [新增路由規則] 視窗中,針對 [規則名稱] 輸入 contosoRule。

  3. 路由規則需要接聽器。 在 [新增路由規則] 視窗內的 [接聽程式] 索引標籤上,針對接聽程式輸入下列值:

    • 規則名稱:contosoRule。
    • 接聽程式名稱:contosoListener。
    • 前端 IP:選取 [公用] 以選擇您針對前端所建立的公用 IP。

    在 [其他設定] 之下:

    • 監聽類型:多站台
    • 主機名稱:www.contoso.com

    接受 [接聽程式] 索引標籤上其他設定的預設值,然後選取 [後端目標] 索引標籤以設定其餘的路由規則。

    建立路由規則

  4. 在 後端目標 索引標籤上,對於 後端目標,選擇 contosoPool。

  5. 針對 [後端設定],選取 [新增] 以新增新的後端設定。 後端設定將會決定路由規則的行為。 在開啟的 [新增後端設定] 視窗中,在 [後端設定名稱] 中輸入 contosoSetting,並針對 [後端連接埠] 輸入 80。 接受 [新增後端設定] 視窗中其餘設定的預設值,然後選取 [新增] 以返回 [新增路由規則] 視窗。

  6. 在 [新增路由規則] 視窗上,選取 [新增] 以儲存路由規則,並返回 [設定] 索引標籤。

  7. 選取 [新增路由規則],然後為 Fabrikam 新增類似的規則、接聽程式、後端目標和後端設定。

    Fabrikam 規則

  8. 選取 [下一步:標籤],然後選取 [下一步:檢閱 + 建立]。

檢閱及建立標籤

檢閱 [檢閱 + 建立] 索引標籤上的設定,然後選取 [建立] 以建立虛擬網路、公用 IP 位址和應用程式閘道。 Azure 建立應用程式閘道可能需要幾分鐘的時間。

請等候部署成功完成後,再繼續進行至下一節。

新增後端目標

在此範例中,您會使用虛擬機器作為目標後端。 您可以使用現有的虛擬機器,或建立新的虛擬機器。 您會建立兩個虛擬機器,供 Azure 作為應用程式閘道的後端伺服器。

若要新增後端目標,您會:

  1. 新增後端子網路。
  2. 建立 2 個新 VM (contosoVM 和 fabrikamVM),以作為後端伺服器。
  3. 在虛擬機器上安裝 IIS,以確認成功建立應用程式閘道。
  4. 將後端伺服器新增至後端集區。

新增後端子網路

  1. 在 Azure 入口網站搜尋 [虛擬網路]並選取 *[myVNet]。
  2. 在 [設定] 下,選取 [子網路]。
  3. 選取 [ + 子網路],然後在 [新增子網路] 窗格中,輸入 myBackendSubnet 作為 [名稱],並接受 10.0.1.0/24 作為 [子網路位址範圍]。
  4. 接受所有其他預設設定,並選取 [儲存]。

建立虛擬機器

  1. 在 Azure 入口網站中,選取 [建立資源]。 新視窗 會出現。

  2. 在 熱門 清單中選取 Windows Server 2016 Datacenter。 [建立虛擬機器] 頁面隨即出現。
    應用程式閘道可將流量路由至其後端集區中所用任何類型的虛擬機器。 在此範例中,您會使用 Windows Server 2016 Datacenter。

  3. 在 [基本] 索引標籤中,為下列虛擬機器設定輸入這些值:

    • 訂用帳戶︰選取您的訂用帳戶。
    • 資源群組:選取 myResourceGroupAG 作為資源群組名稱。
    • 虛擬機器名稱:輸入 contosoVM 作為虛擬機器的名稱。
    • [區域]:選取您先前使用的相同區域。
    • 使用者名稱:輸入系統管理員使用者的名稱。
    • 密碼:輸入管理員的密碼。
    • 公用輸入連接埠:選取 [無]。
  4. 接受其他預設值,然後選取 [下一步:磁碟]。

  5. 接受 [磁碟] 索引標籤的預設值,然後選取 [下一步:網路]。

  6. 在 [網路] 索引標籤上,確認已選取 [myVNet] 作為[虛擬網路],且 [子網路] 設為 [myBackendSubnet]。 將 公共 IP 設為 None。 接受其他預設值,然後選取 [下一步: 管理]。
    「應用程式閘道」可與其虛擬網路外的執行個體進行通訊,但您需要確保具有 IP 連線能力。

  7. 在 [管理] 索引標籤上,將 [開機診斷] 設為 [停用]。 接受其他預設值,然後選取 [檢閱 + 建立]。

  8. 在 [檢閱 + 建立] 索引標籤上檢閱設定,並更正任何驗證錯誤,然後選取 [建立]。

  9. 請等候虛擬機器建立完成,再繼續操作。

注意

網路安全群組的預設規則會阻擋所有來自網際網路的入站存取,包括 RDP。 要連接虛擬機,請使用 Azure Bastion。 更多資訊請參見 快速入門:部署 Azure Bastion 使用預設設定。

安裝 IIS 進行測試

在此範例中,您在虛擬機器上安裝 IIS,只為了驗證 Azure 已成功建立應用程式閘道。

  1. 開啟 Azure PowerShell。 若要這樣做,請從 Azure 入口網站的頂端導覽列中選取 [Cloud Shell],然後從下拉式清單中選取 [PowerShell]。

    安裝自訂延伸模組

  2. 執行下列命令以在虛擬機器上安裝 IIS,並以您的資源群組區域取代<位置>:

    Set-AzVMExtension `
      -ResourceGroupName myResourceGroupAG `
      -ExtensionName IIS `
      -VMName contosoVM `
      -Publisher Microsoft.Compute `
      -ExtensionType CustomScriptExtension `
      -TypeHandlerVersion 1.4 `
      -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
      -Location <location>
    
  3. 使用您先前完成的步驟,建立第二個虛擬機器並安裝 IIS。 請使用 fabrikamVM 作為虛擬機器名稱,並作為 Set-AzVMExtension Cmdlet 的 VMName 設定。

將後端伺服器新增至後端集區

  1. 選取 [所有資源],然後選取 [myAppGateway]。

  2. 從左側功能表中選取 [後端集區]。

  3. 選取 [contosoPool]。

  4. 在 [目標類型] 下方,從下拉式清單中選取 [虛擬機器]。

  5. 在 [目標] 下方,從下拉式清單中選取 [contosoVM] 虛擬機器的網路介面。

    新增後端伺服器

  6. 選取 [儲存]。

  7. 重複執行,新增 fabrikamVM 並連接至 fabrikamPool。

等候部署完成,再繼續進行下一個步驟。

編輯您的主機檔案以進行名稱解析

在以公用 IP 位址建立應用程式閘道之後,您可以取得 IP 位址並用來編輯您的主機檔案來解決 www.contoso.com 和 www.fabrikam.com。 在生產環境中,您可以在 DNS 中建立 CNAME 以進行名稱解析。

  1. 選取 [所有資源],然後選取 [myAGPublicIPAddress]。

    記錄應用程式閘道 DNS 位址

  2. 複製 IP 位址,並將其作為您 hosts 檔案之新項目的值。

  3. 在您的本機電腦上,開啟系統管理命令提示字元,並導覽至 c:\Windows\System32\drivers\etc。

  4. 開啟 hosts 檔案,並新增下列項目,其中 x.x.x.x 是應用程式閘道的公用 IP 位址:

    # Copyright (c) 1993-2009 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a '#' symbol.
    #
    # For example:
    #
    #      102.54.94.97     rhino.acme.com          # source server
    #       38.25.63.10     x.acme.com              # x client host
    
    # localhost name resolution is handled within DNS itself.
    #	127.0.0.1       localhost
    #	::1             localhost
    x.x.x.x www.contoso.com
    x.x.x.x www.fabrikam.com
    
    
  5. 儲存檔案。

  6. 執行下列命令以載入並顯示主機檔案的變更:

     ipconfig/registerdns
     ipconfig/displaydns
    

測試應用程式閘道

  1. 在瀏覽器的網址列中輸入您的網域名稱。 例如: http://www.contoso.com 。

    在應用程式閘道中測試 contoso 網站

  2. 將位址變更為另一個網域,您應該會看到類似下列的範例:

    在應用程式閘道中測試 Fabrikam 站點

清除資源

當您不再需要先前為應用程式閘道建立的資源時,請刪除資源群組。 當您刪除資源群組時,也可以刪除應用程式閘道及其所有相關資源。

若要移除資源群組:

  1. 在 Azure 入口網站的左側功能表上,選取 [資源群組]。
  2. 在 [資源群組] 頁面上,在清單中搜尋 myResourceGroupAG 並加以選取。
  3. 在 [myResourceGroupAG] 頁面中,選取 [刪除資源群組]。
  4. 針對輸入資源群組名稱輸入 myResourceGroup,然後選取刪除。

若要還原 hosts 檔案:

  1. 從 www.contoso.com 檔案中刪除 www.fabrikam.com 和 hosts 行。
  2. 從命令提示字元執行 ipconfig/registerdns 和 ipconfig/flushdns。

下一步

在本教學課程中,您已:

  • 根據兩個網域建立了一個具有監聽器和規則的應用程式閘道器
  • 在編輯後端伺服器的主機檔案之後測試應用程式閘道

若要深入了解如何主機多個網站,請參閱應用程式閘道多站台主機管理。

若要了解如何使用 Azure 入口網站,建立及設定具有路徑型路由規則的應用程式閘道,請繼續進行下一個教學課程。