Regras de saída do Load BalancerLoad Balancer outbound rules

O Azure Load Balancer fornece conectividade de saída de uma rede virtual além da entrada.Azure Load Balancer provides outbound connectivity from a virtual network in addition to inbound. Regras de saída simplificam a configuração da conversão de endereços de rede de saída do Standard Load Balancer público.Outbound rules make it simple to configure public Standard Load Balancer's outbound network address translation. Você tem controle declarativo completo sobre a conectividade de saída para dimensionar e ajustar essa capacidade conforme suas necessidades específicas.You have full declarative control over outbound connectivity to scale and tune this ability to your specific needs.

Regras de saída do Load Balancer

Com as regras de saída, você pode usar o Load Balancer para:With outbound rules, you can use Load Balancer to:

  • definir NAT de saída do zero.define outbound NAT from scratch.
  • dimensionar e ajustar o comportamento do NAT de saída existente.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 convertidas em quais endereços IP públicos.which virtual machines should be translated to which public IP addresses.
  • como portas SNAT de saída devem ser alocadas.how outbound SNAT ports should be allocated.
  • para quais protocolos fornecer conversão de saída.which protocols to provide outbound translation for.
  • qual duração usar para o tempo limite de ociosidade da conexão de saída (4-120 minutos).what duration to use for outbound connection idle timeout (4-120 minutes).
  • se você deseja enviar uma Redefinição de TCP no tempo limite de ociosidade (em Versão Prévia Pública).whether to send a TCP Reset on idle timeout (in Public Preview).

Regras de saída expandem o cenário 2 descrito no artigo conexões de saída e a precedência de cenário permanece como no estado em que se encontra.Outbound rules expand scenario 2 in described in the outbound connections article and the scenario precedence remains as-is.

Regra de saídaOutbound rule

Como todas as regras do Load Balancer, regras de saída seguem a mesma sintaxe familiar que regras NAT de entrada e balanceamento de carga:Like all Load Balancer rules, outbound rules follow the same familiar syntax as load balancing and inbound NAT rules:

front-end + parâmetros + pool de back-endfrontend + 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 controle refinado adicional sobre o algoritmo NAT de saída.And parameters provide additional fine grained control over the outbound NAT algorithm.

A versão "2018-07-01" da API permite uma definição de regra de saída estruturada da seguinte forma:API version "2018-07-01" permits an outbound rule definition structured as follows:

      "outboundRules": [
        {
          "frontendIPConfigurations": [ list_of_frontend_ip_configuations ],
          "allocatedOutboundPorts": number_of_SNAT_ports,
          "idleTimeoutInMinutes": 4 through 66,
          "enableTcpReset": true | false,
          "protocol": "Tcp" | "Udp" | "All",
          "backendAddressPool": backend_pool_reference,
        }
      ]

Observação

A configuração de NAT de saída efetiva é uma composição de todas as regras de saída e regras de balanceamento de carga.The effective outbound NAT configuration is a composite of all outbound rules and load balancing rules. As regras de saída são incrementais para as regras de balanceamento de carga.Outbound rules are incremental to load balancing rules. Examine como desabilitar NAT de saída para uma regra de balanceamento de carga para gerenciar a conversão de NAT de saída efetiva quando várias regras se aplicam a uma VM.Review disabling outbound NAT for a load balancing rule to manage the effective outbound NAT translation when multiple rules apply to a VM. Você deve desabilitar SNAT de saída ao definir uma regra de saída que esteja usando o mesmo endereço IP público como uma regra de balanceamento de carga.You must disable outbound SNAT when defining an outbound rule which is using the same public IP address as a load balancing rule.

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

Embora uma regra de saída possa ser usada com apenas um único endereço IP público, regras de saída aliviam a carga de configuração para o dimensionamento de NAT de saída.While an outbound rule can be used with just a single public IP address, outbound rules ease the configuration burden for scaling outbound NAT. Você pode usar vários endereços IP para planejar cenários de grande escala e pode usar regras de saída para atenuar padrões propensos à exaustão de SNAT.You can use multiple IP addresses to plan for large-scale scenarios and you can use outbound rules to mitigate SNAT exhaustion prone patterns.

