Partekatu bidez


Confiabilidad en Azure NAT Gateway

Azure NAT Gateway es un servicio de traducción de direcciones de red (NAT) totalmente administrado que proporciona conectividad saliente a Internet para los recursos conectados a la red virtual privada. El servicio proporciona la traducción de direcciones de red de origen (SNAT) para las conexiones salientes y la traducción de direcciones de red de destino (DNAT) solo para los paquetes de respuesta a las conexiones originadas desde el exterior. Dado que Azure NAT Gateway controla el tráfico de los recursos críticos de red virtual, está diseñado para proporcionar alta resistencia.

Cuando se usa Azure, la confiabilidad es una responsabilidad compartida. Microsoft proporciona una variedad de funcionalidades para admitir resistencia y recuperación. Es responsable de comprender cómo funcionan esas funcionalidades dentro de todos los servicios que usa y de seleccionar las funcionalidades que necesita para cumplir los objetivos empresariales y los objetivos de tiempo de actividad.

En este artículo se describe cómo hacer que azure NAT Gateway sea resistente a una variedad de posibles interrupciones y problemas, incluidos los errores transitorios y las interrupciones de zona de disponibilidad. También resalta información clave sobre el acuerdo de nivel de servicio (SLA) de Azure NAT Gateway.

Importante

Cuando considere la confiabilidad de una puerta de enlace NAT, considere también la confiabilidad de las máquinas virtuales ( VM), discos, otra infraestructura de red y aplicaciones que se ejecutan en máquinas virtuales. Mejorar la resistencia de la puerta de enlace NAT podría tener un impacto limitado si los otros componentes no son igualmente resistentes. En función de los requisitos de resistencia, puede realizar cambios de configuración en varios componentes.

Recomendaciones de implementación de producción para la confiabilidad

En el caso de las cargas de trabajo de producción, se recomiendan los procedimientos siguientes:

  • Utiliza la SKU StandardV2 para obtener redundancia automática de zona en regiones compatibles.

    Nota:

    Antes de la implementación, revise las limitaciones clave de StandardV2 Azure NAT Gateway para asegurarse de que admite la configuración.

  • Asigne suficientes direcciones IP públicas para los requisitos máximos de conexión. Las direcciones IP insuficientes pueden provocar problemas de disponibilidad y agotamiento de puertos SNAT.

  • Utilice direcciones IP públicas de SKU StandardV2 con StandardV2 Azure NAT Gateway. StandardV2 Azure NAT Gateway no admite direcciones IP públicas de SKU estándar.

Introducción a la arquitectura de confiabilidad

En esta sección se describen algunos de los aspectos importantes de cómo funciona el servicio que es más relevante desde una perspectiva de confiabilidad. En la sección se presenta la arquitectura lógica, que incluye algunos de los recursos y características que se implementan y usan. También se describe la arquitectura física, que proporciona detalles sobre cómo funciona el servicio en segundo plano.

Arquitectura lógica

Una puerta de enlace NAT es un recurso que se implementa. Para usar la puerta de enlace NAT como ruta predeterminada para el tráfico saliente de Internet, asóciela a una o varias subredes de la red virtual. No es necesario configurar ninguna ruta personalizada ni otro enrutamiento.

Arquitectura física

Internamente, una puerta de enlace NAT consta de una o varias instancias, que representan la infraestructura subyacente necesaria para operar el servicio.

Azure NAT Gateway implementa una arquitectura distribuida mediante redes definidas por software (SDN) para proporcionar alta confiabilidad y escalabilidad. El servicio funciona en varios dominios de error para que pueda resistir varios errores de componentes de infraestructura sin impacto en el servicio. Azure administra las operaciones de servicio subyacentes, incluida la distribución entre dominios de error y redundancia de infraestructura.

Para más información sobre la arquitectura y la redundancia de Azure NAT Gateway, consulte Recursos de azure NAT Gateway.

Resistencia a errores transitorios

