Configurar el equilibrio de carga y las reglas de salida en Standard Load Balancer mediante la CLI de AzureConfigure load balancing and outbound rules in Standard Load Balancer using Azure CLI

En este inicio rápido se muestra cómo configurar las reglas de salida en Standard Load Balancer con la CLI de Azure.This quickstart shows you how to configure outbound rules in Standard Load Balancer using Azure CLI.

Al terminar, el recurso de Load Balancer contiene dos servidores front-end y las reglas asociadas a estos: una de entrada y otra de salida.When you are done, the Load Balancer resource contains two frontends and rules associated with them: one for inbound and another for outbound. Cada front-end tiene una referencia a una dirección IP pública, y este escenario usa una dirección IP pública diferente para la entrada y la salida.Each frontend has a reference to a public IP address and this scenario uses a different public IP address for inbound versus outbound. La regla de equilibrio de carga proporciona solo equilibrio de carga de entrada y la regla de salida controla el proceso NAT de salida proporcionada para la máquina virtual.The load balancing rule provides only inbound load balancing and the outbound rule controls the outbound NAT provided for the VM. En esta guía de inicio rápido se usan dos grupos de back-end independientes, uno para la entrada y otro para salida, a fin de ilustrar las funcionalidades y permitir la flexibilidad para este escenario.This quickstart uses two separate backend pools, one for inbound and one for outbound, to illustrate capability and allow for flexibility for this scenario.

Uso de Azure Cloud ShellUse Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell le permite usar bash o PowerShell para trabajar con servicios de Azure.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Para iniciar Azure Cloud Shell:To launch Azure Cloud Shell:

OpciónOption Ejemplo o vínculoExample/Link
Seleccione Probarlo en la esquina superior derecha de un bloque de código.Select Try It in the upper-right corner of a code block. Solo con seleccionar Probar no se copia automáticamente el código en Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Ejemplo de Probarlo para Azure Cloud Shell
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Iniciar Cloud Shell en una nueva ventanaLaunch Cloud Shell in a new window
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Botón Cloud Shell en Azure Portal

Para ejecutar el código de este artículo en Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Inicie Cloud Shell.Launch Cloud Shell.

  2. Seleccione el botón Copiar de un bloque de código para copiar el código.Select the Copy button on a code block to copy the code.

  3. Pegue el código en la sesión de Cloud Shell con Ctrl+Mayús+V en Windows y Linux, o Cmd+Mayús+V en macOS.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Presione ENTRAR para ejecutar el código.Press Enter to run the code.

Si decide instalar y usar la CLI localmente, para este tutorial es preciso que ejecute la CLI de Azure versión 2.0.28 o versiones posteriores.If you choose to install and use the CLI locally, this tutorial requires that you are running a version of the Azure CLI version 2.0.28 or later. Para encontrar la versión, ejecute az --version.To find the version, run az --version. Si necesita instalarla o actualizarla, consulte Instalación de la CLI de Azure 2.0.If you need to install or upgrade, see Install Azure CLI 2.0.

Creación de un grupo de recursosCreate resource group

Cree un grupo de recursos con az group create.Create a resource group with az group create. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.An Azure resource group is a logical container into which Azure resources are deployed and managed.

En el ejemplo siguiente se crea un grupo de recursos denominado myresourcegroupoutbound en la ubicación eastus2:The following example creates a resource group named myresourcegroupoutbound in the eastus2 location:

  az group create \
    --name myresourcegroupoutbound \
    --location eastus2

Creación de una red virtualCreate virtual network

Cree una red virtual denominada myvnetoutbound con una subred llamada mysubnetoutbound en myresourcegroupoutbound con el comando az network vnet create.Create a virtual network named myvnetoutbound with a subnet named mysubnetoutbound in the myresourcegroupoutbound using az network vnet create.

  az network vnet create \
    --resource-group myresourcegroupoutbound \
    --name myvnetoutbound \
    --address-prefix 192.168.0.0/16 \
    --subnet-name mysubnetoutbound
    --subnet-prefix 192.168.0.0/24

Creación de una dirección IP pública de entradaCreate inbound Public IP address

Para obtener acceso a la aplicación web en Internet, necesita una dirección IP pública para el equilibrador de carga.To access your web app on the Internet, you need a public IP address for the load balancer. La versión Estándar de Load Balancer solo admite direcciones IP públicas estándar.A Standard Load Balancer only supports Standard Public IP addresses. Use az network public-ip create para crear una dirección IP pública estándar denominada mypublicipinbound en myresourcegroupoutbound.Use az network public-ip create to create a Standard Public IP address named mypublicipinbound in myresourcegroupoutbound.

  az network public-ip create --resource-group myresourcegroupoutbound --name mypublicipinbound --sku standard

