Compartilhar via


Confiabilidade no Gateway nat do Azure

O Gateway de NAT do Azure é um serviço NAT (Conversão de Endereços de Rede) totalmente gerenciado que fornece conectividade de saída com a Internet para recursos conectados à sua rede virtual privada. O serviço oferece tradução de endereço de rede de origem (SNAT) para conexões de saída e tradução de endereço de rede de destino (DNAT) para pacotes de resposta, somente para conexões originadas de saída. Como ele está em seus caminhos de rede críticos, o Gateway nat do Azure foi projetado para ser um serviço altamente resiliente.

Quando você usa o Azure, a confiabilidade é uma responsabilidade compartilhada. A Microsoft fornece uma variedade de recursos para dar suporte à resiliência e recuperação. Você é responsável por entender como esses recursos funcionam em todos os serviços que você usa e selecionar os recursos necessários para atender aos seus objetivos de negócios e metas de tempo de atividade.

Este artigo descreve como você pode tornar o Gateway nat do Azure resiliente a uma variedade de possíveis interrupções e problemas, incluindo falhas transitórias e interrupções de zona de disponibilidade. Ele também destaca algumas informações importantes sobre o SLA (contrato de nível de serviço) do Gateway nat do Azure.

Importante

Ao considerar a confiabilidade de um gateway nat, você também precisa considerar a confiabilidade de suas VMs (máquinas virtuais), discos, outras infraestruturas de rede e aplicativos executados em suas VMs. Melhorar a resiliência do gateway nat sozinho poderá ter impacto limitado se os outros componentes não forem igualmente resilientes. Dependendo dos requisitos de resiliência, talvez seja necessário fazer alterações de configuração em várias áreas.

Importante

O Gateway da NAT do Azure no SKU Standard V2 está atualmente em VERSÃO PRÉVIA. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Recomendações de implantação de produção

Para cargas de trabalho de produção, recomendamos que você:

  • Use o SKU StandardV2, que habilita automaticamente a redundância de zona em regiões com suporte.

    Observação

    Examine as principais limitações do Gateway NAT StandardV2 antes de usá-lo, para garantir que sua configuração tenha suporte.

  • Configure seu gateway NAT com endereços IP públicos suficientes para lidar com seus requisitos de conexão de pico, o que reduz a probabilidade de problemas de disponibilidade devido ao esgotamento da porta SNAT.
  • Use endereços IP públicos de SKU StandardV2 com o NAT Gateway StandardV2. Não há suporte para endereços IP públicos de SKU padrão com o Gateway NAT StandardV2.

Visão geral da arquitetura de confiabilidade

Esta seção descreve alguns dos aspectos importantes de como o serviço funciona que são mais relevantes do ponto de vista da confiabilidade. A seção apresenta a arquitetura lógica, que inclui alguns dos recursos e recursos que você implanta e usa. Também discute a arquitetura física, que fornece detalhes sobre como o serviço funciona nos bastidores.

Arquitetura lógica

Um gateway nat é um recurso que você implanta. Para usar o gateway nat como a rota padrão para o tráfego de saída da Internet, anexe-o a uma ou mais sub-redes em sua rede virtual. Você não precisa configurar nenhuma rota personalizada ou outras configurações de roteamento.

Arquitetura física

Internamente, um Gateway NAT consiste em uma ou mais instâncias, que representam a infraestrutura subjacente necessária para operar o serviço.

O Gateway nat do Azure implementa uma arquitetura distribuída usando a rede definida pelo software para fornecer alta confiabilidade e escalabilidade. O serviço opera em vários domínios de falha, permitindo que ele sobreviva a várias falhas de componente de infraestrutura sem impacto no serviço. O Azure gerencia as operações de serviço subjacentes, incluindo distribuição entre domínios de falha e redundância de infraestrutura.

Para obter mais informações sobre a arquitetura e a redundância do Gateway de NAT do Azure, consulte o recurso do Gateway de NAT do Azure.

Resiliência a falhas transitórias

Falhas transitórias são falhas curtas e intermitentes nos componentes. Elas ocorrem com frequência em um ambiente distribuído, como a nuvem, e são uma parte normal das operações. Falhas transitórias se corrigem após um curto período de tempo. É importante que seus aplicativos possam lidar com falhas transitórias, geralmente repetindo solicitações afetadas.

Todos os aplicativos hospedados na nuvem devem seguir as diretrizes transitórias de tratamento de falhas do Azure quando eles se comunicam com qualquer APIs, bancos de dados e outros componentes hospedados na nuvem. Para obter mais informações, confira Recomendações para tratamento de falhas transitórias.

