Conexões de saídaOutbound connections

O Azure Load Balancer fornece conectividade de saída por meio de mecanismos diferentes.Azure Load Balancer provides outbound connectivity through different mechanisms. Este artigo descreve os cenários e como gerenciá-los.This article describes the scenarios and how to manage them.

Visão geral do cenário de conexões de saídaOutbound connections scenario overview

Termos usados nesses cenários.Terms used in these scenarios. Para obter mais informações, consulte terminologia:For more information, see Terminology:

CenáriosScenarios

  • Cenário 1 -máquina virtual com IP público.Scenario 1 - Virtual machine with public IP.
  • Cenário 2 -máquina virtual sem IP público.Scenario 2 - Virtual machine without public IP.
  • Cenário 3 -máquina virtual sem IP público e sem o balanceador de carga padrão.Scenario 3 - Virtual machine without public IP and without standard load balancer.

Cenário 1-máquina virtual com IP públicoScenario 1 - Virtual machine with public IP

AssociaçõesAssociations MétodoMethod Protocolos IPIP protocols
Balanceador de carga público ou autônomoPublic load balancer or stand-alone SNATSNAT
A representação da porta não é usada.Port masquerading not used.
TCPTCP
UDPUDP
ICMPICMP
ESPESP

DescriçãoDescription

O Azure usa o IP público atribuído à configuração de IP da NIC da instância para todos os fluxos de saída.Azure uses the public IP assigned to the IP configuration of the instance's NIC for all outbound flows. A instância possui todas as portas efêmeras disponíveis.The instance has all ephemeral ports available. Não importa se a VM tem balanceamento de carga ou não.It doesn't matter whether the VM is load balanced or not. Esse cenário tem precedência sobre os outros.This scenario takes precedence over the others.

Um IP público atribuído a uma VM é uma relação 1:1 (em vez de 1:muitos) e implementado como sem estado 1:1 NAT.A public IP assigned to a VM is a 1:1 relationship (rather than 1: many) and implemented as a stateless 1:1 NAT.

Cenário 2-máquina virtual sem IP públicoScenario 2 - Virtual machine without public IP

AssociaçõesAssociations MétodoMethod Protocolos IPIP protocols
Balanceador de carga públicoPublic load balancer Uso do front-end do balanceador de carga para SNAT com Pat (mascaramento de porta).Use of load balancer frontend for SNAT with port masquerading (PAT). TCPTCP
UDPUDP

DescriçãoDescription

O recurso de balanceador de carga está configurado com uma regra de balanceador de carga.The load balancer resource is configured with a load balancer rule. Essa regra é usada para criar um vínculo entre o front-end IP público com o pool de back-end.This rule is used to create a link between the public IP frontend with the backend pool.

Se você não concluir essa configuração de regra, o comportamento será conforme descrito no cenário 3.If you don't complete this rule configuration, the behavior is as described in scenario 3.

Uma regra com um ouvinte não é necessária para que a investigação de integridade tenha sucesso.A rule with a listener isn't required for the health probe to succeed.

Quando uma VM cria um fluxo de saída, o Azure converte o endereço IP de origem para o endereço IP público do front-end do Load Balancer público.When a VM creates an outbound flow, Azure translates the source IP address to the public IP address of the public load balancer frontend. Essa conversão é feita via SNAT.This translation is done via SNAT.

As portas efêmeras do endereço IP público de front-end do balanceador de carga são usadas para distinguir fluxos individuais originados pela VM.Ephemeral ports of the load balancer frontend public IP address are used to distinguish individual flows originated by the VM. A SNAT usa dinamicamente ortas efêmeras pré-alocadas quando os fluxos de saída são criados.SNAT dynamically uses preallocated ephemeral ports when outbound flows are created.

Neste contexto, as portas efêmeras usadas para SNAT são chamadas de portas SNAT.In this context, the ephemeral ports used for SNAT are called SNAT ports. As portas SNAT são previamente alocadas conforme descrito na tabela de alocação de portas SNAT padrão.SNAT ports are pre-allocated as described in the Default SNAT ports allocation table.

Cenário 3-máquina virtual sem IP público e sem o balanceador de carga padrãoScenario 3 - Virtual machine without public IP and without standard load balancer

AssociaçõesAssociations MétodoMethod Protocolos IPIP protocols
NenhumNone
Balanceador de carga básicoBasic load balancer
SNAT com disfarce de porta (Pat)SNAT with port masquerading (PAT) TCPTCP
UDPUDP

DescriçãoDescription

Quando a VM cria um fluxo de saída, o Azure converte o endereço IP de origem do fluxo de saída para um endereço IP de origem público.When the VM creates an outbound flow, Azure translates the source IP address of the outbound flow to a public source IP address. Esse endereço IP público não é configurável e não pode ser reservado.This public IP address isn't configurable and can't be reserved. Esse endereço não conta com relação ao limite de recursos de IP público da assinatura.This address doesn't count against the subscription's public IP resource limit.

