Consideraciones sobre la topología de red y conectividad para el acelerador de zonas de aterrizaje de App Service
En este artículo se proporcionan consideraciones de diseño y recomendaciones para la topología de red y conectividad que puede aplicar al usar el acelerador de zonas de aterrizaje de Azure App Service. Las redes son importantes para casi todo dentro de la zona de aterrizaje.
Las consideraciones sobre topología de red y conectividad de esta arquitectura dependen de los requisitos de las cargas de trabajo que se hospedan y de los requisitos de seguridad y cumplimiento de su organización.
Consideraciones de diseño
Cuando implemente una solución de App Service en Azure, debe tener en cuenta especialmente los requisitos de red para asegurarse de que la aplicación funciona correctamente. Hay varios factores clave que se deben tener en cuenta al planear una implementación:
Determinar los requisitos de red de la aplicación.
- Tráfico entrante. Si la aplicación proporciona servicios basados en web, como un sitio web o una API, es probable que tenga que poder recibir tráfico entrante de Internet. Para asegurarse de que la aplicación pueda aceptar conexiones entrantes, debe configurarla para que escuche en los puertos adecuados.
- Acceda a otros recursos de Azure. Es posible que la aplicación tenga que acceder a los recursos en Azure, como las cuentas de almacenamiento o las bases de datos, mediante su punto de conexión privado. Estos recursos pueden encontrarse dentro de una red virtual de Azure u otros servicios de Azure.
- SSL/TLS. Para ayudar a proteger la comunicación entre la aplicación y sus usuarios, debe habilitar el cifrado SSL/TLS. Esto garantiza que el tráfico entre la aplicación y sus usuarios está cifrado, lo que ayuda a proteger la información confidencial de ser interceptada por terceros.
- Restricciones de IP. En función de sus requisitos, es posible que tenga que permitir o bloquear el acceso a la aplicación desde intervalos o direcciones IP específicas. Si lo hace, puede proporcionar una mayor seguridad y limitar el acceso a la aplicación a usuarios o ubicaciones específicos.
Elección de un plan de App Service. Use los requisitos de red de la aplicación para determinar el nivel adecuado del plan de App Service. Es recomendable revisar los distintos niveles de plan de App Service y sus características para determinar cuál es el más adecuado para sus necesidades.
Servicio multiinquilino de App Service
Una solución multiinquilino de App Service comparte una única dirección IP de entrada y varias direcciones IP de salida con otros recursos de App Service en una sola unidad de implementación. Estas direcciones IP pueden cambiar por diversos motivos. Si necesita direcciones IP de salida coherentes para una solución multiinquilino de App Service, puede configurar una puerta de enlace NAT o usar la integración de red virtual.
Si necesita una dirección IP dedicada para la solución de App Service, puede usar una dirección asignada a la aplicación, en lugar de la instancia de App Service con una puerta de enlace de aplicación (que tiene asignada una dirección IP estática) o usar un certificado SSL basado en IP para asignar una dirección IP dedicada a la aplicación a través de la plataforma de App Service.
Cuando sea necesario conectarse desde una solución de App Service a servicios locales, privados o restringidos por IP, tenga en cuenta lo siguiente:
- En una implementación multiinquilino de App Service, una llamada App Service puede originarse desde una amplia gama de direcciones IP. Es posible que necesite integración de red virtual.
- Puede usar servicios como API Management y Application Gateway para llamadas de proxy entre límites de red. Estos servicios pueden proporcionar una dirección IP estática si necesita una.
Puede usar un punto de conexión privado o público para una implementación de App Service multiinquilino. Cuando se usa un punto de conexión privado, se elimina la exposición pública a la solución de App Service. Si necesita que el punto de conexión privado de la solución de App Service sea accesible a través de Internet, considere la posibilidad de usar Application Gateway para exponer la solución de App Service.
Una implementación multiinquilino de App Service expone un conjunto de puertos. No hay ninguna manera de bloquear o controlar el acceso a estos puertos en la implementación multiinquilino de App Service.
Planee correctamente las subredes para la integración de salida de la red virtual y tenga en cuenta el número de direcciones IP necesarias. La integración de red virtual depende de una subred dedicada. Cuando aprovisionas una subred de Azure, Azure reserva cinco direcciones IP. Se usa una dirección IP de la subred de integración para cada instancia del plan de App Service. Si, por ejemplo, escala la aplicación a cuatro instancias, se usan cuatro direcciones IP. Al escalar o reducir verticalmente, el espacio de direcciones necesario se duplica durante un breve período de tiempo. Esto afecta a las instancias admitidas y disponibles para un tamaño de subred determinado.
Como no puede cambiar el tamaño de una subred después de la asignación, tiene que usar una subred lo suficientemente grande como para adaptarse a la escala a la que podría llegar la aplicación. Para evitar problemas con la capacidad de la subred, use /26 con 64 direcciones para la integración de redes virtuales.
Si necesita una dirección de salida dedicada al conectarse a una solución multiinquilino de App Service, use NAT Gateway.
App Service Environment (inquilino único)
- Decida un diseño de red de App Service Environment: equilibrador de carga externo o interno. Use una implementación externa cuando necesite acceso directo desde Internet. Use una implementación interna del equilibrador de carga para exponer el acceso solo desde dentro de la red virtual donde se implementa App Service Environment. Esta última implementación proporciona otro nivel de seguridad y control sobre el acceso de red a las aplicaciones.
- App Services implementados en un App Service Environment obtiene direcciones IP estáticas y dedicadas para la comunicación entrante y saliente, durante la vigencia de App Service Environment.
- Cuando necesite conectarse desde App Service Environment a servicios locales, privados o restringidos por IP, la instancia de App Service Environment se ejecutará en el contexto de una red virtual.
- Elija el tamaño de la subred al implementar una instancia de App Service Environment. No se puede cambiar el tamaño más adelante. Recomendamos un tamaño de /24, que tiene 256 direcciones y puede controlar instancias de App Service Environment de tamaño máximo y cualquier necesidad de escalado.
Recomendaciones de diseño
Los siguientes procedimientos recomendados se aplican a cualquier implementación de App Service.
- Conexión a una solución de App Service:
- Implemente un firewall de aplicaciones web de Azure delante de la solución de App Service. Use Azure Front Door, Application Gateway o un servicio asociado para proporcionar esta protección basada en OWASP. Puede usar Azure Front Door o Application Gateway para una sola región, o ambos para varias regiones. Si necesita enrutamiento de ruta de acceso en la región, use Application Gateway. Si necesita equilibrio de carga en varias regiones y firewall de aplicaciones web, use Azure Front Door.
- Mediante el uso de un punto de conexión privado de App Service, puede acceder a la aplicación a través de un punto de conexión privado basado en red en lugar de a un punto de conexión público basado en Internet. Cuando usa un punto de conexión privado, puede restringir el acceso a la aplicación solo a los usuarios de la red virtual, lo que proporciona otra capa de seguridad para la aplicación, menores costos de salida de datos y un rendimiento mejorado.
- Use restricciones de acceso para asegurarse de que solo se puede acceder a la solución de App Service desde ubicaciones válidas. Por ejemplo, si una implementación multiinquilino de App Service hospeda las API y está en frente de API Management, configure una restricción de acceso para que solo se pueda acceder a la solución de App Service desde API Management.
- Conexión desde una solución de App Service:
- Cuando requiera conectividad privada con otros servicios de Azure, use Azure Private Link si es compatible con esos servicios.
- Use las herramientas integradas para solucionar problemas de red.
- Evite el agotamiento de puertos SNAT mediante el uso de grupos de conexiones. La creación de nuevas conexiones de forma repetitiva con el mismo host y puerto puede provocar tiempos de respuesta lentos, errores 5xx intermitentes, tiempos de espera o problemas con puntos de conexión externos.
- Siga las recomendaciones descritas en la sección Seguridad de red de la línea de base de seguridad de Azure para App Service.
El objetivo de las consideraciones sobre topología de red y la conectividad del acelerador de zonas de aterrizaje de App Service es proporcionar una plantilla de alto nivel para implementar un entorno escalable y resistente mediante el que implementar App Services. Esta plantilla, centrada en la arquitectura de red y la conectividad, puede ayudarle a configurar de forma rápida y eficaz una zona de aterrizaje en Azure para hospedar soluciones de App Services.