Configura el balanceo de cargas TCP/UDP interno para dispositivos de terceros

En esta guía se usa un ejemplo para enseñarte a configurar un balanceador de cargas TCP/UDP interno de Google Cloud Platform para que sea el siguiente salto. Antes de seguir esta guía, familiarízate con los siguientes conceptos:

Permisos

Para seguir esta guía, debes crear instancias y modificar una red en un proyecto. Debes ser propietario o editor de un proyecto o tener todas las siguientes funciones de IAM de Compute Engine:

Tarea Función requerida
Crear redes, subredes y componentes del balanceador de cargas. Administrador de la red
Agregar y quitar reglas de firewall Administrador de seguridad
Crear instancias Administrador de instancias

Configuración

En esta guía se muestra cómo usar un balanceador de cargas TCP/UDP interno como el siguiente salto para una ruta estática personalizada a fin de integrar dispositivos virtuales de escalamiento horizontal.

La solución que se analiza en esta guía integra dispositivos virtuales para que no tengas que volver a configurar de forma explícita tus clientes a fin de enviar tráfico a cada dispositivo virtual. En el ejemplo en esta guía de configuración, se envía todo el tráfico este-oeste a través de un conjunto de dispositivos virtuales de firewall con balanceo de cargas.

En los pasos de esta sección, se describe cómo configurar los siguientes recursos:

  • Redes de VPC de muestra y subredes personalizadas
  • Reglas de firewall de GCP que permiten conexiones entrantes a las VM de backend
  • Una ruta estática personalizada
  • Una VM cliente para probar conexiones
  • Los siguientes componentes del balanceador de cargas TCP/UDP interno:
    • VM de backend en un grupo de instancias administrado
    • Una verificación de estado de los dispositivos de VM de backend
    • Un servicio de backend interno en la región us-west1 para administrar la distribución de conexiones entre las VM de backend
    • Una regla de reenvío interno y una dirección IP interna para el frontend del balanceador de cargas

En un nivel superior, la topología se ve de la siguiente manera:

Ejemplo de siguiente salto este-oeste para el balanceo de cargas TCP/UDP interno (haz clic para ampliar)
Ejemplo de siguiente salto este-oeste para el balanceo de cargas TCP/UDP interno (haz clic para ampliar)