O endereço IP público será liberado e um novo IP público solicitado se você reimplantar o:The public IP address will be released and a new public IP requested if you redeploy the:

  • Máquina VirtualVirtual Machine
  • Conjunto de disponibilidadeAvailability set
  • Conjunto de escala de máquina virtualVirtual machine scale set

Não use este cenário para adicionar IPs a uma lista de permissões.Don't use this scenario for adding IPs to an allow list. Use o cenário 1 ou 2 onde declarar explicitamente o comportamento de saída.Use scenario 1 or 2 where you explicitly declare outbound behavior. As portas SNAT são prealocadas conforme descrito na tabela de alocação de portas SNAT padrão.SNAT ports are preallocated as described in the Default SNAT ports allocation table.

Algoritmo de alocação de portaPort allocation algorithm

O Azure usa um algoritmo para determinar o número de portas SNAT previamente alocadas disponíveis.Azure uses an algorithm to determine the number of preallocated SNAT ports available. O algoritmo baseia o número de portas no tamanho do pool de back-end.The algorithm bases the number of ports on the size of the backend pool.

Para cada endereço IP público associado a um balanceador de carga, 64.000 portas estão disponíveis como portas SNAT .For every public IP address associated with a load balancer, 64,000 ports are available as SNAT ports. O mesmo número de portas SNAT é pré-ALOCADO para UDP e TCP.The same number of SNAT ports are preallocated for UDP and TCP. As portas são consumidas independentemente por protocolo IP.The ports are consumed independently per IP protocol.

O uso da porta SNAT é diferente dependendo se o fluxo é UDP ou TCP.The SNAT port usage is different depending on whether the flow is UDP or TCP.

As portas são consumidas dinamicamente até o limite prealocado.Ports are consumed dynamically up to the preallocated limit. As portas são liberadas quando o fluxo é fechado ou um tempo limite de ociosidade ocorre.The ports are released when the flow closes or an idle timeout occurs.

Para obter mais informações sobre os tempos limite de ociosidade, consulte solucionar problemas de conexões de saída no Azure Load BalancerFor more information on idle timeouts, see Troubleshoot outbound connections in Azure Load Balancer

As portas são consumidas apenas se for necessário fazer fluxos exclusivos.Ports are consumed only if it's necessary to make flows unique.

Prealocação de portas SNAT dinâmicaDynamic SNAT ports preallocation

A tabela a seguir mostra as prealocações de porta SNAT para camadas de tamanhos de pool de back-end:The following table shows the SNAT port preallocations for tiers of backend pool sizes:

Tamanho do pool (instâncias VM)Pool size (VM instances) Portas SNAT pré-alocadas por configuração de IPPreallocated SNAT ports per IP configuration
1-501-50 1.0241,024
51-10051-100 512512
101-200101-200 256256
201-400201-400 128128
401-800401-800 6464
801-1,000801-1,000 3232

A alteração do tamanho do pool de back-end pode afetar alguns dos fluxos estabelecidos:Changing the size of your backend pool might affect some of your established flows:

  • O tamanho do pool de back-end aumenta as transições de gatilho para a próxima camada.Backend pool size increases trigger transitions into the next tier. Metade das portas SNAT prealocadas são recuperadas durante a transição para a próxima camada.Half of the preallocated SNAT ports are reclaimed during the transition to the next tier.

  • Fluxos associados a um tempo limite de porta SNAT recuperado e fechados.Flows associated with a reclaimed SNAT port timeout and close. Esses fluxos devem ser reestabelecidos.These flows must be reestablished. Se um novo fluxo for tentado, o fluxo terá êxito imediato, desde que as portas pré-alocadas estejam disponíveis.If a new flow is attempted, the flow will succeed immediately as long as preallocated ports are available.

  • Se o tamanho do pool de back-end for menor e fizer a transição para uma camada inferior, o número de portas SNAT disponíveis aumentará.If the backend pool size lowers and transitions into a lower tier, the number of available SNAT ports increases. As portas SNAT dadas existentes e seus respectivos fluxos não são afetados.The existing given SNAT ports and their respective flows aren't affected.

Regras de saídaOutbound rules

As regras de saída permitem a configuração da conversão de endereços de rede de saída do balanceador de carga padrãopúblico.Outbound rules enable configuration of public standard load balancer's outbound network address translation.

Observação

O NAT da rede virtual do Azure pode fornecer conectividade de saída para máquinas virtuais em uma rede virtual.Azure Virtual Network NAT can provide outbound connectivity for virtual machines in a virtual network. Consulte o que é NAT de rede virtual do Azure? para obter mais informações.See What is Azure Virtual Network NAT? for more information.

Você tem total controle declarativo sobre a conectividade de saída para dimensionar e ajustar essa capacidade às suas necessidades.You have full declarative control over outbound connectivity to scale and tune this ability to your needs. Esta seção expande o cenário 2, conforme descrito acima.This section expands scenario 2 as described above.