Los errores transitorios son errores breves e intermitentes en los componentes. Se producen con frecuencia en un entorno distribuido como la nube y son una parte normal de las operaciones. Los errores transitorios se corrigen después de un breve período de tiempo. Es importante que las aplicaciones puedan controlar errores transitorios, normalmente mediante el reintento de solicitudes afectadas.

Todas las aplicaciones hospedadas en la nube deben seguir las instrucciones de control de errores transitorios de Azure cuando se comunican con cualquier API, bases de datos y otros componentes hospedados en la nube. Para obtener más información, consulte Recomendaciones para controlar errores transitorios.

El agotamiento de puertos SNAT se produce cuando las aplicaciones realizan varias conexiones independientes a la misma dirección IP y puerto, lo que agota los puertos SNAT disponibles para la dirección IP saliente. El agotamiento de puertos SNAT puede aparecer como un error transitorio en la aplicación. Para reducir la probabilidad de errores transitorios relacionados con NAT, realice las siguientes tareas:

  • Minimice la probabilidad de agotamiento de puertos SNAT. Configure las aplicaciones para controlar SNAT correctamente mediante la implementación de la agrupación de conexiones y la administración adecuada del ciclo de vida de la conexión.

  • Implemente suficientes direcciones IP públicas. Una sola puerta de enlace NAT admite varias direcciones IP públicas y cada dirección IP pública proporciona un conjunto independiente de puertos SNAT.

  • Supervise la métrica de disponibilidad de la ruta de acceso de datos de la puerta de enlace NAT. Use Azure Monitor para detectar posibles problemas de conectividad al principio. Configure alertas para errores de conexión y agotamiento de puertos SNAT para identificar y solucionar de forma proactiva las condiciones de error transitorias antes de que afecten a la conectividad saliente de las aplicaciones. Para más información, consulte Métricas y alertas de Azure NAT Gateway.

  • Evite establecer valores de tiempo de espera de inactividad elevados. Al establecer valores de tiempo de espera de inactividad significativamente mayores que los 4 minutos predeterminados para las conexiones de puerta de enlace NAT, el agotamiento de puertos SNAT puede producirse durante grandes volúmenes de conexión.

Para más información sobre la administración de conexiones y la solución de problemas en Azure NAT Gateway, consulte Solución de problemas de conectividad de Azure NAT Gateway.

Resistencia a errores de zona de disponibilidad

Las zonas de disponibilidad son grupos físicamente independientes de centros de datos dentro de una región de Azure. Cuando una zona falla, los servicios pueden transferirse a una de las zonas restantes.

