Configura un balanceador de cargas de aplicaciones regional interno con un backend externo

En la guía, se muestra cómo configurar un balanceador de cargas de aplicaciones interno regional que transmite solicitudes a un backend externo. Un backend externo es un extremo externo a Google Cloud.

Antes de seguir con esta guía, familiarízate con la documentación Descripción general de NEG de Internet, incluidas las limitaciones.

En el siguiente diagrama de arquitectura, se muestra un frontend regional interno del balanceador de cargas de aplicaciones con un backend externo.

Un balanceador de cargas de aplicaciones regional interno con un backend externo.
Figura 1. Un balanceador de cargas de aplicaciones regional interno con un backend externo (haz clic para ampliar).

Permisos

Para seguir esta guía, debes crear un NEG de Internet y crear o modificar un balanceador de cargas de aplicaciones en un proyecto. Debes ser propietario o editor (roles/owner o roles/editor) de proyecto o tener ambos de los siguientes roles de IAM de Compute Engine.

Tarea Función requerida
Crear y modificar componentes del balanceador de cargas Administrador de red de Compute
(roles/compute.networkAdmin)
Crear y modificar los NEG Administrador de instancias de Compute
(roles/compute.instanceAdmin)

Configura el entorno de backend externo fuera de Google Cloud

Para configurar tu entorno de backend externo, consulta las siguientes secciones.

Configura extremos de red

Configura un extremo de red para exponer tu backend externo a Google Cloud. Asegúrate de que se pueda acceder al extremo a través de Internet, ya sea una combinación de IP:Port o un nombre de dominio completamente calificado (FQDN) y un puerto. Luego, se hace referencia a este extremo desde el NEG de Internet.

A fin de obtener información sobre los requisitos de configuración detallados para los extremos de NEG de Internet, consulta Descripción general de los NEG de Internet.

Permite que el backend externo reciba tráfico de Google Cloud

Este paso se puede completar después de crear la subred de solo proxy y configurar la puerta de enlace de Cloud NAT.

Para permitir que las solicitudes de Google Cloud lleguen a tu backend externo, debes realizar los siguientes pasos:

  1. Configura una puerta de enlace de Cloud NAT con direcciones IP que se usen para el tráfico de salida de Google Cloud. La puerta de enlace asigna el rango de subred de solo proxy a las direcciones IP externas. Para conocer los pasos, consulta Configura una puerta de enlace de Cloud NAT.
  2. Asegúrate de que el entorno de backend externo esté configurado para permitir que el tráfico de Google Cloud llegue al backend externo. Por ejemplo, si usaste direcciones IP reservadas con anterioridad para la puerta de enlace de NAT, deberás incluir en la lista de entidades permitidas esas direcciones IP en tu entorno externo. Es probable que debas trabajar con el administrador de red o de seguridad de tu entorno externo para configurar esto.

Configura tu entorno de Google Cloud

Necesitarás una red de VPC con dos subredes: una para los componentes del balanceador de cargas y la otra para la subred de solo proxy de la región. Luego, crearás el balanceador de cargas con un backend de NEG de Internet.

Crea la red y la subred de VPC

Esta subred se usa para crear los componentes del balanceador de cargas.

Consola de Cloud

  1. En la consola de Google  Cloud, ve a la página Redes de VPC.
    Ir a las redes de VPC
  2. Haz clic en Crear red de VPC.
  3. Ingresa un Nombre: LB_NETWORK
  4. En la sección Subredes, haz lo siguiente:
    • Establece Modo de creación de subred en Personalizado.
    • En la sección Nueva subred, ingresa la siguiente información:
      • Nombre: LB_SUBNET_NAME
      • Región: REGION
      • Rangos de direcciones IP: LB_SUBNET_RANGE
    • Haz clic en Listo.
  5. Haz clic en Crear.

gcloud

  1. Crea la red de VPC personalizada con el comando gcloud compute networks create:

    gcloud compute networks create LB_NETWORK \
      --subnet-mode=custom
    
  2. Crea una subred en la red LB_NETWORK.

    gcloud compute networks subnets create LB_SUBNET_NAME \
      --network=LB_NETWORK \
      --range=LB_SUBNET_RANGE \
      --region=REGION
    