O esgotamento da porta SNAT é uma situação em que os aplicativos fazem várias conexões independentes com o mesmo endereço IP e porta, esgotando as portas SNAT disponíveis para o endereço IP de saída. O esgotamento da porta SNAT pode se manifestar como uma falha transitória em seu aplicativo. Para reduzir a probabilidade de falhas transitórias relacionadas à tradução de endereço de rede, você deve:

  • Minimize a probabilidade de esgotamento da porta SNAT. Configure seus aplicativos para lidar com o SNAT normalmente implementando o pool de conexões e o gerenciamento adequado do ciclo de vida da conexão.

  • Implante endereços IP públicos suficientes. Um único gateway NAT dá suporte a vários endereços IP públicos e cada endereço IP público fornece um conjunto separado de portas SNAT.

  • Monitore a métrica de disponibilidade do caminho de dados do gateway NAT. Use o Azure Monitor para detectar possíveis problemas de conectividade antecipadamente. Configure alertas para falhas de conexão e esgotamento da porta SNAT para identificar e abordar proativamente as condições de falha transitórias antes que elas afetem a conectividade de saída de seus aplicativos. Para saber mais, confira o que são as métricas e alertas do Gateway nat do Azure?.

  • Evite definir valores de tempo limite ociosos elevados. Valores de tempo limite ociosos que são significativamente maiores do que os 4 minutos padrão para conexões de gateway NAT podem contribuir para o esgotamento de portas SNAT durante altos volumes de conexão.

Para obter diretrizes abrangentes sobre gerenciamento de conexões e solução de problemas específicos do Gateway nat do Azure, consulte Solucionar problemas de conectividade do Gateway nat do Azure.

Resiliência a falhas de zona de disponibilidade

As zonas de disponibilidade são grupos fisicamente separados de datacenters em uma região do Azure. Quando uma zona falha, os serviços podem fazer o failover de uma das zonas restantes.

O NAT Gateway do Azure dá suporte a zonas de disponibilidade em configurações com redundância de zona e zonais.

  • Redundância de zona: ao usar a SKU StandardV2 do gateway da NAT do Azure, a redundância de zona é ativada automaticamente. A redundância de zona distribui as instâncias do gateway da NAT por todas as zonas de disponibilidade da região. Ao usar uma configuração com redundância de zona, você pode melhorar a resiliência e a confiabilidade de suas cargas de trabalho de produção.

    Diagrama da implantação de Gateway NAT com redundância de zona.

  • Zonal: Ao usar o SKU Standard (v1), você pode, opcionalmente, criar uma configuração zonal. Um gateway NAT zonal é implantado em uma única zona de disponibilidade selecionada. Quando o gateway NAT é implantado em uma zona específica, ele fornece conectividade de saída para a internet diretamente dessa zona. Endereços IP públicos zonais de uma zona de disponibilidade diferente não são permitidos. Todo o tráfego de sub-redes conectadas é roteado por meio do gateway nat, mesmo que esteja em uma zona de disponibilidade diferente.

    Diagrama da implantação zonal do Gateway NAT.

    Se um gateway NAT dentro de uma zona de disponibilidade sofrer uma interrupção, todas as máquinas virtuais nas sub-redes conectadas não se conectarão à Internet, mesmo que essas VMs estejam em zonas de disponibilidade íntegras.

    Importante

    A anexação a uma única zona de disponibilidade só é recomendada quando a latência entre zonas é muito alta para suas necessidades e depois de verificar se a latência não atende aos seus requisitos. Por si só, um recurso zonal não fornece resiliência a uma interrupção de zona de disponibilidade. Para melhorar a resiliência de um recurso zonal, você precisa implantar explicitamente recursos separados em várias zonas de disponibilidade e configurar o roteamento e o failover de tráfego. Para obter mais informações, consulte recursos zonais e resiliência de zona.

    Se você implantar máquinas virtuais em várias zonas de disponibilidade e precisar usar gateways NAT zonais, poderá criar pilhas zonais em cada zona de disponibilidade. Para criar pilhas zonais, você precisa implantar:

    • Várias sub-redes: você cria sub-redes separadas para cada zona de disponibilidade em vez de usar uma sub-rede que abrange zonas.
    • Gateways NAT zonais: cada sub-rede obtém seu próprio gateway NAT implantado na mesma zona de disponibilidade que a própria sub-rede.
    • Atribuição manual de VM: você coloca explicitamente cada máquina virtual na zona de disponibilidade correta e na sub-rede correspondente.

    Diagrama de isolamento zonal criando pilhas zonais.

