Uso de una instancia de App Service Environment

App Service Environment es una implementación de un solo inquilino de Azure App Service. Se usa con una red virtual de Azure y usted es el único usuario de este sistema. Las aplicaciones implementadas están sujetas a las características de red que se aplican a la subred. Para estar sujetas a esas características de red, no hay características adicionales que deban habilitarse en ellas.

Nota

Este artículo trata sobre App Service Environment v3, que se usa con planes de App Service v2 aislados.

Creación de una aplicación

Para crear una aplicación en App Service Environment, se usa el mismo proceso que al crearla normalmente, pero con pequeñas diferencias. Al crear un nuevo plan de App Service:

  • En lugar de elegir una ubicación geográfica en la que implementar la aplicación, elija un entorno de App Service Environment como su ubicación.
  • Todos los planes de App Service que se creen en App Service Environment solo pueden estar en un plan de tarifa v2 aislado.

Si aún no tiene uno, cree una instancia de App Service Environment.

Para crear una aplicación en App Service Environment:

  1. Seleccione Crear un recurso>Web y móvil>Aplicación web.
  2. Seleccione una suscripción.
  3. Especifique un nombre para un grupo de recursos nuevo o seleccione Usar existente y seleccione uno en la lista desplegable.
  4. Escriba un nombre para la aplicación. Si ya seleccionó un plan de App Service en App Service Environment, el nombre de dominio de la aplicación refleja el nombre de dominio de la instancia de App Service Environment.
  5. En Publicar, Pila de tiempo de ejecución y Sistema operativo, seleccione lo que necesite.
  6. En Región debe seleccionar una instancia ya existente de App Service Environment v3. Si quiere crear una nueva instancia de App Service Environment, seleccione una región. Screenshot that shows how to create an app in an App Service Environment.
  7. Seleccione un plan de App Service ya existente o cree uno nuevo. Si va a crear un nuevo plan, seleccione el tamaño que quiere para el plan de App Service. La única SKU que puede seleccionar para la aplicación es una SKU con el precio de v2 aislada. La creación de un plan de App Service normalmente llevará menos de 20 minutos. Screenshot that shows pricing tiers and their features and hardware.
  8. Si eligió crear una nueva instancia de App Service Environment como parte de la creación del nuevo plan de App Service, rellene el nombre y el tipo de IP virtual.
  9. Seleccione Siguiente: Supervisión. Si quiere habilitar App Insights con la aplicación, puede hacerlo aquí durante el flujo de creación.
  10. Seleccione Siguiente: Etiquetas y agregue las etiquetas que quiera a la aplicación.
  11. Seleccione Revisar + crear. Asegúrese de que la información sea correcta y seleccione Crear.

Las aplicaciones de Windows y Linux pueden estar en la misma instancia de App Service Environment, pero no pueden estar en el mismo plan de App Service.

Cómo funciona escalar

Cada aplicación de App Service se ejecuta en un plan de App Service. Las instancias de App Service Environment contienen planes de App Service, y estos incluyen aplicaciones. Cuando escala una aplicación, también escala el plan de App Service y todas las aplicaciones de ese mismo plan.

Cuando se escala horizontalmente un plan de App Service, se agrega la infraestructura necesaria de forma automática. Recuerde que hay un retraso para escalar las operaciones mientras se agrega la infraestructura. Por ejemplo, al escalar un plan de App Service, si en ese momento se está ejecutando otra operación de escalado del mismo sistema operativo y tamaño, puede haber un ligero retraso de unos minutos hasta que se inicie la escala solicitada.

Una operación de escalado con un tamaño y un sistema operativo no afectará el escalado de las otras combinaciones de tamaño y sistema operativo. Por ejemplo, si va a escalar un plan de App Service de Windows I2v2, una operación de escalado a un plan de App Service de Windows I3v2 se inicia de inmediato. El escalado normalmente tarda menos de 15 minutos.

En las instancias multiinquilino de App Service, el escalado es inmediato, ya que hay un grupo de recursos compartidos disponible para admitirlo. App Service Environment es un servicio de un solo inquilino, por lo que no hay ningún búfer compartido y los recursos se asignan en función de las necesidades.

Acceso a las aplicaciones

