Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure NAT Gateway proporciona control sobre la conectividad de red saliente de los recursos hospedados en una red virtual de Azure. En este artículo se describe cómo Azure NAT Gateway puede mitigar el agotamiento de puertos de traducción de direcciones de red de origen (SNAT), lo que puede afectar a las aplicaciones multiinquilino. También se describe cómo Azure NAT Gateway asigna direcciones IP estáticas al tráfico saliente de la solución multiinquilino.
Nota:
Los firewalls, como Azure Firewall, le permiten controlar y registrar el tráfico saliente. Azure Firewall también proporciona una escala de puerto SNAT similar y un control de direcciones IP salientes para Azure NAT Gateway. Azure NAT Gateway es menos costoso, pero tiene menos características y no es un producto de seguridad.
Características que admiten multiarrendatario
En las secciones siguientes se describen las características de Azure NAT Gateway que puede usar en soluciones multiinquilino.
Puertos SNAT a gran escala
Los puertos SNAT se asignan cuando la aplicación realiza varias conexiones salientes simultáneas a la misma dirección IP pública en el mismo puerto. Los puertos SNAT son un recurso finito dentro de los equilibradores de carga. Si la aplicación abre un gran número de conexiones independientes al mismo host, puede consumir todos los puertos SNAT disponibles. Este escenario se denomina agotamiento de puertos SNAT.
En la mayoría de las aplicaciones, el agotamiento de puertos SNAT indica que la aplicación controla incorrectamente las conexiones HTTP o los puertos del Protocolo de control de transmisión (TCP). Sin embargo, algunas aplicaciones multiinquilino están especialmente en riesgo de superar los límites de puertos SNAT, incluso si reutilizan las conexiones adecuadamente. Por ejemplo, este escenario puede producirse cuando su aplicación se conecta a muchas bases de datos específicas para cada arrendatario utilizando el mismo gateway de base de datos.
Sugerencia
Si observa el agotamiento de puertos SNAT en una aplicación multiinquilino, primero debe comprobar si la aplicación sigue los procedimientos recomendados. Asegúrese de reutilizar las conexiones HTTP y no volver a crear nuevas conexiones cada vez que se conecte a un servicio externo. Es posible que pueda implementar una puerta de enlace de traducción de direcciones de red (NAT) para solucionar el problema, pero si el código no sigue los procedimientos recomendados, es posible que encuentre el problema de nuevo en el futuro.
El agotamiento de puertos SNAT empeora cuando se trabaja con servicios de Azure que comparten asignaciones de puertos SNAT entre varios clientes. Entre los ejemplos de servicios que se comportan de esta manera se incluyen Azure App Service y Azure Functions. Para obtener más información, consulte Solución de problemas de errores de conexión saliente intermitentes en App Service.
Si determina que la aplicación experimenta el agotamiento de puertos SNAT y que el código de la aplicación controla correctamente las conexiones salientes, considere la posibilidad de integrar Azure NAT Gateway. Los clientes que implementan soluciones multiinquilino basadas en App Service y Azure Functions suelen usar este enfoque. Para más información, consulte Integración de Azure NAT Gateway.
Una puerta de enlace NAT individual puede tener varias direcciones IP públicas asociadas y cada dirección IP pública proporciona un conjunto de puertos SNAT para conectarse a Internet. Para comprender el número máximo de puertos SNAT y direcciones IP que puede admitir una sola puerta de enlace NAT, consulte Límites de puerta de enlace NAT de Azure. Si necesita escalar más allá de este límite, puede considerar la posibilidad de implementar varias instancias de Azure NAT Gateway en varias subredes o redes virtuales. Cada máquina virtual de una subred puede usar cualquiera de los puertos SNAT disponibles si es necesario.
Control de dirección IP saliente
El control de direcciones IP salientes puede ser útil en aplicaciones multiinquilino si tiene todos los requisitos siguientes:
Usas los servicios de Azure que no proporcionan automáticamente direcciones IP estáticas dedicadas para el tráfico saliente. Estos servicios incluyen App Service, Azure Functions, Azure API Management (cuando se ejecuta en el nivel de consumo) y Azure Container Instances.
Debe conectarse a las redes de los inquilinos a través de Internet.
Los inquilinos deben filtrar el tráfico entrante en función de la dirección IP de cada solicitud.
Cuando se aplica una instancia de Puerta de enlace NAT de Azure a una subred, cualquier tráfico saliente de esa subred usa las direcciones IP públicas asociadas a la puerta de enlace NAT.
Nota:
Al asociar varias direcciones IP públicas a una sola puerta de enlace NAT, el tráfico saliente puede provenir de cualquiera de esas direcciones IP. Es posible que tenga que configurar reglas de firewall en el destino. Permita cada dirección IP individualmente o use un recurso de prefijo de dirección IP pública para definir un conjunto de direcciones IP públicas dentro del mismo intervalo.
Modelos de aislamiento
Si necesita proporcionar direcciones IP públicas de salida diferentes para cada inquilino, debe implementar recursos individuales de Azure NAT Gateway. Cada subred se puede asociar a una única instancia de Azure NAT Gateway. Para implementar más puertas de enlace NAT, debe implementar varias subredes o redes virtuales. A su vez, es probable que tenga que implementar varios conjuntos de recursos informáticos.
Para obtener más información sobre cómo diseñar una topología de red multiinquilino, consulte Enfoques arquitectónicos para redes en soluciones multiinquilino.
Colaboradores
Microsoft mantiene este artículo. Los colaboradores siguientes escribieron este artículo.
Autor principal:
- John Downs | Ingeniero principal de software, Patrones y prácticas de Azure
Otros colaboradores:
- Aimee Littleton | Senior Program Manager, Azure NAT Gateway
- Arsen Vladimirskiy | Ingeniero Principal de Clientes
- Joshua Waddell | Ingeniero principal de clientes
Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.