Configura la subred de solo proxy

Todos los balanceadores de cargas regionales basados en Envoy en la región REGION usan esta subred de solo proxy.

Console

  1. En la consola de Google  Cloud, ve a la página Redes de VPC.
    Ir a las redes de VPC
  2. Selecciona una red de la lista.
  3. Haz clic en Agregar subred.
  4. Ingresa un Nombre: PROXY_ONLY_SUBNET_NAME
  5. Selecciona una región: REGION
  6. Configura Propósito como Proxy administrado regional.
  7. Ingresa un Rango de direcciones IP: PROXY_ONLY_SUBNET_RANGE.
  8. Haz clic en Agregar.

gcloud

Crea la subred de solo proxy con el comando gcloud compute networks subnets create.

gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=REGION \
  --network=LB_NETWORK \
  --range=PROXY_ONLY_SUBNET_RANGE

Configura una puerta de enlace de Cloud NAT

Antes de configurar la puerta de enlace de Cloud NAT, asegúrate de haber revisado las limitaciones y las consideraciones de precios asociadas. Para obtener más detalles, consulta NEG regionales: Usa una puerta de enlace de Cloud NAT.

Los siguientes comandos describen cómo configurar una puerta de enlace de Cloud NAT. La puerta de enlace de Cloud NAT se puede configurar para usar direcciones IP externas automáticas de NAT, en las que la asignación se basa en la demanda, o bien para usar un conjunto de direcciones IP externas reservadas de forma manual. La puerta de enlace asigna el rango de subred de solo proxy a las direcciones IP externas.

Configura direcciones IP con NAT asignadas automáticamente

Cuando creas una puerta de enlace de Cloud NAT con la asignación de dirección IP de NAT automática, puedes especificar los niveles de servicio de red (nivel Premium o Estándar) desde los que la puerta de enlace de Cloud NAT asigna las direcciones IP.

Console

  1. En la consola de Google Cloud, ve a la página de Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en Comenzar o Crear la puerta de enlace de Cloud NAT.

  3. Ingresa un nombre de puerta de enlace LB_NAT_CONFIG.

  4. Para Tipo de NAT, seleccionaPública.

  5. En la lista Red, selecciona LB_NETWORK.

  6. En la lista Región, selecciona REGION.

  7. Crea un Cloud Router en la región.

  8. En Tipo de extremo de origen, selecciona Balanceadores de cargas de proxy administrados.

  9. En la lista Origen, selecciona Personalizado.

    • En Subredes, selecciona PROXY_ONLY_SUBNET_NAME.
  10. En la lista Direcciones IP de Cloud NAT, selecciona Automáticas (recomendado).

  11. En Nivel de servicio de red, elige Premium o Estándar.

  12. Haz clic en Crear.

gcloud

Usa direcciones IP asignadas de forma dinámica si tu entorno de backend externo no requiere que incluyas direcciones IP específicas de Google Cloud en la lista de entidades permitidas que puedan enviar tráfico al backend externo.

  1. Crea un Cloud Router:

    gcloud beta compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  2. Configura la puerta de enlace de Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --auto-allocate-nat-external-ips \
      --region=REGION
    

Reemplaza lo siguiente:

  • LB_NAT_CONFIG: Es el nombre de tu configuración de NAT.

  • ROUTER_NAME: Es el nombre de tu Cloud Router.

  • REGION: la región de la NAT que se creará. Si no se especifica, es posible que se te solicite seleccionar una región (solo modo interactivo).

  • PROXY_ONLY_SUBNET_NAME: El nombre de tu subred de solo proxy.

Configura direcciones IP asignadas manualmente

Usa direcciones IP asignadas de forma manual solo si el entorno de backend externo requiere que uses una lista de entidades permitidas para direcciones IP de Google Cloud específicas. Si el entorno de backend externo no necesita una lista de entidades permitidas, usa la asignación dinámica como se mostró antes.

