共用方式為


使用 Azure Resource Manager 範本建立 Azure App Service 環境

您可以使用 Azure Resource Manager 範本來建立 App Service 環境,讓您能夠執行可重複的部署。

注意

本文是關於搭配隔離式 v2 App Service 方案一起使用的 App Service 環境 v3。

概觀

Azure App Service 環境 (ASE) 可以使用網際網路可存取端點,或是 Azure 虛擬網路中內部位址上的端點來建立。 使用內部端點建立時,該端點是由稱為內部負載平衡器 (ILB) 的 Azure 元件提供。 內部 IP 位址的 App Service 環境稱為 ILB ASE。 具有公用端點的 App Service 環境稱為外部 ASE。

ASE 可以使用 Azure 入口網站或 Azure Resource Manager 範本來建立。 本文逐步解說使用 Resource Manager 範本建立外部 ASE 或 ILB ASE 所需的步驟和語法。 了解 如何在 Azure 入口網站建立 App Service 環境

在入口網站中建立 App Service 環境時,您可以選擇同時建立虛擬網路,或選擇要部署至其中的現有虛擬網路。

從範本建立 App Service 環境時,必須從下列項目開始:

  • Azure 虛擬網路。
  • 該虛擬網路中的子網路。 建議的子網路大小是具有 256 個位址的 /24,以滿足未來的成長和縮放需求。 建立 App Service 環境之後,您無法變更大小。
  • 您想要部署的位置。

設定 App Service 環境

建立 App Service 環境的基本 Resource Manager 範本如下所示:

{
    "type": "Microsoft.Web/hostingEnvironments",
    "apiVersion": "2022-03-01",
    "name": "[parameters('aseName')]",
    "location": "[resourceGroup().location]",
    "kind": "ASEV3",
    "properties": {
        "internalLoadBalancingMode": "Web, Publishing",
        "virtualNetwork": {
            "id": "[parameters('subnetResourceId')]"
        },
        "networkingConfiguration": { },
        "customDnsSuffixConfiguration": { }
    },
    "identity": {
        "type": "SystemAssigned"
    }
}

除了核心屬性之外,您還可以使用其他設定選項來設定您的 App Service 環境。

  • 名稱:必要。 此參數會定義唯一的 App Service 環境名稱。 名稱不得超過 36 個字元。
  • virtualNetwork -> 識別碼: 必要。 指定子網路的資源識別碼。 子網路必須為空白並委派給 Microsoft.Web/hostingEnvironments
  • internalLoadBalancingMode:必要。 在大部分情況下,將此屬性設定為「Web,Publishing」,這表示 HTTP/HTTPS 流量和 FTP 流量都在內部 VIP (內部負載平衡器) 上。 如果此屬性設定為「None」,所有流量仍會保留在公用 VIP (外部負載平衡器) 上。
  • zoneRedundant: 選擇性。 如果 App Service 環境將部署至可用性區域(AZ),請使用 true/false 定義。 如需詳細資訊,請參閱區域和可用性區域
  • dedicatedHostCount: 選擇性。 在大部分情況下,請將此屬性設定為 0 或留空白。如果您想要在專用主機上部署具有實體硬體隔離的 App Service 環境,您可以將它設定為 2。
  • upgradePreference: 選擇性。 定義是否自動啟動升級,或指定 15 天的時段來啟動部署。 有效值為「None」、「Early」、「Late」、「Manual」。 更多有關升級喜好設定的詳細資訊。
  • clusterSettings: 選擇性。 如需詳細資訊,請參閱 叢集設定
  • networkingConfiguration -> allowNewPrivateEndpointConnections: 選擇性。 如需詳細資訊,請參閱 網路設定
  • networkingConfiguration -> remoteDebugEnabled: 選擇性。 如需詳細資訊,請參閱 網路設定
  • networkingConfiguration -> ftpEnabled: 選擇性。 如需詳細資訊,請參閱 網路設定
  • networkingConfiguration -> inboundIpAddressOverride: 選擇性。 可讓您使用自己的 Azure 公用 IP 位址建立 App Service 環境 (指定資源識別碼),或定義 ILB 部署的靜態 IP。 建立 App Service 環境之後,您無法變更此設定。
  • customDnsSuffixConfiguration: 選擇性。 可讓您指定 App Service 環境的自訂網域後綴。 需要來自 Key Vault 的有效憑證,並使用受控識別進行存取。 如需特定參數的詳細資訊,請參閱 設定自訂網域後綴

注意

建立 App Service 環境 v3 時,不支援屬性 dnsSuffixmultiSizefrontEndScaleFactoruserWhitelistedIpRangesipSslAddressCount

部署 App Service 環境

建立 ARM 範本 (例如名為 azuredeploy.json) 以及選擇性的參數檔案 (例如名為 azuredeploy.parameters.json) 之後,您可以使用 Azure CLI 程式碼片段來建立 App Service 環境。 將檔案路徑變更為您電腦上 Resource Manager 範本檔案的位置。 請記得為資源群組名稱提供您自己的值:

templatePath="PATH/azuredeploy.json"
parameterPath="PATH/azuredeploy.parameters.json"

az deployment group create --resource-group "YOUR-RG-NAME-HERE" --template-file $templatePath --parameters $parameterPath

建立 App Service 環境通常需要大約一小時的時間,但如果它是區域備援 App Service 環境,或我們在區域中遇到非預期的需求,建立流程可能需要數小時才能完成。

下一步