Azure NAT Gateway admite zonas de disponibilidad en configuraciones con redundancia de zona y zonales:

  • Con redundancia de zona: La SKU de StandardV2 para Azure NAT Gateway proporciona redundancia de zona automática. La redundancia de zona propaga las instancias de puerta de enlace NAT en todas las zonas de disponibilidad de una región. Una configuración con redundancia de zona mejora la resistencia y la confiabilidad de las cargas de trabajo de producción.

    Diagrama de implementación con redundancia de zona de Azure NAT Gateway.

    El diagrama muestra Internet en la parte superior. Debajo de Internet se encuentra un recurso de puerta de enlace NAT que reside en una red virtual y abarca tres zonas de disponibilidad. Una subred de la red virtual contiene tres máquinas virtuales. Cada máquina virtual se coloca en una zona de disponibilidad diferente. La primera máquina virtual está en la zona de disponibilidad 1, la segunda está en la zona de disponibilidad 2 y la tercera máquina virtual está en la zona de disponibilidad 3. Tres flechas independientes en cada zona de disponibilidad indican el flujo de tráfico saliente de NAT Gateway a Internet.

  • Zonal: Si usa la SKU Estándar (v1), puede crear opcionalmente una configuración zonal. Implemente una puerta de enlace NAT zonal en una zona de disponibilidad que seleccione. Al implementar una puerta de enlace NAT en una zona específica, proporciona conectividad saliente a Internet explícitamente desde esa zona. No se permiten direcciones IP públicas zonales de una zona de disponibilidad diferente. Todo el tráfico de subredes conectadas se enruta a través de la puerta de enlace NAT, incluso si los recursos de subred residen en una zona de disponibilidad diferente.

    Diagrama de una implementación zonal de Azure NAT Gateway.

    El diagrama muestra Internet en la parte superior. Debajo de Internet, solo se implementa un recurso de puerta de enlace NAT dentro de la zona de disponibilidad 1. NAT Gateway se conecta a una subred que contiene una sola máquina virtual. Una red virtual contiene la subred, todas ubicadas en la zona de disponibilidad 1. La zona de disponibilidad 2 y la zona de disponibilidad 3 están vacías. Una flecha indica el flujo de tráfico saliente de NAT Gateway a Internet.

    Si una puerta de enlace NAT dentro de una zona de disponibilidad experimenta una interrupción, todas las máquinas virtuales de las subredes conectadas no se pueden conectar a Internet, incluso si esas máquinas virtuales residen en zonas de disponibilidad correctas.

    Importante

    La asignación a una sola zona de disponibilidad solo se recomienda cuando la latencia entre zonas es demasiado alta para sus necesidades y después de comprobar que la latencia no cumple sus requisitos. Por sí mismo, un recurso zonal no proporciona resistencia a una interrupción de zona de disponibilidad. Para mejorar la resiliencia de un recurso zonal, debe desplegar explícitamente recursos independientes en múltiples zonas de disponibilidad y configurar el enrutamiento del tráfico y la conmutación por error. Para obtener más información, consulte Recursos zonales y resistencia de zona.

    Si implementa máquinas virtuales en varias zonas de disponibilidad y necesita usar puertas de enlace NAT zonales, puede crear pilas zonales en cada zona de disponibilidad. Para crear pilas zonales, implemente los siguientes recursos:

    • Varias subredes: Cree una subred independiente para cada zona de disponibilidad en lugar de usar una subred que abarque zonas.

    • Puertas de enlace NAT zonales: Implemente una puerta de enlace NAT en la misma zona de disponibilidad que su subred conectada.

    • Asignación manual de máquinas virtuales: Coloque cada máquina virtual en la zona de disponibilidad correcta y la subred correspondiente de la zona de disponibilidad.

    Diagrama de aislamiento zonal mediante la creación de pilas zonales.

    El diagrama muestra Internet en la parte superior y tres zonas de disponibilidad debajo de Internet. Cada zona de disponibilidad contiene su propia instancia de NAT Gateway, subred y máquina virtual zonales dedicadas. Todos estos recursos residen en una red virtual compartida. Las flechas muestran un flujo de tráfico saliente desde la instancia NAT Gateway de cada zona de disponibilidad hacia internet.

Si implementa una puerta de enlace NAT estándar (v1) y no especifica una zona de disponibilidad, la puerta de enlace NAT es no zonal, lo que significa que Azure selecciona la zona de disponibilidad. Si alguna zona de disponibilidad de la región tiene una interrupción, podría afectar a la puerta de enlace NAT. No se recomienda una configuración no zonal porque no proporciona protección contra interrupciones de zona de disponibilidad.

Requisitos

  • Compatibilidad con regiones: Puede implementar puertas de enlace NAT zonales y con redundancia de zona en cualquier región que admita zonas de disponibilidad.

  • SKU: Para implementar una puerta de enlace NAT con redundancia de zona, use la SKU StandardV2. Para implementar una puerta de enlace NAT zonal, use la SKU estándar. Se recomienda la SKU StandardV2.

  • Direcciones IP públicas: Los requisitos para las direcciones IP públicas asociadas a una puerta de enlace NAT dependen de la configuración de implementación y SKU.

    SKU de Puerta de enlace NAT de Azure Tipo de soporte de zona de disponibilidad Requisitos de dirección IP pública
    StandardV2 Con redundancia de zona Dirección IP pública standardV2
    Estándar Zonal Dirección IP pública estándar con redundancia de zona o en la misma zona que la puerta de enlace NAT
    Estándar No zonal Dirección IP pública estándar con redundancia de zona o en cualquier zona

Cost

