Configurar un balanceador de carga de aplicación externo regional con un backend externo

En esta guía se explica cómo configurar un balanceador de carga de aplicación externo regional que proxyice solicitudes a un backend externo. Un backend externo es un endpoint que es externo a Google Cloud.

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

En el siguiente diagrama de arquitectura se muestra un frontend de un balanceador de carga de aplicación externo regional con un backend externo.

Un balanceador de carga de aplicación externo regional con un backend externo.
Imagen 1. Balanceador de carga de aplicación externo regional con un backend externo (haz clic para ampliar).

Permisos

Para seguir esta guía, debe crear un NEG de Internet y crear o modificar un balanceador de carga de aplicaciones en un proyecto. Debes ser propietario o editor (roles/owner o roles/editor) de un proyecto, o bien tener los dos roles de gestión de identidades y accesos de Compute Engine que se indican a continuación.

Tarea Rol necesario
Crear y modificar componentes de balanceadores de carga Administrador de red de Compute
(roles/compute.networkAdmin)
Crear y modificar grupos de puntos de conexión de red Administrador de instancias de Compute
(roles/compute.instanceAdmin)

Configurar el entorno de backend externo fuera de Google Cloud

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

Configurar endpoints de red

Configura un endpoint de red para exponer tu backend externo aGoogle Cloud. Asegúrate de que se pueda acceder al endpoint (una combinación de IP y puerto, o un nombre de dominio completo y un puerto) a través de Internet. Este endpoint se referencia más adelante desde el NEG de Internet.

Para obtener información detallada sobre los requisitos de configuración de los endpoints de los NEGs de Internet, consulta la descripción general de los NEGs de Internet.

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

Puedes completar este paso después de crear la subred solo proxy y configurar la puerta de enlace Cloud NAT.

Para permitir que las solicitudes de Google Cloud lleguen a tu backend externo, debes seguir estos pasos:

  1. Configura una pasarela Cloud NAT con direcciones IP que se utilicen para el tráfico de salida de Google Cloud. La pasarela asigna el intervalo de subred solo proxy a las direcciones IP externas. Para ver los pasos, consulta Configurar una pasarela Cloud NAT.
  2. Asegúrate de que tu entorno de backend externo esté configurado para permitir que el tráfico de Google Cloud llegue al backend externo. Por ejemplo, si has usado direcciones IP reservadas previamente para la pasarela NAT, debes incluir esas direcciones IP en la lista de permitidas de tu entorno externo. Es probable que tengas que colaborar con el administrador de la red o de la seguridad de tu entorno externo para configurarlo.

Configurar el Google Cloud entorno

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

Crear la red VPC y la subred

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

consola de Cloud

  1. En la Google Cloud consola, ve a la página Redes de VPC.
    Ve a Redes de VPC.
  2. Haz clic en Crear red VPC.
  3. Escribe un nombre: LB_NETWORK.
  4. En la sección Subredes, haz lo siguiente:
    • Elige Personalizado en Modo de creación de subred.
    • En la sección Nueva subred, introduce la siguiente información:
      • Nombre: LB_SUBNET_NAME
      • Región: REGION
      • Intervalo 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
    

Configurar la subred de solo proxy

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

Consola

  1. En la Google Cloud consola, ve a la página Redes de VPC.
    Ve a Redes de VPC.
  2. Selecciona una red de la lista.
  3. Haz clic en Añadir subred.
  4. Escribe un nombre: PROXY_ONLY_SUBNET_NAME.
  5. Selecciona una región: REGION.
  6. En Propósito, selecciona Proxy gestionado regional.
  7. Introduce un intervalo de direcciones IP: PROXY_ONLY_SUBNET_RANGE.
  8. Haz clic en Añadir.

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

Configurar una pasarela de Cloud NAT

Antes de configurar la pasarela Cloud NAT, asegúrate de haber consultado las limitaciones asociadas y los precios. Para obtener más información, consulta NEGs regionales: usar una puerta de enlace Cloud NAT.