Cada endereço IP adicional fornecido por um front-end fornece 51.200 portas efêmeras para o Load Balancer usar como portas SNAT.Each additional IP address provided by a frontend provides 51,200 ephemeral ports for Load Balancer to use as SNAT ports. Embora regras de NAT de entrada ou balanceamento de carga tenham um único front-end, a regra de saída expande a noção de front-end e permite vários front-ends por regra.While load balancing or inbound NAT rules have a single frontend, the outbound rule expands the frontend notion and allows multiple frontends per rule. Com vários frontends por regra, a quantidade de portas SNAT disponíveis é multiplicada com cada endereço IP público e grandes cenários podem ser suportados.With multiple frontends per rule, the quantity of available SNAT ports is multiplied with each public IP address, and large scenarios can be supported.

Além disso, você pode usar um prefixo de IP público diretamente com uma regra de saída.Additionally, you can use a public IP prefix directly with an outbound rule. Prefixo usando o IP público fornece para dimensionamento mais fácil e simplificada em uma lista de fluxos provenientes de sua implantação do Azure.Using public IP prefix provides for easier scaling and simplified white-listing of flows originating from your Azure deployment. Você pode configurar uma configuração de IP de front-end no recurso do Load Balancer para fazer referência a um prefixo de endereço IP público diretamente.You can configure a frontend IP configuration within the Load Balancer resource to reference a public IP address prefix directly. Isso dá ao Load Balancer controle exclusivo sobre o prefixo de IP público, e a regra de saída usará automaticamente todos os endereços IP públicos contidos dentro do prefixo de IP público para conexões de saída.This allows Load Balancer exclusive control over the public IP prefix and 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 intervalo do prefixo de IP público fornece 51.200 portas efêmeras por endereço IP para o Load Balancer usar como portas SNAT.Each of the IP addresses within the range of the public IP prefix provide 51,200 ephemeral ports per IP address for Load Balancer to use as SNAT ports.

Você não pode ter recursos de endereço IP público individuais criados usando o prefixo de IP público ao usar essa opção, uma vez que a regra de saída deve ter controle total sobre o prefixo de IP público.You cannot have individual public IP address resources created from the public IP prefix when using this option as the outbound rule must have complete control of the public IP prefix. Se você precisar de controle mais refinado, poderá criar o recurso de endereço IP público individual do prefixo IP público e atribuir vários endereços IP públicos individualmente ao front-end de uma regra de saída.If you need more fine grained control, you can create individual public IP address resource from the public IP prefix and assign multiple public IP addresses individually to the frontend of an outbound rule.

Ajustar a alocação da porta SNATTune SNAT port allocation

Você pode usar regras de saída para ajustar a alocação da porta SNAT automática com base no tamanho do pool de back-end e alocar mais ou menos do que a alocação automática de porta SNAT fornece.You can use outbound rules to tune the automatic SNAT port allocation based on backend pool size and allocate more or less than the automatic SNAT port allocation provides.

Use o parâmetro a seguir para alocar 10.000 portas SNAT por VM (configuração de IP do NIC).Use the following parameter to allocate 10,000 SNAT ports per VM (NIC IP configuration).

      "allocatedOutboundPorts": 10000

Cada endereço IP público de todos os front-ends de uma regra de saída contribui com até 51.200 portas efêmeras para serem usadas como portas SNAT.Each public IP address from all frontends of an outbound rule contributes up to 51,200 ephemeral ports for use as SNAT ports. O Load Balancer aloca portas SNAT em múltiplos de 8.Load Balancer allocates 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 alocar mais portas SNAT do que estão 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 allocate more SNAT ports than are available based on the number of public IP addresses, the configuration operation is rejected. Por exemplo, se você alocar 10.000 portas por VM e 7 VMs em um back-end pool compartilhariam um único endereço IP público, a configuração é rejeitado (7 x 10.000 portas > 51.200 SNAT as portas SNAT).For example, if you allocate 10,000 ports per VM and 7 VMs in a backend pool would share a single public IP address, the configuration is rejected (7 x 10,000 SNAT ports > 51,200 SNAT ports). Você pode adicionar mais endereços de IP ao front-end da regra de saída para habilitar o cenário.You can add more public IP addresses to the frontend of the outbound rule to enable the scenario.

Você pode reverter para a alocação da porta SNAT automática com base no tamanho do pool de back-end especificando 0 como o número de portas.You can revert back to automatic SNAT port allocation based on backend pool size by specifying 0 for number of ports.