Se você implantar um gateway NAT Standard (v1) e não especificar uma zona de disponibilidade, o gateway nat será nonzonal, o que significa que o Azure seleciona a zona de disponibilidade. Se qualquer zona de disponibilidade na região tiver uma interrupção, o gateway nat poderá ser afetado. Não recomendamos uma configuração nonzonal porque ela não fornece proteção contra interrupções de zona de disponibilidade.

Requirements

  • Suporte à região: Gateways NAT zonais e com redundância de zona podem ser implantados em qualquer região que dê suporte a zonas de disponibilidade.

  • SKU: Para implantar um gateway NAT com redundância de zona, você deve usar o SKU StandardV2. Para implantar um gateway NAT zonal, você deve usar o SKU Standard. É recomendável usar o SKU StandardV2.

  • Endereços IP públicos: Os requisitos para endereços IP públicos anexados a um gateway nat dependem da SKU e da configuração de implantação:

    NAT Gateway SKU Tipo de suporte para zona de disponibilidade Requisitos de IP público
    StandardV2 Redundância de zona Deve implantar com o IP público StandardV2
    Standard Zonal O IP público padrão deve ter redundância de zona ou ser zonal na mesma zona que o Gateway NAT
    Standard Não Zonal O IP público padrão pode ser redundante de zona ou zonal em qualquer zona

Custo

Não há nenhum custo adicional para usar o suporte à zona de disponibilidade para o Gateway nat do Azure. Para obter mais informações sobre preços, consulte os preços do Gateway nat do Azure.

Configurar o suporte à zona de disponibilidade

  • Novos recursos: As etapas de implantação dependem de qual configuração de zona de disponibilidade você deseja usar para seu gateway nat.

    • Redundância de zona: para implantar um novo gateway da NAT com redundância de zona usando a SKU StandardV2, consulte Criar um gateway da NAT do Azure Standard V2.

    • Zonal: Para implantar um novo gateway NAT zonal usando o SKU Standard, consulte Criar um gateway NAT. Ao criar o gateway nat, selecione sua zona de disponibilidade em vez de selecionar Nenhuma zona.

  • Habilite o suporte à zona de disponibilidade: A configuração da zona de disponibilidade do Gateway nat do Azure não pode ser alterada após a implantação. Para modificar a configuração da zona de disponibilidade, você deve implantar um novo gateway NAT com as configurações de zona desejadas.

    Para atualizar de um gateway NAT Standard para StandardV2, você também deve criar um novo endereço IP público que use o SKU StandardV2.

Comportamento quando todas as zonas estão saudáveis

Esta seção descreve o que esperar quando os gateways NAT são configurados para suporte à zona de disponibilidade e todas as zonas de disponibilidade estão operacionais.

  • Roteamento de tráfego entre zonas: a maneira como o tráfego da VM é roteado por meio do gateway de NAT depende da configuração da zona de disponibilidade que o gateway nat usa.

    • Redundância de zona: o tráfego pode ser roteado através de uma instância de gateway da NAT em qualquer zona de disponibilidade.

    • Zonal: Cada instância de gateway NAT opera de forma independente dentro de sua zona de disponibilidade atribuída. O tráfego de saída dos recursos de sub-rede é roteado por meio da zona do gateway nat, mesmo que a VM esteja em uma zona diferente.

  • Replicação de dados entre zonas: o Gateway nat do Azure não executa a replicação de dados entre zonas, pois é um serviço sem estado para conectividade de saída. Cada instância de gateway nat opera de forma independente dentro de sua zona de disponibilidade sem a necessidade de sincronização com instâncias em outras zonas.

Comportamento durante uma falha de zona