En los siguientes comandos se describe cómo configurar una pasarela Cloud NAT. La puerta de enlace Cloud NAT se puede configurar para usar direcciones IP externas NAT automáticas, en las que la asignación se basa en la demanda, o para usar un conjunto de direcciones IP externas reservadas manualmente. La pasarela asigna el intervalo de la subred de solo proxy a las direcciones IP externas.

Configurar direcciones IP asignadas de NAT automáticas

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

Consola

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

    Ir a Cloud NAT

  2. Haz clic en Empezar o en Crear pasarela de Cloud NAT.

  3. Introduce el nombre de la pasarela LB_NAT_CONFIG.

  4. En Tipo de NAT, selecciona Público.

  5. En la lista Red, selecciona LB_NETWORK.

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

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

  8. En Tipo de endpoint de origen, selecciona Balanceadores de carga de proxy gestionados.

  9. En la lista Fuente, selecciona Personalizada.

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

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

  12. Haz clic en Crear.

gcloud

Usa direcciones IP asignadas dinámicamente si tu entorno de backend externo no requiere que incluyas en una lista de permitidos direcciones IP específicas que puedan enviar tráfico al backend externo. Google Cloud

  1. Crea un router de Cloud Router:

    gcloud beta compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  2. Configura la pasarela 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
    

Haz los cambios siguientes:

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

  • ROUTER_NAME: el nombre de tu Cloud Router.

  • REGION: la región de la NAT que se va a crear. Si no se especifica, es posible que se te pida que selecciones una región (solo en modo interactivo).

  • PROXY_ONLY_SUBNET_NAME: el nombre de tu proxy solo subred.

Configurar direcciones IP asignadas manualmente

Usa direcciones IP asignadas manualmente solo si tu entorno de backend externo requiere que uses una lista de permitidos para direcciones IP específicas. Google Cloud Si el entorno backend externo no necesita una lista de permitidos, utilice la asignación dinámica como se ha mostrado anteriormente.

Cuando creas una pasarela Cloud NAT, puedes asignar manualmente direcciones IP de NAT de los niveles Premium o Estándar, o de ambos, siempre que se cumplan ciertas condiciones.

Consola

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

    Ir a Cloud NAT

  2. Haz clic en Empezar o en Crear pasarela de Cloud NAT.

  3. Introduce el nombre de la pasarela 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 endpoint de origen, selecciona Balanceadores de carga de proxy gestionados.

  8. En la lista Fuente, selecciona Personalizada.

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

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

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

  12. Si quieres especificar más direcciones IP, haz clic en Añadir dirección IP y, a continuación, selecciona o crea otra dirección IP externa estática reservada.

  13. Haz clic en Crear.

gcloud

  1. Crea las direcciones IP. Como la pasarela realiza una traducción NAT de uno a uno, debes asegurarte de que el conjunto de direcciones IP reservadas sea lo suficientemente grande para gestionar el volumen de tráfico que esperas. Si no se asignan suficientes direcciones IP de NAT, se puede perder tráfico.

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

    gcloud compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  3. Configura la pasarela 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
    

    Haz los cambios siguientes:

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

  • ROUTER_NAME: el nombre de tu Cloud Router.

  • PROXY_ONLY_SUBNET_NAME: el nombre de tu proxy solo subred.

  • REGION: la región de la NAT que se va a crear. Si no se especifica, es posible que se te pida que selecciones una región (solo en modo interactivo).

Configurar la asignación dinámica de puertos

Actualiza la pasarela de Cloud NAT para que use el modo de asignación dinámica de puertos y así poder usar todas las direcciones IP asignadas.