Regras de saída do balanceador de carga

Com as regras de saída, você pode usar o balanceador de carga para definir o NAT de saída do zero.With outbound rules, you can use load balancer to define outbound NAT from scratch. Você também pode dimensionar e ajustar o comportamento do NAT de saída existente.You can also scale and tune the behavior of existing outbound NAT.

Regras de saída permitem que você controle:Outbound rules allow you to control:

  • Quais máquinas virtuais devem ser traduzidas para quais endereços IP públicos.Which virtual machines should be translated to which public IP addresses.
  • Como as portas SNAT de saída devem ser fornecidas.How outbound SNAT ports should be given.
  • Para quais protocolos fornecer tradução de saída.Which protocols to provide outbound translation for.
  • Qual duração usar para tempo limite de ociosidade de conexão de saída (4-120 minutos).What duration to use for outbound connection idle timeout (4-120 minutes).
  • Se deseja enviar uma redefinição de TCP no tempo limite ociosoWhether to send a TCP Reset on idle timeout
  • Protocolos de transporte TCP e UDP com uma única regraBoth TCP and UDP transport protocols with a single rule

Definição de regra de saídaOutbound rule definition

As regras de saída seguem a mesma sintaxe familiar que o balanceamento de carga e as frontendregras NAT de entrada: pool de + parameters + back-endde parâmetros de frontend.Outbound rules follow the same familiar syntax as load balancing and inbound NAT rules: frontend + parameters + backend pool. Uma regra de saída configura o NAT de saída para todas as máquinas virtuais identificadas pelo pool de back-end a serem convertidas no front-end.An outbound rule configures outbound NAT for all virtual machines identified by the backend pool to be translated to the frontend. Os parâmetros fornecem um controle adicional refinado sobre o algoritmo NAT de saída.The parameters provide additional fine grained control over the outbound NAT algorithm.

Dimensionar NAT de saída com vários endereços IPScale outbound NAT with multiple IP addresses

Cada endereço IP adicional fornecido por um front-end fornece portas efêmeras 64.000 adicionais para o balanceador de carga usar como portas SNAT.Each additional IP address provided by a frontend provides additional 64,000 ephemeral ports for load balancer to use as SNAT ports.

Use vários endereços IP para planejar cenários em larga escala.Use multiple IP addresses to plan for large-scale scenarios. Use regras de saída para atenuar o esgotamento de SNAT.Use outbound rules to mitigate SNAT exhaustion.

Você também pode usar um prefixo IP público diretamente com uma regra de saída.You can also use a public IP prefix directly with an outbound rule.

Um prefixo IP público aumenta o dimensionamento da sua implantação.A public IP prefix increases scaling of your deployment. O prefixo pode ser adicionado à lista de permissões de fluxos provenientes de seus recursos do Azure.The prefix can be added to the allow list of flows originating from your Azure resources. Você pode configurar uma configuração de IP de front-end dentro do balanceador de carga para fazer referência a um prefixo de endereço IP público.You can configure a frontend IP configuration within the load balancer to reference a public IP address prefix.

O balanceador de carga tem controle sobre o prefixo IP público.The load balancer has control over the public IP prefix. A regra de saída usará automaticamente todos os endereços IP públicos contidos no prefixo IP público para conexões de saída.The outbound rule will automatically use all public IP addresses contained within the public IP prefix for outbound connections.

Cada um dos endereços IP dentro do prefixo IP público fornece uma 64.000 portas efêmeras adicionais por endereço IP para o balanceador de carga usar como portas SNAT.Each of the IP addresses within public IP prefix provides an additional 64,000 ephemeral ports per IP address for load balancer to use as SNAT ports.

Tempo limite de ociosidade do fluxo de saída e redefinição de TCPOutbound flow idle timeout and TCP reset

Regras de saída fornecem um parâmetro de configuração para controlar o tempo limite de ociosidade de fluxo de saída e combiná-lo com as necessidades do seu aplicativo.Outbound rules provide a configuration parameter to control the outbound flow idle timeout and match it to the needs of your application. O padrão de tempos limite de ociosidade de saída é de 4 minutos.Outbound idle timeouts default to 4 minutes. Para obter mais informações, consulte Configurar tempos limite de ociosidade.For more information, see configure idle timeouts.

O comportamento padrão do balanceador de carga é descartar o fluxo silenciosamente quando o tempo limite de ociosidade de saída for atingido.The default behavior of load balancer is to drop the flow silently when the outbound idle timeout has been reached. O enableTCPReset parâmetro habilita um comportamento e controle previsíveis do aplicativo.The enableTCPReset parameter enables a predictable application behavior and control. O parâmetro determina se a redefinição TCP bidirecional (TCP RST) deve ser enviada no tempo limite do tempo limite de ociosidade de saída.The parameter dictates whether to send bidirectional TCP Reset (TCP RST) at the timeout of the outbound idle timeout.