En una instancia de App Service Environment con una IP virtual (VIP) interna, el sufijo del dominio que se utiliza para la creación de aplicaciones es .<asename>.appserviceenvironment.net. Si la instancia de App Service Environment se llama my-ase y hospeda una aplicación llamada contoso en ese ASE, puede comunicarse con ella en las siguientes direcciones URL:

  • contoso.my-ase.appserviceenvironment.net
  • contoso.scm.my-ase.appserviceenvironment.net

Las aplicaciones hospedadas en una instancia de App Service Environment que usa una VIP interna solo son accesibles si se encuentra en la misma red virtual o si está conectado a esa red virtual. De forma similar, la publicación solo es posible si está en la misma red virtual o si está conectado a esa red virtual.

En una instancia de App Service Environment con una VIP externa, el sufijo del dominio que se utiliza para la creación de aplicaciones es .<asename>.p.azurewebsites.net. Si la instancia de App Service Environment se llama my-ase y hospeda una aplicación llamada contoso en ese ASE, puede comunicarse con ella en las siguientes direcciones URL:

  • contoso.my-ase.p.azurewebsites.net
  • contoso.scm.my-ase.p.azurewebsites.net

Debe usar la dirección URL scm para obtener acceso a la consola de Kudu o para publicar la aplicación mediante Web Deploy. Para más información, consulte Consola de Kudu para Azure App Service. La consola Kudu ofrece una UI web para depurar, cargar archivos y editar archivos.

Configuración de DNS

Si el App Service Environment se realiza con una VIP externa, las aplicaciones se colocarán automáticamente en DNS público. Si el App Service Environment se realiza con una VIP interna, es posible que tenga que configurar el DNS para ella.

Si seleccionó la configuración automática de zonas privadas de Azure DNS, entonces el DNS se configura en la red virtual de App Service Environment. Si prefirió configurar manualmente el DNS, es necesario que use su propio servidor DNS o que configure las zonas privadas de Azure DNS.

Para buscar la dirección de entrada, vaya al portal de App Service Environment y seleccione Direcciones IP.

Screenshot that shows how to find the inbound address.

Si desea usar su propio servidor DNS, agregue los siguientes registros:

  1. Cree una zona para <App Service Environment-name>.appserviceenvironment.net.
  2. Cree un registro A en esa zona que apunte * a la dirección IP de entrada que usa el App Service Environment.
  3. Cree un registro A en esa zona que señala @ a la dirección IP de entrada que usa el App Service Environment.
  4. Cree una zona en <App Service Environment-name>.appserviceenvironment.net llamada scm.
  5. Cree un registro A en la zona scm que señala * a la dirección de entrada que usa App Service Environment.

Para configurar el DNS en las zonas privadas de Azure DNS:

  1. Cree una zona privada de Azure DNS denominada <App Service Environment-name>.appserviceenvironment.net.
  2. Cree un registro A en esa zona que apunte * a la dirección IP de entrada.
  3. Cree un registro A en esa zona que apunte @ a la dirección IP de entrada.
  4. Cree un registro A en esa zona que apunte *.scm a la dirección IP de entrada.

La configuración de DNS para el sufijo de dominio predeterminado de la instancia de App Service Environment no restringe las aplicaciones a solo aquellas que son accesibles por esos nombres. Puede establecer un nombre de dominio personalizado sin ninguna validación en las aplicaciones de una instancia de App Service Environment. Si quiere crear una zona denominada contoso.net, puede hacerlo y que apunte a la dirección IP de entrada. El nombre de dominio personalizado funciona para las solicitudes de aplicaciones, y si el certificado de sufijo de dominio personalizado incluye un comodín SAN para scm, el nombre de dominio personalizado también funciona para el sitio de scm y puede crear un registro de *.scm y apuntarlo a la dirección IP de entrada.

Publicación

Puede publicar mediante cualquiera de los métodos siguientes:

  • Implementación web
  • Integración continua (CI)
  • Operación de arrastrar y soltar en la consola Kudu.
  • En un entorno de desarrollo integrado (IDE), como Visual Studio, Eclipse o IntelliJ IDEA.

Con una instancia de App Service Environment de VIP interna, los puntos de conexión de publicación solo están disponibles mediante la dirección de entrada. Si no tiene acceso de red a la dirección de entrada, no puede publicar ninguna aplicación en esa instancia de App Service Environment. Los IDE también deben tener acceso de red a la dirección de entrada en la instancia de App Service Environment para publicar directamente en ella.