gcloud

  1. Actualiza la pasarela de Cloud NAT. Te recomendamos que definas el número mínimo de puertos en 2048 y el máximo en 4096.

    gcloud compute routers nats update LB_NAT_CONFIG \
        --router=ROUTER_NAME \
        --enable-dynamic-port-allocation \
        --min-ports-per-vm=MIN_PORTS_PER_VM \
        --max-ports-per-vm=MAX_PORTS_PER_VM \
        --region=REGION
    
  2. Comprueba que la asignación dinámica de puertos esté habilitada y que se hayan definido el número mínimo y máximo de puertos.

    gcloud compute routers nats describe LB_NAT_CONFIG \
         --router=ROUTER_NAME \
         --region=REGION
    

    El resultado debería ser similar al siguiente:

    enableDynamicPortAllocation: true
    enableEndpointIndependentMapping: false
    endpointTypes:
    ‐ ENDPOINT_TYPE_MANAGED_PROXY_LB
    logConfig:
      enable: true
      filter: ALL
    maxPortsPerVm: 4096
    minPortsPerVm: 2048
    name: LB_NAT_CONFIG
    natIpAllocateOption: MANUAL_ONLY
    natIps:
    ‐ https://www.googleapis.com/compute/projects/PROJECT_NAME/regions/REGION/addresses/ADDRESS
    sourceSubnetworkIpRangesToNat: ALL_SUBNETWORKS_ALL_IP_RANGES
    type: PUBLIC
    

Para obtener más información, consulta Especificar intervalos de subredes para NAT en la documentación de Cloud NAT.

Asegúrate de usar una lista de permitidos para los intervalos de direcciones IP de NAT en tu entorno de backend externo para que este pueda recibir tráfico de Google Cloud.

Reservar la dirección IP del balanceador de carga

Reserva una dirección IP estática para el balanceador de carga.

Consola

  1. En la Google Cloud consola, ve a la página Reservar una dirección estática.

    Ir a Reservar una dirección estática

  2. Elige un nombre para la nueva dirección.

  3. En Nivel de servicio de red, selecciona Estándar.

  4. En Versión de IP, selecciona IPv4. Las direcciones IPv6 solo pueden ser globales y solo se pueden usar con balanceadores de carga globales.

  5. En Type (Tipo), selecciona Regional (Regional).

  6. Selecciona una región.

  7. Deje la opción Adjunto a configurada como Ninguno. Una vez que hayas creado el balanceador de carga, esta dirección IP se adjuntará a la regla de reenvío del balanceador de carga.

  8. Haz clic en Reservar para reservar la dirección IP.

gcloud

  1. Para reservar una dirección IP externa estática con gcloud compute, usa el comando compute addresses create.

    gcloud compute addresses create LB_IP_ADDRESS  \
       --region=REGION \
       --network-tier=STANDARD
    

    Haz los cambios siguientes:

    • LB_IP_ADDRESS: el nombre que quieras darle a esta dirección.
    • REGION: la región en la que quieres reservar esta dirección. Esta región debe ser la misma que la del balanceador de carga. Todas las direcciones IP regionales son IPv4.
  2. Usa el comando compute addresses describe para ver el resultado:

    gcloud compute addresses describe LB_IP_ADDRESS
    

Configurar el NEG de Internet

Puede crear un NEG de Internet con INTERNET_FQDN_PORT puntos finales o INTERNET_IP_PORT puntos finales.

Consola

Crea un NEG con INTERNET_FQDN_PORT puntos finales.

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

    Ir al grupo de puntos finales de red

  2. Haz clic en Crear grupo de endpoints de red.

  3. Especifica un INTERNET_NEG_NAME para tu NEG de Internet. Para obtener más información, consulta el artículo Convenciones para asignar nombres de recursos.

  4. En la lista Tipo de grupo de endpoints de red, selecciona Grupo de endpoints de red (Internet) y, a continuación, haz lo siguiente:

    • En la lista Ámbito, selecciona Regional.
    • Opcional: En la lista Región, cambia el REGION de este NEG.
    • En la lista Red, selecciona LB_NETWORK.
    • En el cuadro Puerto predeterminado, introduce DEFAULT_PORT_NUMBER.
    • En la lista Añadir endpoints mediante, selecciona Nombre de dominio cualificado y puerto.
  5. Selecciona Crear.

