Considerações do Gateway NAT do Azure para multilocação
O Azure NAT Gateway fornece controle sobre a conectividade de rede de saída de seus recursos hospedados em uma rede virtual do Azure. Neste artigo, analisamos como o NAT Gateway pode reduzir o esgotamento da porta SNAT (Source Network Address Translation), que pode afetar aplicativos multilocatário. Também analisamos como o NAT Gateway atribui endereços IP estáticos ao tráfego de saída de sua solução multilocatário.
Nota
Os firewalls, como o Firewall do Azure, permitem que você controle e registre seu tráfego de saída. O Firewall do Azure também fornece escala de porta SNAT e controle de endereço IP de saída semelhantes ao Gateway NAT. O NAT Gateway é menos dispendioso, mas também tem menos funcionalidades e não é um produto de segurança.
Recursos do NAT Gateway que suportam multilocação
Portas SNAT de alta escala
As portas SNAT são alocadas quando seu aplicativo faz várias conexões de saída simultâneas para o mesmo endereço IP público, na mesma porta. As portas SNAT são um recurso finito dentro dos balanceadores de carga. Se seu aplicativo abrir um grande número de conexões separadas para o mesmo host, ele pode consumir todas as portas SNAT disponíveis. Esta situação é chamada de exaustão da porta SNAT.
Na maioria dos aplicativos, o esgotamento da porta SNAT indica que seu aplicativo está manipulando incorretamente conexões HTTP ou portas TCP. No entanto, alguns aplicativos multilocatários correm um risco particular de exceder os limites de porta SNAT, mesmo que reutilizem conexões adequadamente. Por exemplo, essa situação pode ocorrer quando seu aplicativo se conecta a muitos bancos de dados específicos do locatário atrás do mesmo gateway de banco de dados.
Gorjeta
Se você observar o esgotamento da porta SNAT em um aplicativo multilocatário, deverá verificar se seu aplicativo segue as boas práticas. Certifique-se de reutilizar conexões HTTP e não recriar novas conexões toda vez que se conectar a um serviço externo. Talvez você consiga implantar um gateway NAT para contornar o problema, mas se seu código não seguir as práticas recomendadas, poderá encontrá-lo novamente no futuro.
O problema é exacerbado quando você trabalha com serviços do Azure que compartilham alocações de porta SNAT entre vários clientes, como o Serviço de Aplicativo do Azure e o Azure Functions.
Se você determinar que está enfrentando esgotamento SNAT e tiver certeza de que o código do aplicativo lida corretamente com suas conexões de saída, considere implantar o NAT Gateway. Essa abordagem é comumente usada por clientes que implantam soluções multilocatárias criadas no Serviço de Aplicativo do Azure e no Azure Functions.
Um gateway NAT individual pode ter vários endereços IP públicos anexados e cada endereço IP público fornece um conjunto de portas SNAT para conectar a saída à Internet. Para entender o número máximo de portas SNAT e endereços IP que um único gateway NAT pode suportar, consulte Limites de assinatura, cotas e restrições de serviço e assinatura do Azure. Se você precisar expandir além desse limite, poderá considerar a implantação de várias instâncias do Gateway NAT em várias sub-redes ou redes virtuais. Cada máquina virtual em uma sub-rede pode usar qualquer uma das portas SNAT disponíveis, se precisar delas.
Controle de endereço IP de saída
O controle de endereço IP de saída pode ser útil em aplicativos multilocatário, quando você tem todos os seguintes requisitos:
- Você usa serviços do Azure que não fornecem automaticamente endereços IP estáticos dedicados para o tráfego de saída. Esses serviços incluem o Serviço de Aplicativo do Azure, o Azure Functions, o Gerenciamento de API (quando executado na camada de consumo) e as Instâncias de Contêiner do Azure.
- Você precisa se conectar às redes de seus locatários pela internet.
- Seus locatários precisam filtrar o tráfego de entrada com base no endereço IP de cada solicitação.
Quando uma instância do Gateway NAT é aplicada a uma sub-rede, qualquer tráfego de saída dessa sub-rede usa os endereços IP públicos associados ao gateway NAT.
Nota
Quando você associa vários endereços IP públicos a um único gateway NAT, seu tráfego de saída pode vir de qualquer um desses endereços IP. Talvez seja necessário configurar regras de firewall no destino. Você deve permitir cada endereço IP ou usar um recurso de prefixo de endereço IP público para usar um conjunto de endereços IP públicos no mesmo intervalo.
Modelos de isolamento
Se precisar fornecer endereços IP públicos de saída diferentes para cada locatário, você deverá implantar recursos individuais do Gateway NAT. Cada sub-rede pode ser associada a uma única instância do NAT Gateway. Para implantar mais gateways NAT, você precisa implantar várias sub-redes ou redes virtuais. Por sua vez, você provavelmente precisará implantar vários conjuntos de recursos de computação.
Consulte Abordagens arquitetônicas para redes em soluções multilocatárias para obter mais informações sobre como projetar uma topologia de rede multilocatário.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Autor principal:
- John Downs - Brasil | Engenheiro de Clientes Principal, FastTrack for Azure
Outros contribuidores:
- Aimee Littleton - Brasil | Gestor de Programas 2, Azure NAT Gateway
- Arsen Vladimirskiy - Brasil | Engenheiro de Clientes Principal, FastTrack for Azure
- Joshua Waddell - Brasil | Engenheiro de Clientes Sênior, FastTrack for Azure
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.