Controlar o tempo limite de ociosidade de fluxo de saídaControl outbound flow idle timeout

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. O parâmetro aceita um valor de 4 a 120 para especificar o número de minutos do tempo limite de ociosidade para os fluxos correspondentes a essa regra específica.The parameter accepts a value from 4 to 120 to specific the number of minutes for the idle timeout for flows matching this particular rule.

Use o parâmetro a seguir para definir o tempo limite de ociosidade de saída como 1 hora:Use the following parameter to set the outbound idle timeout to 1 hour:

      "idleTimeoutInMinutes": 60

Habilitar a Redefinição de TCP no tempo limite de ociosidade (Versão Prévia) Enable TCP Reset on idle timeout (Preview)

O comportamento padrão do Load Balancer é remover o fluxo silenciosamente quando o tempo limite de ociosidade de saída é atingido.The default behavior of Load Balancer is to drop the flow silently when the outbound idle timeout has been reached. Com o parâmetro enableTCPReset, você pode habilitar um comportamento mais previsível do aplicativo e controlar se deseja enviar Redefinição de TCP (RST TCP) bidirecional ao atingir o tempo limite de ociosidade de saída.With the enableTCPReset parameter, you can enable a more predictable application behavior and control whether to send bidirectional TCP Reset (TCP RST) at the time out of outbound idle timeout.

Use o parâmetro a seguir para habilitar a Redefinição de TCP em uma regra de saída:Use the following parameter to enable TCP Reset on an outbound rule:

       "enableTcpReset": true

Examine Redefinição de TCP no tempo limite de ociosidade (Versão Prévia) para obter detalhes, incluindo a disponibilidade na região.Review TCP Reset on idle timeout (Preview) for details including region availability.

Suporte a protocolos de transporte TCP e UDP com uma única regraSupport both TCP and UDP transport protocols with a single rule

Você provavelmente vai querer usar "Todos" para o protocolo de transporte da regra de saída, mas também poderá aplicar a regra de saída a um protocolo de transporte específico se houver necessidade de fazer isso.You will likely want to use "All" for the transport protocol of the outbound rule, but you can also apply the outbound rule to a specific transport protocol as well if there is a need to do so.

Use o parâmetro a seguir para definir os protocolos TCP e UDP:Use the following parameter to set the protocol to TCP and UDP:

      "protocol": "All"

Desabilitar NAT de saída para uma regra de balanceamento de cargaDisable outbound NAT for a load balancing rule