Examine a redefinição de TCP no tempo limite ocioso para obter detalhes, incluindo a disponibilidade da região.Review TCP Reset on idle timeout for details including region availability.

Impedir conectividade de saídaPreventing outbound connectivity

As regras de balanceamento de carga fornecem programação automática de NAT de saída.Load-balancing rules provide automatic programming of outbound NAT. Alguns cenários se beneficiam ou exigem que você desabilite a programação automática do NAT de saída pela regra de balanceamento de carga.Some scenarios benefit or require you to disable the automatic programming of outbound NAT by the load-balancing rule. A desabilitação por meio da regra permite controlar ou refinar o comportamento.Disabling via the rule allows you to control or refine the behavior.

Você pode usar esse parâmetro de duas maneiras:You can use this parameter in two ways:

  1. Prevenção do endereço IP de entrada para SNAT de saída.Prevention of the inbound IP address for outbound SNAT. Desabilite o SNAT de saída na regra de balanceamento de carga.Disable outbound SNAT in the load-balancing rule.

  2. Ajuste os parâmetros de SNAT de saída de um endereço IP usado para entrada e saída simultaneamente.Tune the outbound SNAT parameters of an IP address used for inbound and outbound simultaneously. O NAT de saída automático deve ser desabilitado para permitir que uma regra de saída assuma o controle.The automatic outbound NAT must be disabled to allow an outbound rule to take control. Para alterar a alocação de porta SNAT de um endereço também usado para entrada, o disableOutboundSnat parâmetro deve ser definido como true.To change the SNAT port allocation of an address also used for inbound, the disableOutboundSnat parameter must be set to true.

A operação para configurar uma regra de saída falhará se você tentar redefinir um endereço IP que é usado para entrada.The operation to configure an outbound rule will fail if you attempt to redefine an IP address that is used for inbound. Desabilite primeiro o NAT de saída da regra de balanceamento de carga.Disable the outbound NAT of the load-balancing rule first.

Importante

Sua máquina virtual não terá conectividade de saída se você definir esse parâmetro como true e não tiver uma regra de saída para definir a conectividade de saída.Your virtual machine will not have outbound connectivity if you set this parameter to true and do not have an outbound rule to define outbound connectivity. Algumas operações de sua VM ou do seu aplicativo podem depender de ter conectividade de saída disponível.Some operations of your VM or your application may depend on having outbound connectivity available. Entenda as dependências do seu cenário e considere o impacto de fazer essa alteração.Make sure you understand the dependencies of your scenario and have considered impact of making this change.

Às vezes, não é desejável que uma VM crie um fluxo de saída.Sometimes it's undesirable for a VM to create an outbound flow. Pode haver um requisito para gerenciar quais destinos recebem fluxos de saída ou quais destinos iniciam fluxos de entrada.There might be a requirement to manage which destinations receive outbound flows, or which destinations begin inbound flows. Use grupos de segurança de rede para gerenciar os destinos que a VM atinge.Use network security groups to manage the destinations that the VM reaches. Use NSGs para gerenciar quais destinos públicos iniciam fluxos de entrada.Use NSGs to manage which public destinations start inbound flows.

Ao aplicar um NSG a uma VM com balanceamento de carga, atente-se às marcas de serviço e às regras de segurança padrão.When you apply an NSG to a load-balanced VM, pay attention to the service tags and default security rules. Verifique se a VM pode receber solicitações de investigação de integridade de Azure Load Balancer.Ensure that the VM can receive health probe requests from Azure Load Balancer.

Se um NSG bloquear solicitações de investigação de integridade da marcação padrão AZURE_LOADBALANCER, o teste de integridade da VM falhará e a VM será reduzida.If an NSG blocks health probe requests from the AZURE_LOADBALANCER default tag, your VM health probe fails and the VM is marked down. O Balanceador de Carga interrompe o envio de novos fluxos para a VM.Load Balancer stops sending new flows to that VM.

Cenários com regras de saídaScenarios with outbound rules

Cenários de regras de saídaOutbound rules scenarios

  • Cenário 1 -configurar conexões de saída para um conjunto específico de IPS ou prefixo público.Scenario 1 - Configure outbound connections to a specific set of public IPs or prefix.
  • Cenário 2 -modificar a alocação de porta SNAT .Scenario 2 - Modify SNAT port allocation.
  • Cenário 3 -habilitar somente saída.Scenario 3 - Enable outbound only.
  • Cenário 4 -NAT de saída somente para VMs (sem entrada).Scenario 4 - Outbound NAT for VMs only (no inbound).
  • Cenário 5 -NAT de saída para balanceador de carga padrão interno.Scenario 5 - Outbound NAT for internal standard load balancer.
  • Cenário 6 -habilitar os protocolos TCP & UDP para NAT de saída com um balanceador de carga padrão público.Scenario 6 - Enable both TCP & UDP protocols for outbound NAT with a public standard load balancer.