Cuando creas una puerta de enlace de Cloud NAT, puedes asignar direcciones IP de NAT de forma manual desde el nivel Premium, el nivel Estándar o ambos, sujetas a ciertas condiciones.

Console

  1. En la consola de Google Cloud, ve a la página de Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en Comenzar o Crear la puerta de enlace de Cloud NAT.

  3. Ingresa un nombre de puerta de enlace LB_NAT_CONFIG.

  4. En la lista Red, selecciona LB_NETWORK.

  5. En la lista Región, selecciona REGION.

  6. Selecciona o crea un Cloud Router en la región.

  7. En Tipo de extremo de origen, selecciona Balanceadores de cargas de proxy administrados.

  8. En la lista Origen, selecciona Personalizado.

    • En Subredes, selecciona PROXY_ONLY_SUBNET_NAME.
  9. En la lista Direcciones IP de Cloud NAT, selecciona Manuales.

  10. En Nivel de servicio de red, elige Premium o Estándar.

  11. Selecciona o crea una dirección IP externa reservada estática para usar en NAT.

  12. Si quieres especificar direcciones IP adicionales, haz clic en Agregar dirección IP y, luego, selecciona o crea una dirección IP externa reservada estática adicional.

  13. Haz clic en Crear.

gcloud

  1. Crea las direcciones IP. Debido a que la puerta de enlace realiza la traducción de NAT uno a uno, debes asegurarte de que el grupo de direcciones IP reservadas sea lo suficientemente grande como para manejar la cantidad de tráfico que esperas. Las direcciones IP de NAT asignadas de manera insuficiente podrían provocar la pérdida de tráfico.

    gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    
  2. Crea un Cloud Router:

    gcloud compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  3. Configura la puerta de enlace de Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    

    Reemplaza lo siguiente:

  • LB_NAT_CONFIG: Es el nombre de tu configuración de NAT.

  • ROUTER_NAME: Es el nombre de tu Cloud Router.

  • PROXY_ONLY_SUBNET_NAME: El nombre de tu subred de solo proxy.

  • REGION: la región de la NAT que se creará. Si no se especifica, es posible que se te solicite seleccionar una región (solo modo interactivo).

Si deseas obtener más información, consulta Especifica los rangos de subred para NAT en la documentación de Cloud NAT.

Asegúrate de usar una lista de entidades permitidas para los rangos de direcciones IP de NAT en tu entorno de backend externo, de modo que tu backend externo pueda recibir tráfico de Google Cloud.

Reserva la dirección IP del balanceador de cargas

Reserva una dirección IP interna para el balanceador de cargas.

Console

Puedes reservar una dirección IP interna independiente con la consola de Google Cloud.

  1. Ir a la página de redes de VPC

    Ir a las redes de VPC

  2. Haz clic en la red que se usó para configurar la conectividad híbrida entre los entornos.
  3. Haz clic en Direcciones IP internas estáticas y, luego, en Reservar dirección estática.
  4. Ingresa un Nombre: LB_IP_ADDRESS
  5. En Subred, selecciona LB_SUBNET_NAME.
  6. Si deseas especificar qué dirección IP deseas reservar, en Dirección IP estática, selecciona Permitirme elegir y, luego, completa una Dirección IP personalizada. De lo contrario, el sistema asignará de forma automática una dirección IP en la subred.
  7. Si deseas usar esta dirección IP con varias reglas de reenvío, en Propósito, elige Compartido.
  8. Haz clic en Reservar para finalizar el proceso.

gcloud

  1. Con la CLI de gcloud, ejecuta el comando compute addresses create:

    gcloud compute addresses create LB_IP_ADDRESS \
      --region=REGION \
      --subnet=LB_SUBNET_NAME
    
  2. Usa el comando compute addresses describe para ver la dirección IP asignada:

    gcloud compute addresses describe LB_IP_ADDRESS \
      --region=REGION
    

Configura el NEG de Internet

Puedes crear un NEG de Internet con extremos INTERNET_FQDN_PORT o INTERNET_IP_PORT.

Console

