Compartir a través de

使用 Azure 资源管理器模板创建应用服务环境

可以在 Azure 门户中或使用 Azure 资源管理器模板(ARM 模板)创建应用服务环境。

在Azure门户中,创建一个具有特定配置的App Service Environment,以便立即部署。 在门户中创建环境时,可以同时选择或创建支持资源,包括部署区域的资源组以及包含子网的虚拟网络。

从模板创建App Service Environment时,可以访问可用于同一环境或其他应用服务环境的可重复部署的配置。 该模板指定为App Service Environment设置的属性,以及要用于部署的虚拟网络和子网。

本文逐步讲解如何从 ARM 模板创建外部应用服务环境或内部负载均衡 (ILB) 应用服务环境所需的步骤和语法。

先决条件

  • 若要生成 App Service Environment ARM 模板,需要确定要配置的环境类型。 可以创建连接到因特网的终结点环境,或在 Azure 虚拟网络实例的内部地址上创建终结点环境。

    使用内部终结点创建环境时,终结点由Azure组件(内部负载均衡器(ILB)提供。 在内部 IP 地址上的 App Service Environment 称为 ILB App Service Environment。 带有公共终结点的 App Service Environment 被称为 External App Service Environment

  • 模板中指定的虚拟网络必须定义子网:

    • 建议的子网大小为 /24 256 个地址,以满足未来的增长和缩放需求。
    • 子网必须为空,这意味着没有网络接口卡(NIC)、虚拟机、专用终结点等。
    • 必须将子网委派给 Microsoft.Web/hostingEnvironments

    请记住,使用模板创建App Service Environment后,无法更改子网大小。

  • 从 ARM 模板创建App Service Environment时,指定的资源组必须位于具有足够可用性的区域,以支持从模板创建的环境部署。

查看 ARM 模板属性

以下 JSON 显示了创建App Service Environment的基本 ARM 模板。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "aseName": {
        "type": "string"
    },
    "subnetResourceId": {
        "type": "string"
    }
  },
  "variables": {},
  "resources": [
    "type": "Microsoft.Web/hostingEnvironments",
    "apiVersion": "2025-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 Environment的核心属性和其他选项。

财产 必需 说明
name 是的 定义一个唯一的 App Service Environment 名称。 名称必须是不超过 36 个字符的字符串。
virtualNetwork ->id 是的 指定子网的资源 ID。 子网必须是空的,并委托给 Microsoft.Web/hostingEnvironments
internalLoadBalancingMode 是的 标识 ILB App Service Environment 的负载均衡器类型。
- 最常见的值为 Web, Publishing,这意味着 HTTP/HTTPS 流量和 FTP 流量都位于内部 VIP(内部Load Balancer)。
- 当值为 None 时,所有流量都保持在公共 VIP(外部负载均衡器)上。
zoneRedundant 说明App Service Environment是否可部署到可用性区域。 值为布尔值 True 或 False。 有关详细信息,请参阅 Azure 应用服务中的可靠性
dedicatedHostCount 指定要为应用服务环境专用的主机数量。
- 最常见的值为 0 或未指定。
- 若要在专用主机上部署具有物理硬件隔离的App Service Environment,请将该值设置为 2。
upgradePreference 指定自动升级的首选项。 有四个可能的值:
- None:(默认值)在区域的升级过程中自动升级。
- Early:与区域中的其他资源相比,自动升级的优先级更高。
- Late:与该区域中的其他资源相比,自动升级优先级较低。
- Manual:当升级可用时收到通知,并在 15 天内启动该过程。 15 天后,升级将与其他区域中的自动升级一起进行。
有关详细信息,请参阅App Service Environment 计划维护的升级偏好设置
clusterSettings 自定义应用服务环境(App Service Environment)的行为。 有关详细信息,请参阅 应用服务环境的自定义配置设置
networkingConfiguration ->allowNewPrivateEndpointConnections 指定是否允许为内部负载均衡 App Service 环境或外部 App Service 环境创建新的专用终结点连接。 默认情况下,该选项处于禁用状态。 有关详细信息,请参阅 “网络配置设置 > 允许新的专用终结点连接”。
networkingConfiguration ->remoteDebugEnabled 指定是否为App Service Environment启用远程调试。 默认情况下,该选项处于禁用状态。 有关详细信息,请参阅 网络配置设置 > 远程调试访问
networkingConfiguration ->ftpEnabled 指定是否允许与App Service Environment建立 FTP 连接。 默认情况下,该选项处于禁用状态。 有关详细信息,请参阅 网络配置设置 > FTP 访问
networkingConfiguration ->inboundIpAddressOverride 使用此设置可以使用自己的“Azure 公共 IP 地址”(指定资源 ID)创建“App Service Environment”,或为 ILB 部署定义静态 IP 地址。 创建应用服务环境后无法更改此设置。
customDnsSuffixConfiguration 使用此设置为App Service Environment指定自定义域后缀。 有关特定参数的详细信息,请参阅 应用服务环境的自定义域后缀
important:若要设置此选项,必须具有现有的密钥保管库、Azure Key Vault的有效证书机密,以及通过Microsoft Entra ID使用托管标识访问Azure资源。

创建 ARM 模板

按照以下步骤创建模板:

  1. 将示例 ARM 模板粘贴到新的 JSON 文件中,并修改配置的属性。

  2. 保存 JSON 文件,例如 azuredeploy.json。 记下文件保存位置供以后使用。

  3. (可选)将参数设置从模板 JSON 文件重新定位到参数 JSON 文件中,例如 azuredeploy.parameters.json。 记下文件保存位置供以后使用。

部署应用服务环境

准备模板后,可以使用Azure CLI从模板创建App Service Environment。

更新值templatePathparameterPath以指向计算机上的 ARM 模板文件和参数文件的位置。 输入您的资源组名称以匹配 <resource_group> 的值。

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

az deployment group create --resource-group <resource_group> --template-file $templatePath --parameters $parameterPath

小窍门

在运行 az deployment group create 命令之前,确认您的模板可以成功创建 App Service Environment 是非常有帮助的。 执行 az deployment group validate 命令并使用您的资源值来验证模板。

创建App Service Environment通常需要大约一个小时,但如果它是区域冗余App Service Environment或目标区域遇到意外需求,则创建过程可能需要几个小时才能完成。