Cenário 1Scenario 1

CenárioScenario
Configurar conexões de saída para um conjunto específico de IPs públicos ou prefixoConfigure outbound connections to a specific set of public IPs or prefix

DetalhesDetails

Use este cenário para personalizar as conexões de saída para originar-se de um conjunto de endereços IP públicos.Use this scenario to tailor outbound connections to originate from a set of public IP addresses. Adicione IPs públicos ou prefixos a uma lista de permissão ou negação com base na origem.Add public IPs or prefixes to an allow or deny list based on origination.

Esse IP público ou prefixo pode ser o mesmo usado por uma regra de balanceamento de carga.This public IP or prefix can be the same as used by a load-balancing rule.

Para usar um IP público ou prefixo diferente do usado por uma regra de balanceamento de carga:To use a different public IP or prefix than used by a load-balancing rule:

  1. Crie um prefixo IP público ou endereço IP público.Create public IP prefix or public IP address.
  2. Criar um balanceador de carga padrão públicoCreate a public standard load balancer
  3. Crie um front-end referenciando o prefixo IP público ou o endereço IP público que você deseja usar.Create a frontend referencing the public IP prefix or public IP address you wish to use.
  4. Reutilize um pool de back-end ou crie um pool de back-end e coloque as VMs em um pool de back-end do balanceador de carga públicoReuse a backend pool or create a backend pool and place the VMs into a backend pool of the public load balancer
  5. Configure uma regra de saída no balanceador de carga público para habilitar o NAT de saída para as VMs usando o front-end.Configure an outbound rule on the public load balancer to enable outbound NAT for the VMs using the frontend. Se você não quiser que a regra de balanceamento de carga seja usada para saída, desabilite o SNAT de saída na regra de balanceamento de carga.If you don't wish for the load-balancing rule to be used for outbound, disable outbound SNAT on the load-balancing rule.

Cenário 2Scenario 2

CenárioScenario
Modificar a alocação de porta SNATModify SNAT port allocation

DetalhesDetails

Você pode usar regras de saída para ajustar a alocação automática da porta SNAT com base no tamanho do pool de back-end.You can use outbound rules to tune the automatic SNAT port allocation based on backend pool size.

Se você experimentar o esgotamento de SNAT, aumente o número de portas SNAT dadas do padrão de 1024.If you experience SNAT exhaustion, increase the number of SNAT ports given from the default of 1024.

Cada endereço IP público contribui para até 64.000 portas efêmeras.Each public IP address contributes up to 64,000 ephemeral ports. O número de VMs no pool de back-end determina o número de portas distribuídas para cada VM.The number of VMs in the backend pool determines the number of ports distributed to each VM. Uma VM no pool de back-end tem acesso ao máximo de 64.000 portas.One VM in the backend pool has access to the maximum of 64,000 ports. Para duas VMs, no máximo 32.000 portas SNAT podem ser dadas com uma regra de saída (2x 32.000 = 64.000).For two VMs, a maximum of 32,000 SNAT ports can be given with an outbound rule (2x 32,000 = 64,000).

Você pode usar regras de saída para ajustar as portas SNAT fornecidas por padrão.You can use outbound rules to tune the SNAT ports given by default. Você dá mais ou menos do que a alocação de porta SNAT padrão fornecida.You give more or less than the default SNAT port allocation provides. Cada endereço IP público de um front-end de uma regra de saída contribui para até 64.000 portas efêmeras para uso como portas SNAT .Each public IP address from a frontend of an outbound rule contributes up to 64,000 ephemeral ports for use as SNAT ports.

O balanceador de carga fornece portas SNAT em múltiplos de 8.Load balancer gives SNAT ports in multiples of 8. Se você fornecer um valor não divisível por 8, a operação de configuração será rejeitada.If you provide a value not divisible by 8, the configuration operation is rejected.

Se você tentar fornecer mais portas SNAT do que as disponíveis com base no número de endereços IP públicos, a operação de configuração será rejeitada.If you attempt to give more SNAT ports than are available based on the number of public IP addresses, the configuration operation is rejected.

Se você fornecer 10.000 portas por VM e sete VMs em um pool de back-end compartilharem um único IP público, a configuração será rejeitada.If you give 10,000 ports per VM and seven VMs in a backend pool share a single public IP, the configuration is rejected. Sete multiplicado por 10.000 excede o limite de 64.000 portas.Seven multiplied by 10,000 exceeds the 64,000 port limit. Adicione mais endereços IP públicos ao front-end da regra de saída para habilitar o cenário.Add more public IP addresses to the frontend of the outbound rule to enable the scenario.