Conforme mencionado anteriormente, as regras de balanceamento de carga fornecem programação automática da NAT de saída.As stated previously, load balancing rules provide automatic programming of outbound NAT. No entanto, alguns cenários se beneficiam ou exigem que você desabilite a programação automática de NAT de saída pela regra de balanceamento de carga para permitir que você controle ou refine o comportamento.However, some scenarios benefit or require you to disable the automatic programming of outbound NAT by the load balancing rule to allow you to control or refine the behavior. Regras de saída têm cenários em que é importante interromper a programação automática de NAT de saída.Outbound rules have scenarios where it is important to stop the automatic outbound NAT programming.

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

  • Supressão opcional do uso do endereço IP de entrada para NAT de saída.Optional suppression of using the inbound IP address for outbound NAT. Regras de saída são incrementais para as regras de balanceamento de carga e, com esse conjunto de parâmetros, a regra de saída está no controle.Outbound rules are incremental to load balancing rules and with this parameter set, the outbound rule is in control.

  • Ajuste os parâmetros NAT de saída de um endereço IP usado para entrada e saída simultaneamente.Tune the outbound NAT parameters of an IP address used for inbound and outbound simultaneously. A programação automática NAT de saída deve ser desabilitada para permitir que uma regra de saída assuma o controle.The automatic outbound NAT programming must be disabled to allow an outbound rule to take control. Por exemplo, para alterar a alocação de porta SNAT de um endereço também usado para entrada, esse parâmetro deverá ser definido como true.For example, in order to change the SNAT port allocation of an address also used for inbound, this parameter must be set to true. Se você tentar usar uma regra de saída para redefinir os parâmetros de um endereço IP também usado para entrada e não tiver liberado a programação NAT de saída da regra de balanceamento de carga, a operação de configurar uma regra de saída falhará.If you attempt to use an outbound rule to redefine the parameters of an IP address also used for inbound and have not released outbound NAT programming of the load balancing rule, the operation to configure an outbound rule will fail.

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 ou cenário de IP público em nível de instância 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 (or instance-level public IP scenario 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.

Você pode desabilitar a saída SNAT na regra com este parâmetro de configuração de balanceamento de carga:You can disable outbound SNAT on the load balancing rule with this configuration parameter:

      "loadBalancingRules": [
        {
          "disableOutboundSnat": true
        }
      ]

O parâmetro disableOutboundSNAT padrão é false, o que significa que a regra de balanceamento de carga de fato fornece NAT de saída automático como uma imagem espelhada da configuração da regra de balanceamento de carga.The disableOutboundSNAT parameter defaults to false, which means the load balancing rule does provide automatic outbound NAT as a mirror image of the load balancing rule configuration.

Se você definir disableOutboundSnat como true na regra de balanceamento de carga, a regra de balanceamento de carga devolverá o controle da programação de NAT de saída caso contrário, automática.If you set disableOutboundSnat to true on the load balancing rule, the load balancing rule releases control of the otherwise automatic outbound NAT programming. SNAT de saída como resultado da regra de balanceamento de carga está desabilitado.Outbound SNAT as a result of the load balancing rule is disabled.

Reutilizar pools de back-end existentes ou definir novosReuse existing or define new backend pools

Regras de saída não introduzem um novo conceito para definir o grupo de VMs para o qual a regra deve ser aplicada.Outbound rules do not introduce a new concept for defining the group of VMs to which the rule should apply. Em vez disso, elas reutilizam o conceito de um pool de back-end que também é usado para regras de balanceamento de carga.Instead, they reuse the concept of a backend pool, which is also used for load balancing rules. Você pode usar isso para simplificar a configuração, seja reutilizando uma definição de pool de back-end existente ou criando um especificamente para uma regra de saída.You can use this to simplify the configuration by either reusing an existing backend pool definition or creating one specifically for an outbound rule.

CenáriosScenarios

Limpar conexões de saída para um conjunto específico de endereços IP públicosGroom outbound connections to a specific set of public IP addresses

Você pode usar uma regra de saída para limpar conexões de saída para que pareçam originarem-se de um conjunto específico de endereços IP públicos para facilitar cenários de colocação na lista de permissões.You can use an outbound rule to groom outbound connections to appear to originate from a specific set of public IP addresses to ease whitelisting scenarios. Esse endereço IP público de origem pode ser o mesmo usado por uma regra de balanceamento de carga ou um conjunto diferente de endereços IP públicos do que os usados por uma regra de balanceamento de carga.This source public IP address can be the same as used by a load balancing rule or a different set of public IP addresses than used by a load balancing rule.

  1. Crie prefixo de IP público (ou endereços IP públicos usando o prefixo de IP público)Create public IP prefix (or public IP addresses from public IP prefix)
  2. Criar um Load Balancer Standard públicoCreate a public Standard Load Balancer
  3. Crie front-ends fazendo referência ao prefixo de IP público (ou endereços IP público) que deseja usarCreate frontends referencing the public IP prefix (or public IP addresses) 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 Load Balancer 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 Load Balancer público para programar NAT de saída para essas VMs usando os front-endsConfigure an outbound rule on the public Load Balancer to program outbound NAT for these VMs using the frontends

Se não desejar que a regra de balanceamento de carga seja usada para saída, precisará desabilitar SNAT de saída na regra de balanceamento de carga.If you do not wish for the load balancing rule to be used for outbound, you need to disable outbound SNAT on the load balancing rule.

Modificar a alocação da porta SNATModify SNAT port allocation

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.

Por exemplo, se você tiver duas máquinas virtuais compartilhando um único endereço IP público para NAT de saída, poderá aumentar o número de portas SNAT alocadas das 1.024 portas padrão se estiver enfrentando esgotamento de SNAT.For example, if you have two virtual machines sharing a single public IP address for outbound NAT, you may wish to increase the number of SNAT ports allocated from the default 1024 ports if you are experiencing SNAT exhaustion. Cada endereço IP público pode contribuir com até 51.200 portas efêmeras.Each public IP address can contribute up to 51,200 ephemeral ports. Se você configurar uma regra de saída com um único front-end de endereço IP público, poderá distribuir um total de 51.200 portas SNAT para VMs no pool de back-end.If you configure an outbound rule with a single public IP address frontend, you can distribute a total of 51,200 SNAT ports to VMs in the backend pool. Para duas VMs, um máximo de 25.600 portas SNAT pode ser alocado com uma regra de saída (2 x 25.600 = 51.200).For two VMs, a maximum of 25,600 SNAT ports can be allocated with an outbound rule (2x 25,600 = 51,200).

Examine conexões de saída e os detalhes sobre como portas SNAT são alocadas e usadas.Review outbound connections and the details on how SNAT ports are allocated and used.

Habilitar apenas saídaEnable outbound only

Você pode usar um Standard Load Balancer público para fornecer NAT de saída a um grupo de VMs.You can use a public Standard Load Balancer to provide outbound NAT for a group of VMs. Nesse cenário, você pode usar uma regra de saída sozinha, sem a necessidade de todas as regras adicionais.In this scenario, you can use an outbound rule by itself, without the need for any additional rules.

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

Defina um Standard Load Balancer público, coloque as VMs no pool de back-end e configure uma regra de saída para programar NAT de saída e limpar as conexões de saída para originarem-se de um endereço IP público específico.Define a public Standard Load Balancer, place the VMs into the backend pool, and configure an outbound rule to program outbound NAT and groom the outbound connections to originate from a specific public IP address. Você também pode usar um prefixo IP público para simplificar a colocação da origem de conexões de saída em lista de permissões.You can also use a public IP prefix simplify white-listing the source of outbound connections.

  1. Crie um Standard Load Balancer público.Create a public Standard Load Balancer.
  2. Crie um pool de back-end e coloque as VMs em um pool de back-end do Load Balancer público.Create a backend pool and place the VMs into a backend pool of the public Load Balancer.
  3. Configure uma regra de saída no Load Balancer público para programar NAT de saída para essas VMs.Configure an outbound rule on the public Load Balancer to program outbound NAT for these VMs.

NAT de saída para cenários de Standard Load Balancer internoOutbound NAT for internal Standard Load Balancer scenarios

Ao usar um Standard Load Balancer interno, a NAT de saída não estará disponível até que uma conectividade de saída já tenha sido declarada.When using an internal Standard Load Balancer, outbound NAT is not available until outbound connectivity has been explicitly declared. Você pode definir a conectividade de saída ao usar uma regra de saída para criar a conectividade de saída para as VMs por trás de um Standard Load Balancer com essas etapas:You can define outbound connectivity using an outbound rule to create outbound connectivity for VMs behind an internal Standard Load Balancer with these steps:

  1. Crie um Standard Load Balancer público.Create a public Standard Load Balancer.
  2. Crie um pool de back-end e coloque as VMs em um pool de back-end do Load Balancer público, além do Load Balancer interno.Create a backend pool and place the VMs into a backend pool of the public Load Balancer in addition to the internal Load Balancer.
  3. Configure uma regra de saída no Load Balancer público para programar NAT de saída para essas VMs.Configure an outbound rule on the public Load Balancer to program outbound NAT for these VMs.

Habilitar protocolos TCP e UDP para NAT de saída com um Standard Load Balancer públicoEnable both TCP & UDP protocols for outbound NAT with a public Standard Load Balancer

  • Ao usar um Standard Load Balancer público, a programação de NAT de saída automática fornecida corresponde ao protocolo de transporte da regra de balanceamento de carga.When using a public Standard Load Balancer, the automatic outbound NAT programming provided matches the transport protocol of the load balancing rule.

    1. Desabilite a 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 Load Balancer.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. Defina uma ou mais configurações de IP de front-end com endereços IP públicos ou prefixo IP público.Define one or more frontend IP configurations with public IP address(es) or public IP prefix.
    3. Configure uma regra de saída no mesmo Load Balancer.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

LimitaçõesLimitations

  • O número máximo de portas efêmeras utilizáveis por endereço IP de front-end é 51.200.The maximum number of usable ephemeral ports per frontend IP address is 51,200.
  • 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 Load Balancer não dá suporte a ICMP para NAT de saída.Load Balancer does not support ICMP for outbound NAT.
  • O portal não pode ser usado para configurar ou exibir as regras de saída.Portal cannot be used to configure or view outbound rules. Em vez disso, use modelos, API REST, Az CLI 2.0 ou PowerShell.Use templates, REST API, Az CLI 2.0, or PowerShell instead.
  • Regras de saída só podem ser aplicadas ao NIC primário e à configuração de IP primária.Outbound rules can only be applied to the primary NIC and primary IP configuration.

Próximas etapasNext steps