Añadir puntos finales INTERNET_FQDN_PORT al NEG

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

    Ir al grupo de puntos finales de red

  2. Haz clic en INTERNET_NEG_NAME.
  3. Introduce el nombre de dominio completo, como myorg.example.com. Debe especificar los objetos FQDN con la sintaxis FQDN estándar.

  4. Opcional: 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, introduce PORT_NUMBER_1.
  6. Selecciona Crear.

Crea un NEG con INTERNET_IP_PORT puntos finales.

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

    Ir al grupo de puntos finales de red

  2. Haz clic en Crear grupo de endpoints de red.

  3. Especifica un nombre INTERNET_NEG_NAME para tu NEG de Internet. Para obtener más información, consulta el artículo Convenciones para asignar nombres de recursos.

  4. En la lista Tipo de grupo de endpoints de red, selecciona Grupo de endpoints de red (Internet) y, a continuación, haz lo siguiente:

    • En la lista Ámbito, selecciona Regional.
    • Opcional: En la lista Región, cambia el REGION de este NEG.
    • En la lista Red, selecciona LB_NETWORK.
    • En el cuadro Puerto predeterminado, introduce DEFAULT_PORT_NUMBER.
    • En la lista Añadir endpoints mediante, selecciona IP y puerto.
  5. Selecciona Crear.

Añadir puntos finales INTERNET_IP_PORT al NEG

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

    Ir al grupo de puntos finales de red

  2. Haz clic en INTERNET_NEG_NAME.
  3. En el campo Dirección IP, introduce 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, introduce PORT_NUMBER_1.
  6. Selecciona Crear.

gcloud

Para crear un NEG con endpoints INTERNET_FQDN_PORT, sigue estos pasos:

  1. Crea el recurso 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. Añade endpoints al NEG. Si no se especifica ningún 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
    

    Haz los cambios siguientes:

    • FULLY_QUALIFIED_DOMAIN_NAME: nombre de dominio completo del endpoint
    • PORT_NUMBER: número de puerto del endpoint.

    Puedes añadir hasta 256 endpoints por NEG.

Si tu dominio se puede resolver en Internet, no es necesario realizar ninguna otra configuración para configurar el DNS. Sin embargo, si usas FQDNs privados, tendrás que configurar Cloud DNS para facilitar la resolución de DNS. El nombre debe estar alojado en Cloud DNS o resolverse mediante el reenvío de DNS de Cloud DNS a un DNS local.

Empieza creando una zona de Cloud DNS para alojar los registros DNS de tu proyecto. A continuación, añade los registros DNS. Consulta la documentación de Cloud DNS para ver los pasos de configuración específicos.

Para crear un NEG con endpoints INTERNET_IP_PORT, sigue estos pasos:

  1. Crea el recurso 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. Añade endpoints al NEG. Si no se especifica ningún 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
    

    Haz los cambios siguientes:

    • IP_ADDRESS: la dirección IP del endpoint
    • PORT_NUMBER: número de puerto del endpoint.

    Puede repetir este paso para añadir hasta 256 endpoints por NEG.

Crear el balanceador de carga

Consola

Selecciona el tipo de balanceador de carga

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

    Ir a Balanceo de carga

  2. Haga clic en Crear balanceador de carga.
  3. En Tipo de balanceador de carga, selecciona Balanceador de carga de aplicación (HTTP/HTTPS) y haz clic en Siguiente.
  4. En Público o interno, selecciona Público (externo) y haz clic en Siguiente.
  5. Para la implementación global o en una sola región, selecciona La mejor opción para cargas de trabajo regionales y haz clic en Siguiente.
  6. Haz clic en Configurar.

Configuración básica

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

Reservar una subred de solo proxy