Reverta para a alocação de porta padrão especificando 0 para o número de portas.Revert to the default port allocation by specifying 0 for the number of ports. As primeiras 50 instâncias de VM receberão 1024 portas, as instâncias de VM 51-100 terão 512 até o máximo de instâncias.The first 50 VM instances will get 1024 ports, 51-100 VM instances will get 512 up to the maximum instances. Para obter mais informações sobre a alocação de porta SNAT padrão, consulte acima.For more information on default SNAT port allocation, see above.

Cenário 3Scenario 3

CenárioScenario
Habilitar apenas saídaEnable outbound only

DetalhesDetails

Você pode usar um balanceador de carga padrão público para fornecer NAT de saída para um grupo de VMs.You can use a public standard load balancer to provide outbound NAT for a group of VMs. Nesse cenário, use uma regra de saída por si só, sem a necessidade de qualquer regra adicional.In this scenario, use an outbound rule by itself, without the need for any additional rules.

Observação

O NAT da rede virtual do Azure pode fornecer conectividade de saída para máquinas virtuais sem a necessidade de um balanceador de carga.Azure Virtual Network NAT can provide outbound connectivity for virtual machines without the need for a load balancer. Consulte o que é NAT de rede virtual do Azure? para obter mais informações.See What is Azure Virtual Network NAT? for more information.

Cenário 4Scenario 4

CenárioScenario
NAT de saída apenas para VMs (não de entrada)Outbound NAT for VMs only (no inbound)

Observação

O NAT da rede virtual do Azure pode fornecer conectividade de saída para máquinas virtuais sem a necessidade de um balanceador de carga.Azure Virtual Network NAT can provide outbound connectivity for virtual machines without the need for a load balancer. Consulte o que é NAT de rede virtual do Azure? para obter mais informações.See What is Azure Virtual Network NAT? for more information.

DetalhesDetails

Para este cenário:For this scenario:

  1. Crie um IP público ou prefixo.Create a public IP or prefix.
  2. Crie um balanceador de carga padrão público.Create a public standard load balancer.
  3. Crie um front-end associado ao IP público ou prefixo dedicado para saída.Create a frontend associated with the public IP or prefix dedicated for outbound.
  4. Crie um pool de back-end para as VMs.Create a backend pool for the VMs.
  5. Coloque as VMs no pool de back-end.Place the VMs into the backend pool.
  6. Configure uma regra de saída para habilitar o NAT de saída.Configure an outbound rule to enable outbound NAT.

Use um prefixo ou IP público para dimensionar portas SNAT .Use a prefix or public IP to scale SNAT ports. Adicione a origem das conexões de saída a uma lista de permissão ou negação.Add the source of outbound connections to an allow or deny list.

Cenário 5Scenario 5

CenárioScenario
NAT de saída para o balanceador de carga Standard internoOutbound NAT for internal standard load balancer

Observação

O NAT da rede virtual do Azure pode fornecer conectividade de saída para máquinas virtuais utilizando um balanceador de carga padrão interno.Azure Virtual Network NAT can provide outbound connectivity for virtual machines utilizing an internal standard load balancer. Consulte o que é NAT de rede virtual do Azure? para obter mais informações.See What is Azure Virtual Network NAT? for more information.

DetalhesDetails

A conectividade de saída não está disponível para um balanceador de carga Standard interno até que tenha sido declarado explicitamente.Outbound connectivity isn't available for an internal standard load balancer until it has been explicitly declared.

Para obter mais informações, consulte configuração de balanceador de carga somente de saída.For more information, see Outbound-only load balancer configuration.

Cenário 6Scenario 6

CenárioScenario
Habilitar os protocolos TCP & UDP para NAT de saída com um Load Balancer Standard públicoEnable both TCP & UDP protocols for outbound NAT with a public standard load balancer

DetalhesDetails

Ao usar um balanceador de carga padrão público, o NAT de saída automático fornecido corresponde ao protocolo de transporte da regra de balanceamento de carga.When using a public standard load balancer, the automatic outbound NAT provided matches the transport protocol of the load-balancing rule.

  1. Desabilite o SNAT de saída na regra de balanceamento de carga.Disable outbound SNAT on the load-balancing rule.
  2. Configure uma regra de saída no mesmo balanceador de carga.Configure an outbound rule on the same load balancer.
  3. Reutilize o pool de back-end já usado por suas VMs.Reuse the backend pool already used by your VMs.
  4. Especifique "protocolo": "Todos" como parte da regra de saída.Specify "protocol": "All" as part of the outbound rule.

Quando são usadas apenas regras NAT de entrada, nenhuma NAT de saída é fornecida.When only inbound NAT rules are used, no outbound NAT is provided.

  1. Coloque as VMs em um pool de back-end.Place VMs in a backend pool.
  2. Definir uma ou mais configurações de IP de front-end com endereços IP públicos ou prefixo de IP públicoDefine one or more frontend IP configurations with public IP address(es) or public IP prefix
  3. Configure uma regra de saída no mesmo balanceador de carga.Configure an outbound rule on the same load balancer.
  4. Especifique "protocolo": "Todos" como parte da regra de saídaSpecify "protocol": "All" as part of the outbound rule

