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 crea 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 página Propiedades de Azure Portal. Consulte Búsqueda de las direcciones IP de salida.
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, aumenta 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 aumenta. La adición de direcciones IP a una implementación 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 usan nuevas direcciones salientes y los clientes deben actualizar las reglas de firewall del flujo descendente 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, seleccione 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 de la aplicación, con independencia de los planes de tarifa, seleccione 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
Para las aplicaciones de funciones, consulte Direcciones IP de salida de la aplicación de funciones.
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 red virtual junto con una puerta de enlace NAT de red virtual, a fin de dirigir el tráfico mediante una dirección IP pública estática. La integración de red virtual está disponible en los planes de App Service Básico, Estándar, Premium, PremiumV2 y PremiumV3. Para más información sobre esta configuración, consulte Integración de Virtual Network NAT Gateway.
Etiqueta de servicio
Mediante la etiqueta de servicio AppService
, puede definir el acceso de red para el servicio Azure App Service sin especificar direcciones IP individuales. La etiqueta de servicio es un grupo de prefijos de dirección IP que se usan para minimizar la complejidad de la creación de reglas de seguridad. Cuando se usan etiquetas de servicio, Azure actualiza automáticamente las direcciones IP a medida que cambian para el servicio. Sin embargo, la etiqueta de servicio no es un mecanismo de control de seguridad. La etiqueta de servicio es simplemente una lista de direcciones IP.
La etiqueta de servicio AppService
incluye solo las direcciones IP de entrada de las aplicaciones multiinquilino. Las direcciones IP de entrada de las aplicaciones implementadas en un entorno aislado (App Service Environment) y las aplicaciones que usan enlaces TLS basados en IP no están incluidas. Además, todas las direcciones IP de salida que se usan tanto en entornos multiinquilino como aislados no se incluyen en la etiqueta.
La etiqueta se puede usar para permitir el tráfico saliente en un grupo de seguridad de red (NSG) a las aplicaciones. Si la aplicación usa TLS basado en IP o la aplicación se ha implementado en modo aislado, debe usar la dirección IP dedicada en su lugar.
Nota:
La etiqueta de servicio le ayuda a definir el acceso de red, pero no debe considerarse como un reemplazo de las medidas de seguridad de red adecuadas, ya que no proporciona control pormenorizado sobre las direcciones IP individuales.
Pasos siguientes
- Obtenga información sobre cómo restringir el tráfico de entrada por dirección IP de origen.
- Más información acerca de las etiquetas de servicio.