Crea un NEG con extremos INTERNET_FQDN_PORT

  1. En la consola de Google Cloud, ve a la página Grupo de extremos de red.

    Ir al grupo de extremos de red

  2. Haz clic en Crear un grupo de extremos de red.

  3. Especifica un INTERNET_NEG_NAME para tu NEG de Internet. Para obtener más información, consulta Convención de asignación de nombres de recursos.

  4. En la lista Tipo de grupo de extremos de red, selecciona Grupo de extremos de red (Internet) y, luego, haz lo siguiente:

    • En la lista Alcance, selecciona Regional.
    • Opcional: En la lista Región, cambia el REGION para este NEG.
    • En la lista Red, selecciona LB_NETWORK.
    • En el cuadro Puerto predeterminado, ingresa DEFAULT_PORT_NUMBER.
    • En la lista Agregar extremos a través de, selecciona Nombre y puerto de dominio completamente calificados.
  5. Selecciona Crear.

Agrega extremos INTERNET_FQDN_PORT al NEG

  1. En la consola de Google Cloud, ve a la página Grupo de extremos de red.

    Ir al grupo de extremos de red

  2. Haz clic en INTERNET_NEG_NAME.
  3. Ingresa el nombre de dominio completamente calificado, como myorg.example.com. Debes especificar los objetos de FQDN en la sintaxis de FQDN estándar.

  4. En Tipo de puerto, selecciona Personalizado. Si el Tipo de puerto es Default, se usa el puerto predeterminado del NEG.

  5. En el cuadro Número de puerto, ingresa PORT_NUMBER_1.
  6. Selecciona Crear.

Crea un NEG con extremos INTERNET_IP_PORT

  1. En la consola de Google Cloud, ve a la página Grupo de extremos de red.

    Ir al grupo de extremos de red

  2. Haz clic en Crear un grupo de extremos de red.

  3. Especifica un nombre para tu NEG de Internet INTERNET_NEG_NAME. Para obtener más información, consulta Convención de asignación de nombres de recursos.

  4. En la lista Tipo de grupo de extremos de red, selecciona Grupo de extremos de red (Internet) y, luego, haz lo siguiente:

    • En la lista Alcance, selecciona Regional.
    • Opcional: En la lista Región, cambia el REGION para este NEG.
    • En la lista Red, selecciona LB_NETWORK.
    • En el cuadro Puerto predeterminado, ingresa DEFAULT_PORT_NUMBER.
    • En la lista Agregar extremos a través de, selecciona IP y puerto.
  5. Selecciona Crear.

Agrega extremos INTERNET_IP_PORT al NEG

  1. En la consola de Google Cloud, ve a la página Grupo de extremos de red.

    Ir al grupo de extremos de red

  2. Haz clic en INTERNET_NEG_NAME.
  3. En el campo Dirección IP, ingresa IP_ADDRESS_1.
  4. Opcional: En la lista Tipo de puerto, selecciona Personalizado. Si el Tipo de puerto es Default, se usa el puerto predeterminado del NEG.

  5. En el campo Número de puerto, ingresa un PORT_NUMBER_1.
  6. Selecciona Crear.

gcloud