TerminologiaTerminology

Conversão de endereços de rede de origemSource network address translation

Protocolo (s) aplicávelApplicable protocol(s)
TCPTCP
UDPUDP

DetalhesDetails

Uma implantação no Azure pode comunicar-se com os pontos de extremidade fora do Azure no espaço de endereços IP público.A deployment in Azure can communicate with endpoints outside Azure in the public IP address space.

Quando uma instância inicia o tráfego de saída para um destino com um endereço IP público, o Azure mapeia dinamicamente o endereço IP privado do recurso para um endereço IP público.When an instance starts outbound traffic to a destination with a public ip address, Azure dynamically maps the private IP address of the resource to a public IP address.

Depois que esse mapeamento é criado, o tráfego de retorno para esse fluxo originado de saída atinge o endereço IP privado onde o fluxo foi originado.After this mapping is created, return traffic for this outbound originated flow reaches the private IP address where the flow originated.

O Azure usa SNAT (conversão de endereços de rede de origem) para executar essa função.Azure uses source network address translation (SNAT) to do this function.

Disfarce de porta SNAT (PAT)Port masquerading SNAT (PAT)

Protocolo (s) aplicávelApplicable protocol(s)
TCPTCP
UDPUDP

DetalhesDetails

Quando os IPs privados estão atrás de um único endereço IP público, o Azure usa a Pat (conversão de endereços de porta) para ocultar os endereços IP privados.When private IPs are behind a single public IP address, Azure uses port address translation (PAT) to hide the private IP addresses.

As portas efêmeras são usadas para PAT e são pré-alocadas com base no tamanho do pool.Ephemeral ports are used for PAT and are preallocated based on pool size.

Quando um balanceador de carga público está associado a VMs sem IPs públicos, cada fonte de conexão de saída é reescrita.When a public load balancer is associated with VMs without public IPs, each outbound connection source is rewritten.

A origem é reescrita do endereço IP privado da rede virtual para o endereço IP público de front-end do balanceador de carga.The source is rewritten from the virtual network private IP address to the frontend public IP address of the load balancer.

No espaço de endereço IP público, a cinco tupla do fluxo abaixo deve ser exclusiva:In the public IP address space, the five-tuple of the flow below must be unique:

  • Endereço IP de origemSource IP address
  • Porta de origemSource port
  • Protocolo de transporte IPIP transport protocol
  • Endereço IP de destinoDestination IP address
  • Porta de destinoDestination port

A representação de porta SNAT pode ser usada com os protocolos TCP ou UDP.Port masquerading SNAT can be used with either TCP or UDP protocols. As portas SNAT são usadas após a regravação do endereço IP de origem particular porque vários fluxos são originados de um único endereço IP público.SNAT ports are used after rewriting the private source IP address because multiple flows originate from a single public IP address. O algoritmo SNAT de mascaramento de porta fornece portas SNAT de forma diferente para UDP versus TCP.The port masquerading SNAT algorithm gives SNAT ports differently for UDP versus TCP.

Portas SNAT (TCP)SNAT ports (TCP)

Protocolo (s) aplicávelApplicable protocol(s)
TCPTCP

DetalhesDetails

As portas SNAT são portas efêmeras disponíveis para um endereço de origem IP público.SNAT ports are ephemeral ports available for a public IP source address. Uma porta SNAT é consumida por fluxo para uma porta e endereço IP de destino único.One SNAT port is consumed per flow to a single destination IP address and port.

Para vários fluxos TCP para o mesmo endereço IP, porta e protocolo de destino, cada fluxo TCP consome uma única porta SNAT.For multiple TCP flows to the same destination IP address, port, and protocol, each TCP flow consumes a single SNAT port.

Esse consumo garante que os fluxos sejam exclusivos quando se originam do mesmo endereço IP público e viajam para o:This consumption ensures that the flows are unique when they originate from the same public IP address and travel to the:

  • Mesmo endereço IP de destinoSame destination IP address
  • PortaPort
  • ProtocoloProtocol

Vários fluxos compartilham uma única porta SNAT.Multiple flows share a single SNAT port.

O endereço IP de destino, porta e protocolo tornam os fluxos exclusivos sem a necessidade de portas de origem adicionais para distinguir fluxos no espaço de endereço IP público.The destination IP address, port, and protocol make flows unique without the need for additional source ports to distinguish flows in the public IP address space.

Portas SNAT (UDP)SNAT ports (UDP)

Protocolo (s) aplicávelApplicable protocol(s)
UDPUDP

DetalhesDetails

Portas SNAT UDP são gerenciadas por um algoritmo diferente do que as portas SNAT TCP.UDP SNAT ports are managed by a different algorithm than TCP SNAT ports. O balanceador de carga usa um algoritmo denominado NAT de cone com restrição de porta para UDP.Load balancer uses an algorithm named port-restricted cone NAT for UDP.