Sin cambios adicionales, los sistemas de CI basados en Internet como GitHub y Azure DevOps no funcionan con una instancia de App Service Environment de dirección VIP interna. El punto de conexión de publicación no es accesible desde Internet. Puede habilitar la publicación en una instancia de App Service Environment de VIP interna desde Azure DevOps; para ello, instale un agente de versiones autohospedado en la red virtual.

Almacenamiento

Tiene 1 TB de almacenamiento para todas las aplicaciones de la instancia de App Service Environment. El plan de App Service de la SKU del plan de tarifa Aislado tiene un límite de 250 GB. En una instancia de App Service Environment, se agregan 250 GB de almacenamiento por plan de App Service hasta el límite de 1 TB. Puede tener más de cuatro planes de App Service, pero no se agregará más espacio de almacenamiento más allá del límite de 1 TB.

Supervisión

Microsoft supervisa y administra la infraestructura de la plataforma de App Service Environment v3, y se escala según sea necesario. Como cliente, solo debe supervisar los planes de App Service y las aplicaciones individuales que se ejecutan y realizar las acciones adecuadas. Observará algunas métricas visibles para su instancia de App Service Environment, pero solo se usan para la versión anterior y no omitirán ningún valor para esta versión. Si usa v1 o v2 de App Service Environment, consulte esta sección para obtener instrucciones sobre supervisión y escalado.

Registro

Puede realizar integraciones con Azure Monitor para enviar registros a Azure Storage, Azure Event Hubs o registros de Azure Monitor. En la tabla siguiente se muestran las situaciones y los mensajes que puede registrar:

Situación Message
La subred de la instancia de App Service Environment está casi sin espacio. La instancia de App Service Environment está en una subred que está casi sin espacio. Quedan {0} direcciones. Una vez agotadas estas direcciones, la instancia de App Service Environment no podrá realizar el escalado.
App Service Environment se aproxima al límite total de instancias. La instancia de App Service Environment se aproxima al límite total de instancias de App Service Environment. Actualmente contiene {0} instancias de plan de App Service, de un máximo de 200.
App Service Environment está suspendido. La instancia de App Service Environment especificada está suspendida. Esta suspensión de la instancia de App Service Environment puede deberse a que hay pocas cuentas o a que una configuración de red virtual no es válida. Resuelva la causa principal y reanude la instancia de App Service Environment para seguir atendiendo el tráfico.
Se ha iniciado la actualización de la instancia de App Service Environment. Se ha iniciado una actualización de la plataforma relacionada con la instancia de App Service Environment especificada. Es posible que se produzcan retrasos en las operaciones de escalado.
Se ha completado la actualización de la instancia de App Service Environment. Ha finalizado la actualización de la plataforma relacionada con la instancia de App Service Environment especificada.
Ha comenzado la creación del plan de App Service. Se ha iniciado la creación de un plan de App Service ({0}). Estado deseado: trabajos de {1} I{2}v2.
Se han completado las operaciones de escalado. Ha finalizado la creación de un plan de App Service ({0}). Estado actual: trabajos de {1} I{2}v2.
Se han producido errores en las operaciones de escalado. Se ha producido un error en la creación de un plan de App Service ({0}). Esto puede deberse a que la instancia de App Service Environment funciona con el número máximo de instancias o que se ha quedado sin direcciones de subred.
Se han iniciado las operaciones de escalado. Se ha comenzado a escalar un plan de App Service ({0}). Estado actual: {1} I(2)v2. Estado deseado: trabajos de {3} I{4}v2.
Se han completado las operaciones de escalado. Ha finalizado el escalado de un plan de App Service ({0}). Estado actual: trabajos de {1} I{2}v2.
Se interrumpieron las operaciones de escalado. Se interrumpió un plan de App Service ({0}) durante el escalado. Estado deseado anterior: trabajos de {1} I{2}v2. Nuevo estado deseado: trabajos de {3} I{4}v2.
Se han producido errores en las operaciones de escalado. No se ha podido escalar un plan de App Service ({0}). Estado actual: trabajos de {1} I{2}v2.