Creación de una dirección IP pública de salidaCreate outbound public IP address

Cree una dirección IP estándar para el comando az network public-ip create de configuración de salida del front-end de Load Balancer.Create a Standard IP address for Load Balancer's frontend outbound configuration using az network public-ip create.

  az network public-ip create --resource-group myresourcegroupoutbound --name mypublicipoutbound --sku standard

Creación de una instancia de Azure Load BalancerCreate Azure Load Balancer

En esta sección se detalla cómo se pueden crear y configurar los componentes siguientes del equilibrador de carga:This section details how you can create and configure the following components of the load balancer:

  • Una dirección IP de front-end que recibe el tráfico de red entrante en el equilibrador de carga.A frontend IP that receives the incoming network traffic on the load balancer.
  • Un grupo de back-end al que la dirección IP de front-end envía el tráfico de red de carga equilibrada.A backend pool where the frontend IP sends the load balanced network traffic.
  • Un grupo de back-end para la conectividad de salida.A backend pool for outbound connectivity.
  • Un sondeo de estado que determina el estado de las instancias de máquina virtual de back-end.A health probe that determines health of the backend VM instances.
  • Una regla de entrada de equilibrador de carga que define cómo se distribuye el tráfico a las máquinas virtuales.A load balancer inbound rule that defines how traffic is distributed to the VMs.
  • Una regla de salida de equilibrador de carga que define cómo se distribuye el tráfico de las máquinas virtuales.A load balancer outbound rule that defines how traffic is distributed from the VMs.

Cree un equilibrador de cargaCreate Load Balancer

Use az network lb create para crear con la dirección IP de entrada una instancia de Load Balancer denominada lb que incluya una configuración de IP de front-end de entrada y un grupo de back-end bepoolinbound que esté asociado a la dirección IP pública mypublicipinbound que creó en el paso anterior.Create a Load Balancer with the inbound IP address using az network lb create named lb that includes an inbound frontend IP configuration and a backend pool bepoolinbound that is associated with the public IP address mypublicipinbound that you created in the preceding step.

  az network lb create \
    --resource-group myresourcegroupoutbound \
    --name lb \
    --sku standard \
    --backend-pool-name bepoolinbound \
    --frontend-ip-name myfrontendinbound \
    --location eastus2 \
    --public-ip-address mypublicipinbound   

Creación del grupo de salidaCreate outbound pool

Cree un grupo adicional de direcciones de back-end denominado bepooloutbound para definir la conectividad de salida para un grupo de máquinas virtuales con az network lb address-pool create.Create an additional backend address pool to define outbound connectivity for a pool of VMs with az network lb address-pool create with the name bepooloutbound. La creación de un grupo de salida independiente proporciona una flexibilidad máxima, pero también puede omitir este paso y usar solo el grupo bepoolinbound de entrada.Creating a separate outbound pool provides maximum flexibility, but you can omit this step and only use the inbound bepoolinbound as well.

  az network lb address-pool create \
    --resource-group myresourcegroupoutbound \
    --lb-name lb \
    --name bepooloutbound

Creación de una dirección IP de front-end de salidaCreate outbound frontend IP

Cree la configuración de IP de front-end de salida de Load Balancer con az network lb frontend-ip create que incluya una configuración de IP de front-end de salida denominada myfrontendoutbound, es decir que esté asociada a la dirección IP pública mypublicipoutboundCreate the outbound frontend IP configuration for the Load Balancer with az network lb frontend-ip create that includes and outbound frontend IP configuration named myfrontendoutbound that is associated to the public IP address mypublicipoutbound

  az network lb frontend-ip create \
    --resource-group myresourcegroupoutbound \
    --name myfrontendoutbound \
    --lb-name lb \
    --public-ip-address mypublicipoutbound 

Creación de un sondeo de estadoCreate health probe

Los sondeos de estado comprueban todas las instancias de máquina virtual para asegurarse de que pueden enviar tráfico de red.A health probe checks all virtual machine instances to make sure they can send network traffic. La instancia de máquina virtual con comprobaciones de sondeo incorrectas se elimina del equilibrador de carga hasta que vuelve a estar en línea y una comprobación de sondeo determina que es correcta.The virtual machine instance with failed probe checks is removed from the load balancer until it goes back online and a probe check determines that it's healthy. Cree un sondeo de estado con az network lb probe create para supervisar el estado de las máquinas virtuales.Create a health probe with az network lb probe create to monitor the health of the virtual machines.

  az network lb probe create \
    --resource-group myresourcegroupoutbound \
    --lb-name lb \
    --name http \
    --protocol http \
    --port 80 \
    --path /  