En el diagrama se muestran algunos de los recursos que crea el ejemplo:

  • Instancias de la aplicación (en este caso, VM que ejecutan el software del dispositivo de firewall) detrás de un balanceador de cargas TCP/UDP interno (fr-ilb, en este ejemplo). Las instancias de la aplicación solo tienen direcciones IP internas (RFC 1918).
  • Cada instancia de aplicación tiene su marca [can-ip-forward](/vpc/docs/using-routes#canipforward) habilitada. Esto se debe a que, de manera predeterminada, cada VM de Compute Engine envía solo los paquetes que la VM origina, lo que significa que, de manera predeterminada, la dirección IP de origen del paquete coincide con una de las direcciones IP de la VM. La configuración de can-ip-forward permite que las instancias de la aplicación reenvíen paquetes que otro nodo originó.
  • Una ruta estática personalizada con destino 10.50.1.0/24 y el siguiente salto establecidos en la regla de reenvío del balanceador de cargas, fr-ilb.

El diagrama también muestra el flujo de tráfico:

  • El tráfico Wgeb se envía a la subred con 10.50.1.0/24 como el rango de IP principal en la red de VPC de producción; el tráfico se enruta a través del balanceador de cargas.
  • El balanceador de cargas reenvía el tráfico a una de las instancias de la aplicación según la afinidad de sesión configurada. (La afinidad de sesión solo afecta el tráfico de TCP).
  • La instancia de la aplicación realiza la traslación de direcciones de red de origen (SNAT) para entregar paquetes al grupo de instancias en la red de VPC de production. Para el tráfico de retorno, realiza la traslación de direcciones de red de destino (DNAT) para entregar paquetes a la instancia de cliente en la red de VPC de transit.

Para casos prácticos adicionales, consulta Balanceador de cargas TCP/UDP interno como conceptos del siguiente salto.

En el siguiente diagrama, se proporciona una representación más detallada de los recursos de balanceo de cargas y la topología de herramientas de redes:

Ejemplo de siguiente salto este-oeste para el balanceo de cargas TCP/UDP interno (haz clic para ampliar)
Ejemplo de siguiente salto este-oeste para el balanceo de cargas TCP/UDP interno (haz clic para ampliar)

Configura redes, regiones y subredes

En este ejemplo, se usan las siguientes redes de VPC, regiones y subredes:

  • Redes: En este ejemplo se requieren dos redes, cada una con al menos una subred. Cada VM de dispositivo de terceros de backend debe tener al menos dos interfaces de red, una en cada red de VPC. En este ejemplo, las redes son redes de VPC en modo personalizado denominadas transit y production. En este ejemplo, la red de transit contiene el cliente y el balanceador de cargas. La red de production contiene la VM de destino.

  • Región: Las subredes se encuentran en la región us-west1. Las subredes deben estar en la misma región porque las instancias de VM son recursos zonales.

  • Subredes: Las subredes transit-subnet y production-subnet usan los rangos de direcciones IP principales 10.30.1.0/24 y 10.50.1.0/24, respectivamente.

Para crear las redes y las subredes de ejemplo, sigue estos pasos.

Console

Crea la red de transit y la transit-subnet:

  1. Ve a la página Redes de VPC en Google Cloud Platform Console.
    Ir a la página Red de VPC
  2. Haz clic en Crear red de VPC.
  3. Ingresa un Nombre de transit.
  4. En la sección Subredes:
    • Establece el modo de creación de subred como Personalizado.
    • En la sección Subred nueva, ingresa la siguiente información:
      • Nombre: transit-subnet
      • Región: us-west1
      • Rango de direcciones IP: 10.30.1.0/24
      • Haz clic en Listo.
  5. Haz clic en Crear.

Crea la red de production y la production-subnet:

  1. Ve a la página Redes de VPC en Google Cloud Platform Console.
    Ir a la página Red de VPC
  2. Haz clic en Crear red de VPC.
  3. Ingresa un Nombre de production.
  4. En la sección Subredes:
    • Establece el modo de creación de subred como Personalizado.
    • En la sección Subred nueva, ingresa la siguiente información:
      • Nombre: production-subnet
      • Región: us-west1
      • Rango de direcciones IP: 10.50.1.0/24
      • Haz clic en Listo.
  5. Haz clic en Crear.

gcloud

  1. Crea las redes de VPC personalizadas:

    gcloud compute networks create transit --subnet-mode=custom
    
    gcloud compute networks create production --subnet-mode=custom
    
  2. Crea subredes en las redes de transit y de production en la región us-west1:

    gcloud compute networks subnets create transit-subnet \
        --network=transit \
        --range=10.30.1.0/24 \
        --region=us-west1
    
    gcloud compute networks subnets create production-subnet \
        --network=production \
        --range=10.50.1.0/24 \
        --region=us-west1
    

Configurar las reglas de firewall

En este ejemplo, se usan las siguientes reglas de firewall:

  • fw-allow-transit-subnet: Una regla de entrada, aplicable a todos los destinos en la red de transit, que permite el tráfico de fuentes en los rangos 10.30.1.0/24. Esta regla permite que el cliente y los dispositivos de VM de terceros en la transit-subnet se comuniquen.

  • fw-allow-production-subnet: Una regla de entrada, aplicable a todos los destinos en la red de production, que permite el tráfico de fuentes en los rangos 10.50.1.0/24. Esta regla permite que los dispositivos de VM de terceros en la production-subnet y la VM de destino se comuniquen.

  • fw-allow-transit-ssh: Una regla de entrada aplicada a las instancias cuyas cargas se balancean, lo que permite la conectividad SSH entrante en el puerto TCP 22 desde cualquier dirección. Puedes elegir un rango de IP fuente más restrictivo para esta regla; por ejemplo, puedes especificar los rangos de IP de los sistemas desde los que planeas iniciar sesiones SSH. En este ejemplo se usa la etiqueta de destino allow-ssh para identificar las VM a las que se aplica la regla de firewall.

  • fw-allow-health-check: Una regla de entrada aplicable a los dispositivos de VM de terceros con balanceo de cargas, que permite el tráfico de los sistemas de verificación de estado de GCP (130.211.0.0/22 y 35.191.0.0/16). En este ejemplo se usa la etiqueta de destino allow-health-check para identificar las instancias a las que se debe aplicar.

Sin estas reglas de firewall, la regla de entrada predeterminada denegada bloquea el tráfico entrante a las instancias de backend. Debes crear una regla de firewall para permitir las verificaciones de estado de los rangos de IP de los sistemas de sondeo GCP. Consulta los rangos de IP de sondeo para obtener más información.

Console

  1. Ve a la página Reglas de firewall en Google Cloud Platform Console.
    Ir a la página Reglas de firewall
  2. Haz clic en Crear regla de firewall y, luego, ingresa la siguiente información para crear la regla a fin de permitir el tráfico de subred:
    • Nombre: fw-allow-transit-subnet
    • Red: transit
    • Prioridad: 1000
    • Dirección del tráfico: Entrada
    • Acción si hay coincidencia: Permitir
    • Objetivos: Todas las instancias de la red
    • Filtro de fuente: IP ranges
    • Rangos de IP de origen: 10.30.1.0/24
    • Protocolos y puertos: Permitir todos
  3. Haz clic en Crear.
  4. Haz clic en Crear regla de firewall y, luego, ingresa la siguiente información para crear la regla a fin de permitir el tráfico de subred:
    • Nombre: fw-allow-production-subnet
    • Red: production
    • Prioridad: 1000
    • Dirección del tráfico: Entrada
    • Acción si hay coincidencia: Permitir
    • Objetivos: Todas las instancias de la red
    • Filtro de fuente: IP ranges
    • Rangos de IP de origen: 10.50.1.0/24
    • Protocolos y puertos: Permitir todos
  5. Haz clic en Crear.
  6. Haz clic en Crear regla de firewall de nuevo para crear la regla que permite conexiones SSH entrantes:
    • Nombre: fw-allow-transit-ssh
    • Red: transit
    • Prioridad: 1000
    • Dirección del tráfico: Entrada
    • Acción si hay coincidencia: Permitir
    • Objetivos: Etiquetas de destino especificadas
    • Etiquetas de destino: allow-ssh
    • Filtro de fuente: IP ranges
    • Rangos de IP fuente: 0.0.0.0/0
    • Protocolos y puertos: Elige Protocolos y puertos especificados y escribe: tcp:22
  7. Haz clic en Crear.
  8. Haz clic en Crear regla de firewall por tercera vez a fin de crear la regla para permitir las verificaciones de estado de GCP:
    • Nombre: fw-allow-health-check
    • Red: transit
    • Prioridad: 1000
    • Dirección del tráfico: Entrada
    • Acción si hay coincidencia: Permitir
    • Objetivos: Etiquetas de destino especificadas
    • Etiquetas de destino: allow-health-check
    • Filtro de fuente: IP ranges
    • Rangos de IP fuente: 130.211.0.0/22 y 35.191.0.0/16
    • Protocolos y puertos: Permitir todos
  9. Haz clic en Crear.

gcloud

  1. Crea la regla de firewall fw-allow-transit-subnet para permitir la comunicación con la subred:

    gcloud compute firewall-rules create fw-allow-transit-subnet \
        --network=transit \
        --action=allow \
        --direction=ingress \
        --source-ranges=10.30.1.0/24 \
        --rules=tcp,udp,icmp
    
  2. Crea la regla de firewall fw-allow-production-subnet para permitir la comunicación con la subred:

    gcloud compute firewall-rules create fw-allow-production-subnet \
        --network=production \
        --action=allow \
        --direction=ingress \
        --source-ranges=10.50.1.0/24 \
        --rules=tcp,udp,icmp
    
  3. Crea la regla de firewall fw-allow-transit-ssh para permitir la conectividad SSH a las VM con la etiqueta de red allow-ssh. Cuando omites source-ranges, GCP interpreta que la regla significa cualquier fuente.

    gcloud compute firewall-rules create fw-allow-transit-ssh \
        --network=transit \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    
  4. Crea la regla fw-allow-health-check para permitir las verificaciones de estado de GCP a las VM de aplicaciones de terceros en la red transit.

    gcloud compute firewall-rules create fw-allow-transit-health-check \
        --network=transit \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp,udp,icmp
    

Crea la instancia de destino

En este ejemplo se crea una instancia de destino con la dirección IP 10.50.1.2 en la production-subnet (10.50.1.0/24) en la red de VPC de production.

Console

  1. Ve a la página Instancias de VM en Google Cloud Platform Console.
    Ir a la página Instancias de VM
  2. Para el Nombre de la VM, ingresa la destination-instance.
  3. Para la Región, elige us-west1 y us-west1-a para la Zona.
  4. En la sección Disco de arranque, asegúrate de que la imagen seleccionada sea Debian GNU/Linux 9 Stretch. Haz clic en Elegir para cambiar la imagen si es necesario.
  5. Haz clic en Administración, seguridad, discos, herramienta de redes, instancia única y realiza los siguientes cambios:

    • Haz clic en Herramientas de redes y agrega las siguientes etiquetas de red: allow-ssh
    • Haz clic en el botón Editar en Interfaces de red y realiza los siguientes cambios. Luego, haz clic en Listo:
      • Red: production
      • Subred: production-subnet
      • IP interna principal: Efímera (personalizada)
      • Dirección IP efímera personalizada: 10.50.1.2
      • IP externa: Efímera
    • Haz clic en Administración. En el campo de Secuencia de comandos de inicio, copia y pega el siguiente contenido de la secuencia de comandos. El contenido de secuencia de comandos es idéntico para las cuatro VM:

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://169.254.169.254/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
  6. Haz clic en Crear.

gcloud

  1. Para crear la VM, ejecuta el siguiente comando.

    gcloud compute instances create destination-instance \
        --zone=us-west1-a \
        --image-family=debian-9 \
        --image-project=debian-cloud \
        --tags=allow-ssh \
        --subnet=production-subnet \
        --private-network-ip 10.50.1.2 \
        --metadata=startup-script='#! /bin/bash
        apt-get update
        apt-get install apache2 -y
        a2ensite default-ssl
        a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://169.254.169.254/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        systemctl restart apache2'
    

Crea dispositivos virtuales de terceros

Los siguientes pasos demuestran cómo crear una plantilla de instancias y un grupo de instancias regional administrado con el software iptables como un dispositivo virtual de terceros.

Console

Debes usar gcloud para este paso porque tienes que crear una plantilla de instancias con más de una interfaz de red. En este momento, GCP Console no admite la creación de plantillas de instancias con más de una interfaz de red.

gcloud

  1. Crea una plantilla de instancias para tus dispositivos virtuales de terceros. La plantilla de instancias debe incluir la marca --can-ip-forward para que las instancias de VM creadas a partir de la plantilla puedan reenviar paquetes de otras instancias en las redes de transit y production.

    gcloud compute instance-templates create third-party-template \
        --region=us-west1 \
        --network-interface subnet=transit-subnet,address="" \
        --network-interface subnet=production-subnet \
        --tags=allow-ssh,allow-health-check \
        --image-family=debian-9 \
        --image-project=debian-cloud \
        --can-ip-forward \
        --metadata=startup-script='#! /bin/bash
        # Enable IP forwarding:
        echo 1 > /proc/sys/net/ipv4/ip_forward
        echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/20-iptables.conf
        # Read VM network configuration:
        md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
        md_net="$md_vm/network-interfaces"
        nic0_gw="$(curl -H "Metadata-Flavor:Google" $md_net/0/gateway)"
        nic0_mask="$(curl -H "Metadata-Flavor:Google" $md_net/0/subnetmask)"
        nic1_gw="$(curl -H "Metadata-Flavor:Google" $md_net/1/gateway)"
        nic1_mask="$(curl -H "Metadata-Flavor:Google" $md_net/1/subnetmask)"
        nic1_addr="$(curl -H "Metadata-Flavor:Google" $md_net/1/ip)"
        # Start iptables:
        /sbin/iptables -t nat -F
        /sbin/iptables -t nat -A POSTROUTING \
        -s "$nic0_gw/$nic0_mask" \
        -d "$nic1_gw/$nic1_mask" \
        -o eth1 \
        -j SNAT \
        --to-source "$nic1_addr"
        /sbin/iptables-save
        # Use a web server to pass the health check for this example.
        # You should use a more complete test in production.
        apt-get update
        apt-get install apache2 -y
        a2ensite default-ssl
        a2enmod ssl
        echo "Example web page to pass health check" | \
        tee /var/www/html/index.html
        systemctl restart apache2'
    
  2. Crea un grupo de instancias administrado para tus dispositivos virtuales de terceros. Este comando crea un grupo de instancias administrado regional, en el que luego se puede realizar un ajuste de escala automático en us-west1.

    gcloud compute instance-groups managed create third-party-instance-group \
        --region us-west1 \
        --template=third-party-template \
        --size=3
    

Crea los recursos de balanceo de cargas

Con estos pasos se configuran todos los componentes del balanceador de cargas TCP/UDP interno; se comienza con la verificación de estado y el servicio de backend y, luego, los componentes de frontend:

  • Verificación de estado: En este ejemplo, se utiliza la verificación de estado HTTP que busca una respuesta HTTP 200 (OK). Para obtener más información, consulta la sección de verificaciones de estado de la descripción general del balanceo de cargas TCP/UDP interno.

  • Servicio de backend: Aunque en este ejemplo el servicio de backend especifica el protocolo TCP, cuando el balanceador de cargas es el siguiente salto para una ruta, el tráfico de TCP y UDP se envía a los backends del balanceador de cargas.

  • Regla de reenvío: Aunque en este ejemplo la regla de reenvío especifica el puerto TCP 80, cuando el balanceador de cargas es el siguiente salto para una ruta, el tráfico en cualquier puerto TCP o UDP se envía a los backends del balanceador de cargas.

  • Dirección IP interna: En este ejemplo se especifica una dirección IP interna, 10.30.1.99, para la regla de reenvío.

Console

Crea el balanceador de cargas y configura un servicio de backend

  1. Ve a la página Balanceo de cargas de Google Cloud Platform Console.
    Ir a la página Balanceo de cargas
  2. Haz clic en Crear balanceador de cargas.
  3. En Balanceo de cargas TCP, haz clic en Iniciar configuración.
  4. En Orientado a Internet o solo interno, selecciona Solo entre mis VM.
  5. Haz clic en Continuar.
  6. Establece el Nombre en be-ilb.
  7. Haz clic en Configuración de backend y realiza los siguientes cambios:
    1. Región: us-west1
    2. Red: transit
    3. En Backends, en la sección Elemento nuevo, selecciona el grupo de instancias third-party-instance-group y haz clic en Listo.
    4. En Verificación de estado, elige Crear otra verificación de estado, ingresa la siguiente información y haz clic en Guardar y continuar:
      • Nombre: hc-http-80
      • Protocolo: HTTP
      • Puerto: 80
      • Protocolo de proxy: NONE
      • Ruta de solicitud: /
    5. Verifica que haya una marca de verificación azul junto a Configuración de backend antes de continuar. Si no, revisa este paso.
  8. Haz clic en Configuración de frontend. En la sección IP y puerto de frontend nuevos, realiza los siguientes cambios:
    1. Nombre: fr-ilb
    2. Subred: transit-subnet
    3. En IP interna, elige Reservar una dirección IP interna estática, ingresa la siguiente información y haz clic en Reservar:
      • Nombre: ip-ilb
      • Dirección IP estática: Permíteme elegir
      • Dirección IP personalizada: 10.30.1.99
    4. Puertos: Elige Individual y, luego, ingresa 80 para el Número de puerto. Recuerda que la elección de un protocolo y un puerto para el balanceador de cargas no limita los protocolos ni los puertos que se utilizan cuando el balanceador de cargas es el siguiente salto de una ruta.
    5. Verifica que haya una marca de verificación azul junto a Configuración de frontend antes de continuar. Si no, revisa este paso.
  9. Haz clic en Revisar y finalizar. Vuelve a verificar la configuración.
  10. Haz clic en Crear.

gcloud

  1. Crea una verificación de estado HTTP nueva para probar la conectividad TCP a las VM en 80.

    gcloud compute health-checks create http hc-http-80 \
        --port=80
    
  2. Crea un servicio de backend interno en la región us-west1.

    gcloud compute backend-services create be-ilb \
        --load-balancing-scheme=internal \
        --region=us-west1 \
        --health-checks=hc-http-80
    
  3. Agrega el grupo de instancias que contiene los dispositivos virtuales de terceros como un backend en el servicio de backend.

    gcloud compute backend-services add-backend be-ilb \
        --instance-group=third-party-instance-group \
        --instance-group-region=us-west1 \
        --region=us-west1
    
  4. Crea la regla de reenvío interno y conéctala al servicio de backend para completar la configuración del balanceador de cargas. Recuerda que el protocolo (TCP) y el puerto (80) del balanceador de cargas interno no limitan los puertos ni los protocolos que se envían a las instancias de backend (los dispositivos virtuales de terceros) cuando el balanceador de cargas se usa como el siguiente salto de una ruta.

    gcloud compute forwarding-rules create fr-ilb \
        --load-balancing-scheme=internal \
        --ports=80 \
        --network=transit \
        --subnet=transit-subnet \
        --region=us-west1 \
        --backend-service=be-ilb \
        --address=10.30.1.99
    

Crea la ruta estática que define el balanceador de cargas como el siguiente salto

Cuando creas una ruta estática, no puedes usar la next-hop-address para apuntar a la dirección IP de la regla de reenvío del balanceador de cargas. Esto se debe a que cuando utilizas la next-hop-address, GCP transfiere el tráfico a la instancia de VM asignada a esa dirección IP y un balanceador de cargas no es una instancia de VM. En cambio, si deseas designar un balanceador de cargas como el siguiente salto, debes usar la marca next-hop-ilb, como se muestra en este ejemplo.

Console

  1. Ve a la página Rutas en Google Cloud Platform Console.
    Ir a la página Rutas
  2. Haz clic en Crear ruta.
  3. Para el Nombre de la ruta, ingresa `ilb-nhop-default.
  4. Selecciona la red de transit.
  5. Para el Rango de IP de destino, ingresa 10.50.1.0/24.
  6. Asegúrate de que las etiquetas no estén especificadas, ya que no son compatibles con esta función.
  7. Para el Siguiente salto de la ruta, selecciona Especificar un balanceador de cargas TCP/UDP interno de la regla de reenvío.
  8. Para la región del siguiente salto, selecciona us-west1.
  9. Para el nombre de la regla de reenvío, selecciona fr-ilb.
  10. Haz clic en Crear.

gcloud

Crea una ruta avanzada con el siguiente salto establecido en la regla de reenvío del balanceador de cargas y el rango de destino establecido en la ruta 10.50.1.0/24.

gcloud beta compute routes create ilb-nhop-default \
    --network=transit \
    --destination-range=10.50.1.0/24 \
    --next-hop-ilb=fr-ilb \
    --next-hop-ilb-region=us-west1

Crea una VM cliente

En este ejemplo se crea una VM cliente (vm-client) en la misma región que el balanceador de cargas en la red de VPC de transit. El cliente se utiliza para demostrar cómo funciona el comportamiento del siguiente salto.

Console

  1. Ve a la página Instancias de VM en Google Cloud Platform Console.
    Ir a la página Instancias de VM
  2. Haz clic en Crear instancia.
  3. Establece el Nombre en vm-client.
  4. Establece la Zona en us-west1-a.
  5. Haz clic en Administración, seguridad, discos, herramienta de redes, instancia única y realiza los siguientes cambios:
    • Haz clic en Herramientas de redes y agrega allow-ssh a las Etiquetas de red.
    • Haz clic en el botón Editar en Interfaces de red y realiza los siguientes cambios. Luego, haz clic en Listo:
      • Red: transit
      • Subred: transit-subnet
      • IP interna principal: Efímera (automática)
      • IP externa: Efímera
  6. Haz clic en Crear.

gcloud

La VM cliente puede estar en cualquier zona de la misma región que el balanceador de cargas y puede usar cualquier subred en esa región. En este ejemplo el cliente se encuentra en la zona us-west1-a y usa la misma subred que las VM principales y de copia de seguridad.

gcloud compute instances create vm-client \
    --zone=us-west1-a \
    --image-family=debian-9 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=transit-subnet

Prueba

Esta prueba se comunica con la VM de destino de ejemplo en la red de VPC de production desde la VM cliente en la red de VPC de transit. El balanceador de cargas se usa como el siguiente salto porque enruta el paquete con el destino 10.50.1.2 través del balanceador de cargas, en lugar de enviarlo a la dirección IP del balanceador de cargas.

En este ejemplo el software iptables en las VM del dispositivo de backend en buen estado del balanceador de cargas procesa NAT para el paquete.

  1. Conéctate a la instancia de VM del cliente.

    gcloud compute ssh vm-client --zone=us-west1-a
    
  2. Realiza una solicitud web al software del servidor web de la instancia de destino mediante curl. El resultado esperado es el contenido de la página de índice en la instancia de destino (Page served from: destination-instance).

    curl http://10.50.1.2
    

Pasos siguientes