Para habilitar el registro, siga estos pasos:

  1. En el portal, vaya a Configuración de diagnóstico.
  2. Seleccione Agregar configuración de diagnóstico.
  3. Especifique un nombre para la integración de registros.
  4. Seleccione y configure los destinos de registro que desee.
  5. Seleccione AppServiceEnvironmentPlatformLogs. Screenshot that shows how to enable logging.

Si integra esta solución con los registros de Azure Monitor, podrá ver esos registros si selecciona Registros en el portal de la instancia de App Service Environment y si crea una consulta en AppServiceEnvironmentPlatformLogs. Los registros solo se emiten cuando la instancia de App Service Environment tiene un evento que desencadena esos registros. Si la instancia de App Service Environment no tiene este tipo de evento, no habrá ningún registro. Para ver rápidamente un ejemplo de los registros, realice una operación de escalado con el plan de App Service. Después, puede ejecutar una consulta en AppServiceEnvironmentPlatformLogs para ver esos registros.

Crear una alerta

Para crear una alerta sobre los registros, siga las instrucciones de Creación, visualización y administración de alertas de registro mediante Azure Monitor. En resumen:

  1. Abra la página Alertas en el portal de la instancia de App Service Environment.
  2. Seleccione Nueva regla de alertas.
  3. En Recurso, seleccione el área de trabajo de los registros de Azure Monitor.
  4. Establezca la condición con una búsqueda de registros personalizada para usar una consulta. Por ejemplo, puede establecer lo siguiente: AppServiceEnvironmentPlatformLogs | donde ResultDescription contiene ha comenzado a escalar. Establezca el umbral según corresponda.
  5. Agregue o cree un grupo de acciones (opcional). En el grupo de acciones se define la respuesta a la alerta como, por ejemplo, enviar un correo electrónico o un mensaje SMS.
  6. Asigne un nombre a la alerta y guárdela.

Cifrado interno

No se pueden ver los componentes internos ni la comunicación dentro del sistema de App Service Environment. Para permitir mayor capacidad de proceso, no se habilita el cifrado de forma predeterminada entre los componentes internos. El sistema es seguro, ya que no se puede acceder al tráfico ni supervisarlo. Si tiene un requisito de cumplimiento para el cifrado completo de la ruta de acceso de datos, puede habilitarlo. Seleccione Configuración, tal como se muestra en la captura de pantalla siguiente.

Screenshot that shows how to enable internal encryption.

Esta opción cifra el tráfico de red interno y también cifra el archivo de paginación y los discos de trabajo. Tenga en cuenta que esta opción puede afectar al rendimiento del sistema. La instancia de App Service Environment tendrá un estado inestable hasta que el cambio se propague por completo. La propagación completa del cambio puede tardar unas horas en completarse, en función de cuántas instancias tenga.

Evite habilitar esta opción mientras usa la instancia de App Service Environment. Si debe hacerlo, es buena idea desviar el tráfico a una copia de seguridad hasta que finalice la operación.

Preferencia de actualización

Si tiene varias instancias de App Service Environment, es posible que quiera que algunas de ellas se actualicen antes que otras. Puede habilitar este comportamiento a través del portal de App Service Environment. En Configuración, tiene la opción de establecer la preferencia de actualización. Los valores posibles son:

  • Ninguno: Azure se actualiza en lotes indeterminados. Este es el valor predeterminado.
  • Con antelación: la actualización se realizará durante la primera mitad de las actualizaciones de App Service.
  • Tardía: la actualización se realizará en la segunda mitad de las actualizaciones de App Service.
  • Manual: obtenga un período de 15 días para implementar la actualización manualmente.

Seleccione el valor que desee y, a continuación, seleccione Guardar.

Screenshot that shows the App Service Environment configuration portal.

Esta característica tiene más sentido cuando tiene varios entornos de App Service y es posible que se beneficie de secuenciar las actualizaciones. Por ejemplo, puede establecer que los entornos de desarrollo y pruebas de App Service sean tempranos y que las instancias de App Service Environment se actualicen más tarde.

Elimina un entorno de App Service

Para eliminar:

  1. Seleccione Eliminar en la parte superior del panel App Service Environment.
  2. Escriba el nombre de la instancia de App Service Environment para confirmar que quiere eliminarla. Al eliminar una instancia de App Service Environment, se elimina también todo su contenido. Screenshot that shows how to delete.
  3. Seleccione Aceptar.