La compatibilidad con la zona de disponibilidad para Azure NAT Gateway no tiene ningún costo adicional. Para más información, consulte Precios de Azure NAT Gateway.

Configurar soporte de zonas de disponibilidad

  • Nuevos recursos: Los pasos de implementación dependen de la configuración de la zona de disponibilidad:

  • Active la compatibilidad con las zonas de disponibilidad: No se puede cambiar la configuración de zona de disponibilidad de Azure NAT Gateway una vez implementado. Para modificar la configuración de la zona de disponibilidad, debe implementar una nueva puerta de enlace NAT con la configuración de zona deseada.

    Para actualizar de una puerta de enlace NAT Estándar a StandardV2, debe crear una nueva dirección IP pública que use la SKU standardV2.

Comportamiento cuando todas las zonas están en buen estado

En esta sección se describe qué esperar cuando las puertas de enlace NAT están configuradas para la compatibilidad con la zona de disponibilidad y todas las zonas de disponibilidad están operativas.

  • Enrutamiento de tráfico entre zonas: La forma en que el tráfico de la máquina virtual se enruta a través de la puerta de enlace NAT depende de la configuración de la zona de disponibilidad que use la puerta de enlace NAT.

    • Con redundancia de zona: El tráfico puede enrutarse a través de una instancia de puerta de enlace NAT en cualquier zona de disponibilidad.

    • Zonal: Cada instancia de puerta de enlace NAT funciona independientemente dentro de su zona de disponibilidad asignada. El tráfico saliente de los recursos de subred se enruta a través de la zona de la puerta de enlace NAT, incluso si la máquina virtual reside en una zona diferente.

  • Replicación de datos entre zonas: Azure NAT Gateway no replica datos entre zonas porque es un servicio sin estado para la conectividad saliente. Cada instancia de puerta de enlace NAT funciona independientemente dentro de su zona de disponibilidad y no requiere sincronización con instancias de otras zonas.

Comportamiento durante un fallo de zona

En esta sección se describe qué ocurre cuando una puerta de enlace NAT está configurada para ser compatible con zonas de disponibilidad y no hay suficientes zonas de disponibilidad.

  • Detección y respuesta: La responsabilidad de la detección y respuesta depende de la configuración de zona de disponibilidad que usa la puerta de enlace NAT.

    • Con redundancia de zona: Azure NAT Gateway detecta e responde a fallos en una zona de disponibilidad. No necesita hacer nada para iniciar una conmutación por error de una zona de disponibilidad.

    • Zonal: Es responsable de implementar la conmutación por error a nivel de aplicación en métodos de conectividad alternativos o puertas de enlace NAT en otras zonas.

  • Notificación: Microsoft no le notifica automáticamente cuando una zona está inactiva. Sin embargo, puede usar Azure Resource Health para supervisar el estado de un recurso individual y puede configurar alertas de Resource Health para notificarle problemas. También puede usar Azure Service Health para comprender el estado general del servicio, incluidos los errores de zona, y puede configurar alertas de Service Health para notificarle problemas.

    También puede usar la métrica de disponibilidad de la ruta de acceso de datos de la puerta de enlace NAT para supervisar el estado de la puerta de enlace NAT. Configure alertas en la métrica de disponibilidad de la ruta de datos para detectar problemas de conectividad.

  • Solicitudes activas: El comportamiento de la solicitud activa depende de la configuración de zona de disponibilidad que usa la puerta de enlace NAT.

    • Zona redundante: Las instancias en la zona defectuosa interrumpen las conexiones salientes activas. Los clientes deben reintentar sus solicitudes de conexión, y los intentos posteriores se enrutan a través de una instancia de NAT en otra zona de disponibilidad.

    • Zonal: Una puerta de enlace NAT zonal fallida interrumpe las conexiones salientes activas. Debe decidir si y cómo volver a establecer la conectividad a través de rutas de conectividad alternativas. Las aplicaciones deben implementar la lógica de reintento para controlar los errores de conexión.

      Si vuelve a enrutar el tráfico, la dirección IP pública saliente cambia, por lo que es posible que sea necesario volver a establecer las sesiones del Protocolo de control de transmisión (TCP).

  • Pérdida de datos esperada: No se produce ninguna pérdida de datos porque Azure NAT Gateway es un servicio sin estado para la conectividad saliente. El estado de conexión se vuelve a crear cuando se vuelven a establecer las conexiones.

  • Tiempo de inactividad esperado: El tiempo de inactividad esperado depende de la configuración de zona de disponibilidad que use la puerta de enlace NAT.

    • Con redundancia en la zona: Es posible que las conexiones existentes desde la zona fallida se desconecten. Los clientes pueden reintentar las conexiones inmediatamente y las solicitudes se enrutan a una instancia en otra zona. Todas las conexiones restantes de zonas saludables se mantienen.

    • Zonal: La conectividad saliente sigue sin estar disponible hasta que la zona se recupere o hasta que vuelva a enrutar el tráfico a través de métodos de conectividad alternativos o puertas de enlace NAT en otras zonas.

  • Reenrutamiento del tráfico: El comportamiento de reenrutamiento del tráfico depende de la configuración de zona de disponibilidad que usa la puerta de enlace NAT.

    • Con redundancia de zona: Las nuevas solicitudes de conexión se enrutan a través de una instancia de puerta de enlace NAT en una zona de disponibilidad saludable.

      Durante un error de zona, las máquinas virtuales de esa zona también suelen dejar de funcionar. Pero si un error de zona parcial afecta solo a la puerta de enlace NAT mientras las máquinas virtuales siguen ejecutándose, las conexiones salientes de esas máquinas virtuales se enrutan a través de una instancia de puerta de enlace NAT en otra zona.

    • Zonal: Debe implementar la conmutación por error de nivel de aplicación, como usar métodos de conectividad alternativos o redirigir el tráfico a puertas de enlace NAT en otras zonas.

