Direcciones IP de entrada y salida en Azure App Service

Azure App Service es un servicio multiinquilino, excepto en los entornos de App Service. Las aplicaciones que no están en un entorno de App Service (no están en el nivel aislado) comparten la infraestructura de red con otras aplicaciones. Como consecuencia, las direcciones IP de entrada y salida de una aplicación pueden ser diferentes y pueden cambiar incluso en determinadas situaciones.

Los entornos de App Service usan infraestructuras de red dedicadas, así que las aplicaciones que se ejecutan en un entorno de App Service obtienen direcciones IP estáticas dedicadas tanto para las conexiones de entrada como de salida.

Funcionamiento de las direcciones IP en App Service

Una aplicación de App Service se ejecuta en un plan de App Service, y los planes de App Service se implementan en una de las unidades de implementación de la infraestructura de Azure (llamada internamente "espacio web"). Cada unidad de implementación tiene asignadas hasta cinco direcciones IP virtuales, lo que incluye una dirección IP de entrada pública y un conjunto de direcciones IP de salida. Todos los planes de App Service en la misma unidad de implementación, así como las instancias de aplicación que se ejecutan en ellas, comparten el mismo conjunto de direcciones IP virtuales. En el caso de un App Service Environment (un plan de App Service en el nivel Aislado), el plan de App Service es la propia unidad de implementación, por lo que las direcciones IP virtuales se dedican esta como resultado.

Dado que no se permite cambiar un plan de App Service entre unidades de implementación, las direcciones IP virtuales asignadas a la aplicación suelen ser las mismas, aunque hay excepciones.

Cuando cambia la dirección IP de entrada

Sin importar el número de instancias escaladas horizontalmente, cada aplicación tiene una única dirección IP de entrada. La dirección IP de entrada puede cambiar al realizar una de las siguientes acciones:

  • Eliminar una aplicación y volver a crearla en otro grupo de recursos (puede cambiar la unidad de implementación).
  • Eliminar la última aplicación de un grupo de recursos y región y volver a crearla (puede cambiar la unidad de implementación).
  • Eliminar un enlace TLS/SSL basado en IP, como durante la renovación de un certificado (consulte Renovación de certificados).

Buscar la dirección IP de entrada

Solo ejecute el siguiente comando en un terminal local:

nslookup <app-name>.azurewebsites.net

Obtención de una dirección IP de entrada estática

En ocasiones, podría desear una dirección IP estática dedicada para la aplicación. Para obtener una dirección IP de entrada estática, debe proteger un nombre DNS personalizado con un enlace de certificado basado en IP. Si realmente no necesita la funcionalidad TLS para proteger la aplicación, puede cargar incluso un certificado autofirmado para este enlace. En un enlace TLS basado en IP, el certificado se enlaza a la dirección IP propiamente dicha, de modo que App Service aprovisiona una dirección IP estática para conseguir que esto ocurra.

Cuando cambian las direcciones IP de salida

Sin importar el número de instancias escaladas horizontalmente, cada aplicación tiene un número establecido de direcciones IP de salida en cualquier momento dado. Las conexiones de salida desde la aplicación de App Service, como a una base de datos back-end, usan una de las direcciones IP de salida como dirección IP de origen. La dirección IP que se va a usar se selecciona aleatoriamente en tiempo de ejecución, por lo que el servicio de back-end debe abrir su firewall para todas las direcciones IP de salida de la aplicación.

El conjunto de direcciones IP de salida de la aplicación cambia cuando realiza una de las acciones siguientes:

  • Eliminar una aplicación y volver a crearla en otro grupo de recursos (puede cambiar la unidad de implementación).
  • Eliminar la última aplicación de un grupo de recursos y región y volver a crearla (puede cambiar la unidad de implementación).
  • Escale la aplicación entre los niveles inferiores (Básica, Estándar y Premium) y el nivel PremiumV2 y el nivel PremiumV3 y las opciones Pmv3 dentro del nivel PremiumV3 (las direcciones IP se pueden agregar o quitar del conjunto).

Puede encontrar el conjunto de todas las posibles direcciones IP de salida que puede utilizar la aplicación, independientemente de los planes de tarifa, buscando la propiedad possibleOutboundIpAddresses o en el campo Direcciones IP salientes adicionales de la hoja Propiedades de Azure Portal. Consulte Búsqueda de las direcciones IP de salida.

Tenga en cuenta que el conjunto de todas las direcciones IP salientes posibles puede aumentar con el tiempo si App Service agrega nuevos planes de tarifa u opciones a las implementaciones de App Service existentes. Por ejemplo, si App Service agrega el nivel PremiumV3 a una implementación de App Service existente, aumentará el conjunto de todas las direcciones IP salientes posibles. Del mismo modo, si App Service agrega nuevas opciones Pmv3 a una implementación que ya admite el nivel PremiumV3, el conjunto de todas las direcciones IP salientes posibles también aumentará. Esto no tiene ningún efecto inmediato, ya que las direcciones IP salientes para las aplicaciones en ejecución no cambian cuando se agrega un nuevo plan de tarifa u opción a una implementación de App Service. Sin embargo, si las aplicaciones cambian a un nuevo plan de tarifa u opción que no estaba disponible anteriormente, se usarán nuevas direcciones salientes y los clientes deberán actualizar las reglas de firewall de bajada y las restricciones de direcciones IP.

Búsqueda de las direcciones IP de salida

Para buscar las direcciones IP de salida que usa actualmente su aplicación en Azure Portal, haga clic en Propiedades en el panel de navegación izquierdo de la aplicación. Se enumeran en el campo Direcciones IP de salida.

Puede encontrar la misma información si ejecuta el comando siguiente en Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query outboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses

Para buscar todas las posibles direcciones IP de salida para la aplicación, con independencia de los planes de tarifa, haga clic en Propiedades en el panel de navegación izquierdo de la aplicación. Se enumeran en el campo Direcciones IP salientes adicionales.

Puede encontrar la misma información si ejecuta el comando siguiente en Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).PossibleOutboundIpAddresses

Obtención de una dirección IP estática de salida

Puede controlar la dirección IP del tráfico de salida desde la aplicación mediante la integración de una red virtual regional junto con una instancia de NAT Gateway, a fin de dirigir el tráfico a través de una dirección IP pública estática. La integración de una red virtual regional está disponible en los planes de App Service Básico, Estándar, Premium y PremiumV2 y PremiumV3. Para más información sobre esta configuración, consulte Integración de Virtual Network NAT Gateway.

Pasos siguientes

Aprenda a restringir el tráfico entrante por dirección IP de origen.