Esta seção descreve o que esperar quando um gateway da NAT é configurado para suporte a zonas de disponibilidade e ocorre uma interrupção nessa zona.

  • Detecção e resposta: A responsabilidade pela detecção e resposta depende da configuração da zona de disponibilidade que o gateway nat usa.

    • Redundância de zona: o gateway da NAT do Azure detecta e responde a falhas em uma zona de disponibilidade. Você não precisa fazer nada para iniciar um failover da zona de disponibilidade.

    • Zonal: você é responsável por implementar o failover em nível de aplicação para métodos de conectividade alternativos ou gateways NAT em outras zonas.

  • Notificação: A Microsoft não notifica você automaticamente quando uma zona está inoperante. No entanto, você pode usar o Azure Resource Health para monitorar a integridade de um recurso individual e pode configurar alertas do Resource Health para notificá-lo de problemas. Você também pode usar a Integridade do Serviço do Azure para entender a integridade geral do serviço, incluindo quaisquer falhas de zona, e pode configurar alertas de Integridade do Serviço para notificá-lo de problemas.

    VVocê também pode usar a métrica de disponibilidade do caminho de dados do gateway da NAT para monitorar a integridade do seu gateway da NAT. Você pode configurar alertas na métrica de disponibilidade do datapath para detectar problemas de conectividade.

  • Solicitações ativas: O que acontece com solicitações ativas depende da configuração da zona de disponibilidade que o gateway nat usa.

    • Redundância de zona: quaisquer conexões de saída ativas através de instâncias na zona com falha são descartadas e os clientes precisam tentar novamente. As tentativas de conexão subsequentes fluem por meio de uma instância de gateway NAT em outra zona de disponibilidade.

    • Zonal: as conexões de saída ativas através de um gateway da NAT zonal com falha são perdidas. Você deve decidir se e como restabelecer a conectividade por meio de caminhos de conectividade alternativos. Os aplicativos devem implementar a lógica de repetição para lidar com falhas de conexão.

      Se o tráfego for redirecionado, porque o endereço IP público de saída é alterado, as sessões TCP talvez precisem ser renegociadas.

  • Perda de dados esperada: Nenhuma perda de dados ocorre porque o Gateway nat do Azure é um serviço sem estado para conectividade de saída. O estado da conexão é recriado quando as conexões são restabelecidas.

  • Tempo de inatividade esperado: O tempo de inatividade esperado depende da configuração da zona de disponibilidade que o gateway nat usa.

    • Redundância de zona: as conexões existentes da zona com falha podem ser interrompidas. Os clientes podem tentar novamente as conexões imediatamente e as solicitações serão roteadas para uma instância em outra zona. Todas as conexões restantes de zonas saudáveis persistem.

    • Zonal: A conectividade de saída é perdida até que a zona se recupere ou até que você redirecione o tráfego por meio de métodos alternativos de conectividade ou gateways NAT em outras zonas.

  • Redirecionamento de tráfego: O comportamento de redirecionamento de tráfego depende da configuração da zona de disponibilidade usada pelo gateway de NAT.

    • Redundância de zona: novas solicitações de conexão são roteadas por meio de uma instância de gateway da NAT em uma zona de disponibilidade íntegra.

      É improvável que as máquinas virtuais na zona de disponibilidade afetada ainda estejam operando. No entanto, no caso de uma falha de zona parcial que faz com que o Azure NAT Gateway fique indisponível enquanto as máquinas virtuais continuam a operar, quaisquer conexões de saída de máquinas virtuais na zona afetada são roteadas por meio de uma instância de NAT Gateway em outra zona.

    • Zonal: você é responsável por implementar qualquer failover em nível de aplicação, como métodos de conectividade alternativos ou gateways NAT em outras zonas.

Recuperação de zona

Nenhuma intervenção manual é necessária para operações de failback porque o Gateway NAT do Azure é um serviço sem estado.

Quando uma zona de disponibilidade é recuperada, as instâncias de gateway nat nessa zona ficam automaticamente disponíveis para novas conexões de saída. As conexões estabelecidas por meio de instâncias de gateway NAT em outras zonas durante a interrupção continuam usando seus caminhos de conectividade atuais até que as conexões terminem naturalmente.

Testar falhas em zonas

As opções para testar falhas de zona dependem da configuração da zona de disponibilidade usada pela sua instância.

  • Redundância de zona: A plataforma gateway da NAT do Azure gerencia o roteamento de tráfego, o failover e o failback para gateways NAT com redundância de zona. Como esse recurso é totalmente gerenciado, você não precisa iniciar nada nem validar processos de falha da zona de disponibilidade.

  • Zonal: você é responsável por preparar e testar planos de failover caso ocorra uma falha em uma zona.

Resiliência a falhas em toda a região

O Gateway de NAT do Azure é um serviço de região única que opera dentro dos limites de uma região específica do Azure. O serviço não oferece recursos nativos de múltiplas regiões nem failover automático entre regiões. Se uma região ficar indisponível, os gateways NAT nessa região também ficarão indisponíveis.

Se você projetar uma abordagem de rede com várias regiões, deverá implantar gateways NAT independentes em cada região.

Contrato de nível de serviço

O acordo de nível de serviço (SLA) dos serviços do Azure descreve a disponibilidade esperada de cada serviço e as condições que sua solução deve atender para alcançar essa expectativa de disponibilidade. Para obter mais informações, consulte SLAs para serviços online.

O Azure NAT Gateway é coberto pelo SLA NAT da VNet do Azure. O SLA de disponibilidade só se aplica quando você tem duas ou mais VMs íntegras e exclui o esgotamento da porta SNAT dos cálculos de tempo de inatividade.