Recuperación de zona

Azure NAT Gateway es un servicio sin estado, por lo que las operaciones de recuperación no requieren intervención manual.

Cuando se recupera una zona de disponibilidad, las instancias de puerta de enlace NAT de esa zona estarán disponibles automáticamente para las nuevas conexiones salientes. Las conexiones establecidas a través de instancias de puerta de enlace NAT en otras zonas durante la interrupción siguen usando sus rutas de conectividad existentes hasta que se cierren esas conexiones.

Prueba de fallos de zona

Las opciones para probar errores de zona dependen de la configuración de zona de disponibilidad que usa la instancia.

  • Con redundancia de zona: la plataforma de Azure NAT Gateway administra el enrutamiento del tráfico, la recuperación frente a errores y la restauración de puertas de enlaces NAT Gateways con redundancia de zona. Estas características administradas no requieren que inicie ninguna acción manual ni valide los procesos de error de zona de disponibilidad.

  • Zonal: Es responsable de preparar y probar planes de recuperación ante desastres para gestionar una posible falla de zona.

Resistencia a errores en toda la región

Azure NAT Gateway es un servicio de una sola región que funciona dentro de los límites de una región de Azure específica. El servicio no incluye funciones nativas multirregionales ni recuperación automática frente a errores entre regiones. Si una región deja de estar disponible, las puertas de enlace NAT de esa región tampoco están disponibles.

Si diseña un enfoque de red que abarca varias regiones, implemente puertas de enlace NAT independientes en cada región.

Acuerdo de nivel de servicio

El contrato de nivel de servicio (SLA) para los servicios de Azure describe la disponibilidad esperada de cada servicio y las condiciones que la solución deberá cumplir para lograr esa expectativa de disponibilidad. Para obtener más información, consulte Acuerdos de Nivel de Servicio para servicios en línea.

El Acuerdo de Nivel de Servicio de NAT de red virtual de Azure cubre Azure NAT Gateway. El acuerdo de nivel de servicio (SLA) de disponibilidad solo se aplica cuando tiene dos o más máquinas virtuales operativas. También excluye el agotamiento de puertos SNAT de los cálculos de tiempo de inactividad.