Creación de una instancia de App Service Environment mediante una plantilla de Azure Resource Manager
La instancia de App Service Environment se puede crear mediante una plantilla de Azure Resource Manager, lo que le permite realizar una implementación repetible.
Nota
Este artículo trata sobre App Service Environment v3, que se usa con planes de App Service v2 aislados.
Información general
Las instancias de Azure App Service Environment pueden crearse con un punto de conexión accesible por Internet o un punto de conexión en una dirección interna de Azure Virtual Network. Cuando se crea con un punto de conexión interno, ese punto de conexión siempre lo proporciona un componente de Azure denominado equilibrador de carga interno (ILB). La instancia de App Service Environment en una dirección IP interna se denomina ASE de ILB. La instancia de App Service Environment con un punto de conexión público se denomina ASE externo.
Un ASE puede crearse con Azure Portal o con una plantilla de Azure Resource Manager. Este artículo le guía por los pasos y la sintaxis que necesita para crear un ASE externo o uno con ILB con plantillas de Resource Manager. Obtenga información sobre cómo crear una instancia de App Service Environment en Azure Portal.
Cuando crea una instancia de App Service Environment en Azure Portal, puede crear la red virtual al mismo tiempo o seleccionar una existente en la que implementarla.
Cuando crea una instancia de App Service Environment desde una plantilla, debe comenzar por:
- Una instancia de Azure Virtual Network.
- Una subred de esa red virtual. Se recomienda que el tamaño de la subred sea
/24
con 256 direcciones para adaptarse al crecimiento futuro. Una vez que se ha creado la instancia de App Service Environment, no puede cambiar el tamaño. - La ubicación en la que desea implementarlo.
Configurar la instancia de App Service Environment
La plantilla de Resource Manager básica que crea una instancia de App Service Environment tiene este aspecto:
{
"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"
}
}
Además de las propiedades principales, hay otras opciones de configuración que puede usar para configurar la instancia de App Service Environment.
- name: Necesario. Este parámetro define un nombre de App Service Environment único. El nombre no debe tener más de 36 caracteres.
- virtualNetwork -> id: obligatorio. Especifica el identificador de recurso de la subred. La subred debe estar vacía y delegada en Microsoft.Web/hostingEnvironments.
- internalLoadBalancingMode: requerido. En la mayoría de los casos, establezca esta propiedad en "Web, Publishing", lo que significa que el tráfico HTTP/HTTPS y el tráfico FTP se encuentran en una VIP interna (equilibrador de carga interno). Si esta propiedad se establece en "None", todo el tráfico permanece en la VIP pública (equilibrador de carga externo).
- zoneRedundant: opcional. Define con true/false si la instancia de App Service Environment se implementará en Availability Zones (AZ). Para más información, consulte Regiones y zonas de disponibilidad.
- dedicatedHostCount: opcional. En la mayoría de los casos, establezca esta propiedad en 0 u omitida. Puede establecerla en 2 si quiere implementar la instancia de App Service Environment con aislamiento de hardware físico en hosts dedicados.
- upgradePreference: opcional. Define si la actualización se inicia automáticamente o si se proporcionan ventanas de 15 días para iniciar la implementación. Los valores válidos son "None", "Early", "Late", "Manual". Obtenga más información acerca de las preferencias de actualización.
- clusterSettings: opcional. Para obtener más información, consulte Configuración del clúster.
- networkingConfiguration -> allowNewPrivateEndpointConnections: opcional. Para obtener más información, consulte Configuración de redes.
- networkingConfiguration -> remoteDebugEnabled: opcional. Para obtener más información, consulte Configuración de redes.
- networkingConfiguration -> ftpEnabled: opcional. Para obtener más información, consulte Configuración de redes.
- networkingConfiguration -> inboundIpAddressOverride: opcional. Le permite crear una instancia de App Service Environment con su propia dirección IP pública de Azure (especifique el identificador de recurso) o definir una dirección IP estática para las implementaciones de ILB. Esta configuración no se puede cambiar una vez que se ha creado la instancia de App Service Environment.
- customDnsSuffixConfiguration: opcional. Le permite especificar un sufijo de dominio personalizado para la instancia de App Service Environment. Requiere un certificado válido de un almacén de claves y acceso mediante una identidad administrada. Para obtener más información sobre los parámetros específicos, consulte Sufijo de dominio personalizado de configuración.
Nota:
Las propiedades dnsSuffix
, multiSize
, frontEndScaleFactor
, userWhitelistedIpRanges
y ipSslAddressCount
no se admiten al crear App Service Environment v3.
Implementación de la instancia de App Service Environment
Después de crear la plantilla de ARM, por ejemplo, denominada azuredeploy.json y, opcionalmente, un archivo de parámetros, por ejemplo, azuredeploy.parameters.json, puede crear la instancia de App Service Environment mediante el fragmento de código de la CLI de Azure. Cambie las rutas del archivo para que coincidan con las ubicaciones en las que se encuentran los archivos de plantilla de Resource Manager. Recuerde suministrar su propio valor para el nombre del grupo de recursos:
templatePath="PATH/azuredeploy.json"
parameterPath="PATH/azuredeploy.parameters.json"
az deployment group create --resource-group "YOUR-RG-NAME-HERE" --template-file $templatePath --parameters $parameterPath
La creación de una instancia de App Service Environment normalmente tarda aproximadamente una hora, pero si se trata de una instancia de App Service Environment con redundancia de zona o estamos experimentando una demanda inesperada en una región, el proceso de creación puede tardar varias horas en completarse.