Para reservar una subred de solo proxy, sigue estos pasos:

  1. Haz clic en Reservar subred.
  2. En Nombre, escribe PROXY_ONLY_SUBNET_NAME.
  3. En Intervalo de direcciones IP, introduce PROXY_ONLY_SUBNET_RANGE.
  4. Haz clic en Añadir.

Configuración de frontend

  1. Haz clic en Configuración de frontend.
  2. Escribe un nombre.
  3. Para crear un balanceador de carga HTTPS, debes tener un certificado SSL. Te recomendamos que uses un certificado gestionado por Google.

    Propiedad Valor (escribe un valor o selecciona una opción según se especifique)
    Protocolo HTTPS
    Versión de IP IPv4
    Dirección IP Selecciona la dirección IP que has reservado anteriormente: LB_IP_ADDRESS.
    Puerto 443
    Certificado

    Selecciona un certificado SSL o crea uno.

    Para crear un balanceador de carga HTTPS, debes tener un recurso de certificado SSL que usar en el proxy HTTPS.

    Si quieres probar este proceso sin configurar un recurso de certificado SSL (o un dominio, como requieren los certificados gestionados por Google), puedes configurar un balanceador de carga HTTP.

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

    Propiedad Valor (escribe un valor o selecciona una opción según se especifique)
    Protocolo HTTP
    Versión de IP IPv4
    Dirección IP Selecciona la dirección IP que has reservado anteriormente: LB_IP_ADDRESS.
    Puerto 80
  4. Haz clic en Listo.

Configuración de backend

  1. Haz clic en Configuración de backend.
  2. Haz clic en Servicios y segmentos de backend.
  3. Haz clic en Crear un servicio de backend.
  4. Escribe un nombre.
  5. En Tipo de backend, selecciona Grupo de endpoints de red de Internet.
  6. En Protocolo, selecciona el protocolo que quieras usar desde el balanceador de carga hasta el NEG de Internet.
  7. En Backends (Backends), en la ventana New backend (Nuevo backend), selecciona el Regional internet network endpoint group (Grupo de endpoints de red de Internet regional) creado en el paso anterior.
  8. Haz clic en Listo.
  9. Configura la comprobación del estado:
    1. En Comprobación del estado, selecciona Crear una comprobación del estado.
    2. Asigna el nombre HTTP_HEALTH_CHECK_NAME a la comprobación del estado.
    3. En Protocol (Protocolo), selecciona HTTP.
    4. Define Puerto como 80.
  10. Haz clic en Crear.

Revisar y finalizar

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

gcloud

  1. Opcional: Crea una comprobación del estado. Las comprobaciones del estado de los backends externos usan las comprobaciones del estado de Envoy distribuidas y se traducen mediante NAT más adelante.
    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=EXTERNAL_MANAGED \
        --protocol=HTTP \
        --health-checks=HTTP_HEALTH_CHECK_NAME \
        --health-checks-region=REGION \
        --region=REGION
    
  3. Añade 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 URLs 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 carga. Este paso no es obligatorio para los balanceadores de carga HTTP.

    Puedes crear certificados de Compute Engine o de Certificate Manager. Utiliza cualquiera de los siguientes métodos para crear certificados con Certificate Manager:

    Una vez que hayas creado los certificados, adjúntalos directamente al proxy de destino.

    Para crear un recurso de certificado SSL autogestionado de Compute Engine, sigue estos pasos:
    gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
        --certificate CRT_FILE_PATH \
        --private-key KEY_FILE_PATH
    
  6. Crea un proxy HTTP(S) de destino para enrutar las solicitudes a tu mapa de URLs.

    En el caso de un balanceador de carga HTTP, crea un proxy HTTP de destino:

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

    En el caso de un balanceador de carga HTTPS, crea un proxy HTTPS de destino. El proxy es la parte del balanceador de carga que contiene el certificado SSL para el balanceo de carga 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
    
  7. Crea una regla de reenvío para dirigir las solicitudes entrantes al proxy.

    En el caso de un balanceador de carga HTTP:

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

    En el caso de un balanceador de carga HTTPS:

    gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=STANDARD \
        --network=LB_NETWORK \
        --address=LB_IP_ADDRESS \
        --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
        --target-https-proxy-region=REGION \
        --region=REGION \
        --ports=443
    

