您可以使用 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 時,不支援屬性 dnsSuffix
、multiSize
、frontEndScaleFactor
、userWhitelistedIpRanges
和 ipSslAddressCount
。
部署 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 環境,或我們在區域中遇到非預期的需求,建立流程可能需要數小時才能完成。