Para crear un NEG con extremos INTERNET_FQDN_PORT, haz lo siguiente:

  1. Crea el recurso de NEG.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_FQDN_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Agrega extremos al NEG. Si no se especifica un puerto, se usa el puerto predeterminado del NEG.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \
        [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Reemplaza lo siguiente:

    • FULLY_QUALIFIED_DOMAIN_NAME: es el nombre de dominio completamente calificado para el extremo.
    • PORT_NUMBER: es el número de puerto del el extremo.

    Puedes agregar hasta 256 extremos por NEG.

Si tu dominio se puede resolver en Internet, no se necesita ninguna otra configuración para configurar DNS. Sin embargo, si usas FQDN privados, deberás configurar Cloud DNS para facilitar la resolución de DNS. El nombre debe estar alojado en Cloud DNS o debe poder resolverse con el reenvío de DNS desde Cloud DNS a un DNS local.

Primero, crea una zona de Cloud DNS para alojar los registros DNS en tu proyecto. Luego, agrégale los registros DNS. Consulta la documentación de Cloud DNS para conocer los pasos de configuración específicos.

Para crear un NEG con extremos INTERNET_IP_PORT, haz lo siguiente:

  1. Crea el recurso de NEG.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_IP_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Agrega extremos al NEG. Si no se especifica un puerto, se usa el puerto predeterminado del NEG.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="ip=IP_ADDRESS_1,port=PORT_NUMBER_1" \
        [--add-endpoint="ip=IP_ADDRESS_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Reemplaza lo siguiente:

    • IP_ADDRESS: es la dirección IP del extremo.
    • PORT_NUMBER: es el número de puerto del el extremo.

    Puedes repetir este paso para agregar hasta 256 extremos por NEG.

Crea el balanceador de cargas

Console

Inicia la configuración

  1. En la consola de Google Cloud, ve a la página Balanceo de cargas.

    Ir a Balanceo de cargas

  2. Haz clic en Crear balanceador de cargas.
  3. En Tipo de balanceador de cargas, selecciona Balanceador de cargas de aplicaciones (HTTP/HTTPS) y haz clic en Siguiente.
  4. En Orientado al público o interno, selecciona Interno y haz clic en Siguiente.
  5. En Implementación entre regiones o de una sola región, selecciona Ideal para cargas de trabajo regionales y haz clic en Siguiente.
  6. Haz clic en Configurar.

Configuración básica

  1. Ingresa un nombre de balanceador de cargas.
  2. En Región, selecciona REGION.
  3. En Red, selecciona LB_NETWORK.

Reserva una subred de solo proxy

Sigue estos pasos para reservar una subred de solo proxy:

  1. Haz clic en Reservar subred.
  2. En Nombre, ingresa PROXY_ONLY_SUBNET_NAME.
  3. En Rango de direcciones IP, ingresa PROXY_ONLY_SUBNET_RANGE.
  4. Haz clic en Agregar.

Configuración de frontend

  1. Haz clic en Configuración de frontend.
  2. Ingresa un Nombre.
  3. En Subred, selecciona LB_SUBNET_NAME.
  4. Si quieres crear un balanceador de cargas HTTPS, debes tener un certificado SSL. Recomendamos que uses un certificado administrado por Google.

    Propiedad Valor (escribe un valor o selecciona una opción como se especifica)
    Protocolo HTTPS
    Versión de IP IPv4
    Dirección IP Selecciona la dirección IP reservada antes: LB_IP_ADDRESS.
    Puerto 443
    Certificado

    Selecciona un certificado SSL existente o crea uno nuevo.

    Si quieres crear un balanceador de cargas HTTPS , debes tener un recurso de certificado SSL para usar en el proxy HTTPS.

    Si quieres probar este proceso sin configurar un recurso de certificado SSL (o un dominio según lo requieren los certificados administrados por Google), puedes configurar un balanceador de cargas de HTTP.

    Para crear un balanceador de cargas HTTP, verifica que las siguientes opciones estén configuradas con estos valores:

    Propiedad Valor (escribe un valor o selecciona una opción como se especifica)
    Protocolo HTTP
    Versión de IP IPv4
    Dirección IP Selecciona la dirección IP reservada antes: LB_IP_ADDRESS.
    Puerto 80
  5. Haz clic en Listo.

Configuración de backend

  1. Haz clic en Configuración de backend.
  2. Haz clic en Servicios y buckets de backend.
  3. Haz clic en Crear un servicio de backend.
  4. Ingresa un nombre.
  5. En Tipo de backend, selecciona Grupo de extremos de red de Internet.
  6. Para configurar Protocolo, selecciona el protocolo que quieres usar desde el balanceador de cargas al NEG de Internet.
  7. En Backends, en la ventana Nuevo backend, selecciona el grupo de extremos de red de Internet regional que se creó en el paso anterior.
  8. Haz clic en Listo.
  9. Configura la verificación de estado:
    1. En Verificación de estado, seleccione Crear una verificación de estado.
    2. Establece el nombre de la verificación de estado como HTTP_HEALTH_CHECK_NAME.
    3. En Protocolo, selecciona HTTP.
    4. Configura el Puerto como 80.
  10. Haz clic en Crear.

Revisa y finaliza

  1. Haz clic en Revisar y finalizar.
  2. Si todo parece correcto, haz clic en Crear.

gcloud

  1. Crea una verificación de estado (opcional). Los sondeos de verificación de estado para backends externos usan las verificaciones de estado distribuidas de Envoy y, luego, se traducen por medio de NAT.
    gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    
  2. Crea un servicio de backend:
    gcloud compute backend-services create BACKEND_SERVICE \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --protocol=HTTP \
        --health-checks=HTTP_HEALTH_CHECK_NAME \
        --health-checks-region=REGION \
        --region=REGION
    
  3. Agrega el NEG de Internet al servicio de backend:
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --network-endpoint-group=INTERNET_NEG_NAME \
        --network-endpoint-group-region=REGION \
        --region=REGION
    
  4. Crea un mapa de URL para enrutar las solicitudes entrantes al servicio de backend:
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=BACKEND_SERVICE \
        --region=REGION
    
  5. Opcional: Realiza este paso si usas HTTPS entre el cliente y el balanceador de cargas. Este paso no es obligatorio para los balanceadores de cargas HTTP.

    Puedes crear certificados de Compute Engine o del Administrador de certificados. Usa cualquiera de los siguientes métodos para crear certificados con el Administrador de certificados:

    • Certificados autoadministrados regionales Para obtener información sobre cómo crear y usar certificados autoadministrados regionales, consulta Cómo implementar un certificado autoadministrado regional. No se admiten mapas de certificados.

    • Certificados regionales administrados por Google No se admiten mapas de certificados.

      El Administrador de certificados admite los siguientes tipos de certificados regionales administrados por Google:

    • Después de crear los certificados, adjúntalos directamente al proxy de destino.

      Si deseas crear un recurso de certificado SSL autoadministrado de Compute Engine, haz lo siguiente:
      gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
          --certificate CRT_FILE_PATH \
          --private-key KEY_FILE_PATH
      
    • Crea un proxy HTTP(S) de destino para enrutar las solicitudes al mapa de URL.

      Para un balanceador de cargas de HTTP, crea un proxy HTTP de destino:

      gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION
      

      Para un balanceador de cargas de HTTPS, crea un proxy HTTPS de destino. El proxy es la parte del balanceador de cargas que contiene el certificado SSL para el balanceo de cargas HTTPS, por lo que también debes cargar el certificado en este paso.

      gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
          --ssl-certificates=SSL_CERTIFICATE_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION
      
    • Crea una regla de reenvío para enrutar las solicitudes entrantes al proxy.

      Para un balanceador de cargas de HTTP, ingresa el siguiente comando:

      gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network-tier=PREMIUM \
          --network=LB_NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --target-http-proxy=TARGET_HTTP_PROXY_NAME \
          --target-http-proxy-region=REGION \
          --region=REGION \
          --ports=80
      

      Para un balanceador de cargas HTTPS, ingresa el siguiente comando:

      gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network-tier=PREMIUM \
          --network=LB_NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
          --target-http-proxy-region=REGION \
          --region=REGION \
          --ports=443
      

Conecta tu dominio al balanceador de cargas

Después de crear el balanceador de cargas, toma nota de la dirección IP asociada con este: por ejemplo, 30.90.80.100. Para apuntar tu dominio al balanceador de cargas, crea un registro A mediante tu servicio de registro de dominio. Si agregaste varios dominios a tu certificado SSL, debes agregar un registro A para cada uno, que apunte a la dirección IP del balanceador de cargas. Por ejemplo, para crear registros A para www.example.com y example.com, usa lo siguiente:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Si usas Cloud DNS como proveedor de DNS, consulta Agrega, modifica y borra registros.

Prueba el balanceador de cargas

Ahora que ya configuraste el balanceador de cargas, puedes comenzar a enviar tráfico a la dirección IP del balanceador de cargas.

Crea una VM de cliente

En este ejemplo, se crea una VM de cliente (vm-client) en la misma región que el balanceador de cargas. El cliente se usa para validar la configuración del balanceador de cargas y demostrar el comportamiento esperado.

gcloud

La VM de cliente puede estar en cualquier zona de la misma REGION que el balanceador de cargas y puede usar cualquier subred de la misma red de VPC.

gcloud compute instances create vm-client \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --network=LB_NETWORK \
    --subnet=LB_SUBNET_NAME \
    --zone=ZONE

Envía tráfico al balanceador de cargas

Es posible que la configuración del balanceador de cargas tarde unos minutos en propagarse a nivel global después de implementarla por primera vez.

  • Conectarse a la instancia de cliente a través de SSH

    gcloud compute ssh vm-client \
      --zone=ZONE
    
  • Verifica que el balanceador de cargas se conecte a la aplicación que ejecutas en el backend externo como se espera.

    Para las pruebas de HTTP, ejecuta este comando:

    curl IP_ADDRESS
    

    Para las pruebas de HTTPS, ejecuta lo siguiente:

    curl -k -s 'https://TEST_DOMAIN_URL:443' --connect-to TEST_DOMAIN_URL:443:IP_ADDRESS:443
    

    Reemplaza TEST_DOMAIN_URL por el dominio asociado a tu aplicación. Por ejemplo, test.example.com

    La marca -k hace que curl omita la validación del certificado.

Configuración adicional

En esta sección se expande el ejemplo de configuración para proporcionar opciones de configuración alternativas y adicionales. Todas las tareas son opcionales. Puedes realizarlas en cualquier orden.

Para habilitar aún más capacidades para el balanceador de cargas de aplicaciones interno regional, como el acceso global (si tus clientes están en una región diferente), consulta Configura un balanceador de cargas de aplicaciones interno con backends de grupos de instancias de VM: Configuración adicional.

Usa un encabezado personalizado para autenticar solicitudes

Para autenticar las solicitudes enviadas a tu backend externo, puedes configurar un encabezado personalizado que indique que la solicitud provino de un balanceador de cargas de Google Cloud. También deberás configurar el backend externo para que espere este encabezado personalizado en el tráfico proveniente de Google Cloud.

Para obtener información sobre cómo configurar encabezados personalizados, consulta Configura la administración avanzada del tráfico.

Para otros métodos de autenticación, consulta Autentica solicitudes al backend externo.

Actualiza el tiempo de espera de keepalive del HTTP del cliente

El balanceador de cargas creado en los pasos anteriores se configuró con un valor predeterminado para el tiempo de espera de keepalive de HTTP del cliente.

Para actualizar el tiempo de espera de keepalive del cliente HTTP, sigue las siguientes instrucciones.

Console

  1. En la consola de Google Cloud, ve a la página Balanceo de cargas.

    Ir a Balanceo de cargas

  2. Haz clic en el nombre del balanceador de cargas que deseas modificar.
  3. Haz clic en Editar.
  4. Haz clic en Configuración de frontend.
  5. Expande Funciones avanzadas. Para el tiempo de espera de keepalive de HTTP, ingresa un valor de tiempo de espera.
  6. Haz clic en Actualizar.
  7. Para revisar los cambios, haz clic en Revisar y finalizar y, luego, haz clic en Actualizar.

gcloud

Para un balanceador de cargas de HTTP, actualiza el proxy HTTP de destino con el comando gcloud compute target-http-proxies update.

      gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \
         --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
         --region=REGION
      

Para un balanceador de cargas de HTTPS, actualiza el proxy HTTPS de destino con el comando gcloud compute target-https-proxies update.

      gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \
         --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
         --region REGION
      

Reemplaza lo siguiente:

  • TARGET_HTTP_PROXY_NAME: el nombre del proxy HTTP de destino.
  • TARGET_HTTPS_PROXY_NAME: el nombre del proxy HTTPS de destino.
  • HTTP_KEEP_ALIVE_TIMEOUT_SEC: El valor de tiempo de espera de keepalive de HTTP de 5 a 600 segundos.

¿Qué sigue?