Conectar tu dominio a tu balanceador de carga

Una vez creado el balanceador de carga, anota la dirección IP asociada a él. Por ejemplo, 30.90.80.100. Para dirigir tu dominio a tu balanceador de carga, crea un registro A con tu servicio de registro de dominios. Si has añadido varios dominios a tu certificado SSL, debes añadir un registro A para cada uno de ellos, todos apuntando a la dirección IP del balanceador de carga. Por ejemplo, para crear registros A de 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 el artículo sobre cómo añadir, modificar y eliminar registros.

Probar el balanceador de carga

Ahora que has configurado el balanceador de carga, puedes empezar a enviar tráfico a la dirección IP del balanceador de carga. Si has configurado un dominio, también puedes enviar tráfico al nombre de dominio. Sin embargo, la propagación de DNS puede tardar en completarse, por lo que puedes empezar usando la dirección IP para hacer pruebas.

Consola

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

    Ir a Balanceo de carga

  2. Haz clic en el balanceador de carga que acabas de crear.

  3. Anota la dirección IP del balanceador de carga.

  4. Envía tráfico al balanceador de carga.

    • Si has creado un balanceador de carga HTTP, puedes probarlo yendo a http://IP_ADDRESS. Sustituye IP_ADDRESS por la dirección IP del balanceador de carga. Se te dirigirá a la aplicación que estés ejecutando en el backend externo.

    • Si has creado un balanceador de carga HTTPS, puedes probarlo yendo a https://IP_ADDRESS. Sustituye IP_ADDRESS por la dirección IP del balanceador de carga. Se te dirigirá a la aplicación que estés ejecutando en el backend externo.

    Si no funciona y estás usando un certificado gestionado por Google, confirma que el estado del recurso de tu certificado es ACTIVE. Para obtener más información, consulta el estado del recurso de certificado SSL gestionado por Google.

    También puedes usar curl desde la línea de comandos de tu máquina local. Sustituye IP_ADDRESS por la dirección IPv4 del balanceador de carga. Si usas un certificado gestionado por Google, prueba el dominio que apunta a la dirección IP del balanceador de carga. Por ejemplo:

    curl -s 'https://www.example.com:443' --resolve www.example.com:443:IP_ADDRESS
    
  5. Opcional: Si usas un dominio personalizado, puede que tengas que esperar a que se propaguen los ajustes de DNS actualizados. A continuación, prueba tu dominio en el navegador web.

    Si necesitas ayuda para solucionar problemas, consulta el artículo Solucionar problemas de NEG y backend externo e Internet.

Configuración adicional

En esta sección se amplía el ejemplo de configuración para ofrecer opciones de configuración alternativas y adicionales. Todas las tareas son opcionales. Puedes llevarlas a cabo en el orden que quieras.

Usar un encabezado personalizado para autenticar solicitudes

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

Para saber cómo configurar encabezados personalizados, consulta el artículo Configurar la gestión avanzada del tráfico.

Para obtener información sobre otros métodos de autenticación, consulta Autenticar solicitudes al backend externo.

Habilitar IAP en el balanceador de carga de aplicación externo

Puedes configurar las compras en aplicaciones para que estén habilitadas o inhabilitadas (opción predeterminada). Si está habilitada, debe proporcionar valores para oauth2-client-id y oauth2-client-secret.

Para habilitar IAP, actualiza el servicio de backend para incluir la marca --iap=enabled con oauth2-client-id y oauth2-client-secret.

De forma opcional, puedes habilitar IAP en un recurso de Compute Engine mediante la Google Cloud consola, la CLI de gcloud o la API.

Siguientes pasos