Uma porta SNAT é consumida para qualquer endereço IP de destino e porta para cada fluxo.One SNAT port is consumed for whatever destination IP address and port for each flow.

EsgotamentoExhaustion

Protocolo (s) aplicávelApplicable protocol(s)
N/DN/A

DetalhesDetails

Quando os recursos da porta SNAT estão esgotados, os fluxos de saída falham até que os fluxos existentes liberem as portas SNAT.When SNAT port resources are exhausted, outbound flows fail until existing flows release SNAT ports. O balanceador de carga recupera portas SNAT quando o fluxo é fechado.Load balancer reclaims SNAT ports when the flow closes.

Um tempo limite de ociosidade de quatro minutos é usado pelo balanceador de carga para recuperar portas SNAT.A idle timeout of four minutes is used by the load balancer to reclaim SNAT ports.

As portas SNAT UDP geralmente esgotam muito mais rápido que as portas SNAT TCP devido à diferença no algoritmo usado.UDP SNAT ports generally exhaust much faster than TCP SNAT ports because of the difference in algorithm used. Teste de design e dimensionamento devido a essa diferença.Design and scale test because of this difference.

Comportamento de liberação da porta SNAT (TCP)SNAT port release behavior (TCP)

Protocolo (s) aplicávelApplicable protocol(s)
TCPTCP

DetalhesDetails

Quando um servidor ou cliente envia um FINACK, uma porta SNAT será liberada após 240 segundos.When either a server or client sends a FINACK, a SNAT port will be released after 240 seconds. No caso de um RST ser visto, uma porta SNAT será liberada após 15 segundos.In the event an RST is seen, a SNAT port will be released after 15 seconds. Se o tempo limite de ociosidade tiver sido atingido, a porta será liberada.If the idle timeout has been reached, the port is released.

Comportamento de liberação de porta SNAT (UDP)SNAT port release behavior (UDP)

Protocolo (s) aplicávelApplicable protocol(s)
TCPTCP

DetalhesDetails

Se o tempo limite de ociosidade tiver sido atingido, a porta será liberada.If idle timeout has been reached, the port is released.

Reutilização de porta SNATSNAT port reuse

Protocolo (s) aplicávelApplicable protocol(s)
TCPTCP
UDPUDP

DetalhesDetails

Depois que uma porta for liberada, a porta estará disponível para reutilização.Once a port has been released, the port is available for reuse. As portas SNAT são uma sequência da mais baixa para a mais alta disponível para um determinado cenário e a primeira porta SNAT disponível é usada para novas conexões.SNAT ports are a sequence from lowest to highest available for a given scenario, and the first available SNAT port is used for new connections.

LimitaçõesLimitations

  • O número máximo de portas efêmeras utilizáveis por endereço IP de front-end é 64.000.The maximum number of usable ephemeral ports per frontend IP address is 64,000.
  • O intervalo do tempo limite de ociosidade de saída configurável é de 4 a 120 minutos (240 a 7.200 segundos).The range of the configurable outbound idle timeout is 4 to 120 minutes (240 to 7200 seconds).
  • O balanceador de carga não dá suporte a ICMP para NAT de saída.Load balancer doesn't support ICMP for outbound NAT.
  • As regras de saída só podem ser aplicadas à configuração de IP primário de uma NIC.Outbound rules can only be applied to primary IP configuration of a NIC. Você não pode criar uma regra de saída para o IP secundário de uma VM ou NVA.You can't create an outbound rule for the secondary IP of a VM or NVA. Há suporte para várias NICs.Multiple NICs are supported.
  • As funções de Web Worker sem uma rede virtual e outros serviços de plataforma da Microsoft podem ser acessíveis quando um Load Balancer Standard interno é usado.Web Worker Roles without a virtual network and other Microsoft platform services can be accessible when an internal standard load balancer is used. Essa acessibilidade é devido a um efeito colateral de como os serviços de VNet e outros serviços de plataforma operam.This accessibility is because of a side effect of how pre-VNet services and other platform services operate. Não confie nesse efeito colateral, pois o respectivo próprio serviço ou a plataforma subjacente poderá mudar sem aviso prévio.Don't rely on this side effect as the respective service itself or the underlying platform may change without notice. Sempre suponha que você precise criar uma conectividade de saída explicitamente, se desejar, ao usar apenas um balanceador de carga padrão interno.Always assume you need to create outbound connectivity explicitly if wanted when using an internal standard load balancer only. O cenário 3 descrito neste artigo não está disponível.Scenario 3 described in this article isn't available.

Próximas etapasNext steps

Se você estiver tendo problemas com a conectividade de saída por meio de um Azure Load Balancer, consulte o Guia de solução de problemas para conexões de saída.If you're experiencing issues with outbound connectivity through an Azure Load Balancer, see the troubleshooting guide for outbound connections.