Creación de una regla de equilibrio de cargaCreate load balancing rule

Una regla de equilibrador de carga define la configuración de la dirección IP de front-end para el tráfico entrante y el grupo de back-end para recibir el tráfico, junto con los puertos de origen y destino requeridos.A load balancer rule defines the frontend IP configuration for the incoming traffic and the backend pool to receive the traffic, along with the required source and destination port. Cree una regla de equilibrador de carga myinboundlbrule con az network lb rule create para escuchar el puerto 80 en el grupo de servidores front-end myfrontendinbound y enviar tráfico de red con equilibrio de carga al conjunto de direcciones de back-end bepool, que también usan el puerto 80.Create a load balancer rule myinboundlbrule with az network lb rule create for listening to port 80 in the frontend pool myfrontendinbound and sending load-balanced network traffic to the backend address pool bepool also using port 80.

Nota

Esta regla de equilibrio de carga deshabilita la (S)NAT de salida automática como resultado de esta regla con el parámetro --disable-outbound-snat.This load balancing rule disables automatic outbound (S)NAT as a result of this rule with the --disable-outbound-snat parameter. La NAT de salida solo la proporciona la regla de salida.Outbound NAT is only provided by the outbound rule.

az network lb rule create \
--resource-group myresourcegroupoutbound \
--lb-name lb \
--name inboundlbrule \
--protocol tcp \
--frontend-port 80 \
--backend-port 80 \
--probe http \
--frontend-ip-name myfrontendinbound \
--backend-pool-name bepoolinbound \
--disable-outbound-snat

Creación de una regla de salidaCreate outbound rule

Una regla de salida define la IP pública de front-end, representada por el front-end myfrontendoutbound, que se usará para todo el tráfico NAT de salida, así como el grupo de back-end al que se aplica esta regla.An outbound rule defines the frontend public IP, represented by the frontend myfrontendoutbound, which will be used for all outbound NAT traffic as well as the backend pool to which this rule applies. Cree una regla de salida myoutboundrule para la traducción de red de salida de todas las máquinas virtuales (configuraciones de IP de la NIC) en el grupo de back-end bepool.Create an outbound rule myoutboundrule for outbound network translation of all virtual machines (NIC IP configurations) in bepool backend pool. El comando siguiente también cambia el tiempo de espera de inactividad de salida de 4 a 15 minutos y asigna puertos SNAT 10000 en lugar de 1024.The command below also changes the outbound idle timeout from 4 to 15 minutes and allocates 10000 SNAT ports instead of 1024. Consulte las reglas de salida para obtener más información.Review outbound rules for more details.

az network lb outbound-rule create \
 --resource-group myresourcegroupoutbound \
 --lb-name lb \
 --name outboundrule \
 --frontend-ip-configs myfrontendoutbound \
 --protocol All \
 --idle-timeout 15 \
 --outbound-ports 10000 \
 --address-pool bepooloutbound

Si no quiere usar un grupo de salida independiente, puede cambiar el argumento del grupo de direcciones en el comando anterior y especificar bepoolinbound.If you do not want to use a separate outbound pool, you can change the address pool argument in the preceding command to specify bepoolinbound instead. Se recomienda usar grupos independientes para garantizar la flexibilidad y la legibilidad de la configuración resultante.We recommend to use separate pools for flexibility and readability of the resulting configuration.

En este momento, puede agregar la máquina virtual al grupo de back-end bepool y bepooloutbound mediante la actualización de la configuración de IP de los recursos de la NIC correspondientes mediante az network nic ip-config address-pool add.At this point, you can proceed with adding your VM's to the backend pool bepoolinbound and bepooloutbound by updating the IP configuration of the respective NIC resources using az network nic ip-config address-pool add.

Limpieza de recursosClean up resources

Cuando ya no se necesiten, puede usar el comando az group delete para quitar el grupo de recursos, el equilibrador de carga y todos los recursos relacionados.When no longer needed, you can use the az group delete command to remove the resource group, load balancer, and all related resources.

  az group delete --name myresourcegroupoutbound

Pasos siguientesNext steps

En este artículo, creó su Standard Load Balancer, configuró ambas reglas de tráfico del equilibrador de carga de entrada, configuró las máquinas virtuales y las sometió a pruebas de sondeo en el grupo de back-end.In this article, you created Standard Load Balancer, configured both inbound load balancer traffic rules, configured and health probe for the VMs in the backend pool. Para más información acerca de Azure Load Balancer, diríjase a los tutoriales correspondientes.To learn more about Azure Load Balancer, continue to the tutorials for Azure Load Balancer.