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 balanceador de carga de aplicación interno regional con un backend externo.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:
- 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.
- 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
- En la Google Cloud consola, ve a la página Redes de VPC.
Ve a Redes de VPC. - Haz clic en Crear red VPC.
- Escribe un nombre: LB_NETWORK.
- 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.
- Haz clic en Crear.
gcloud
Crea la red de VPC personalizada con el comando
gcloud compute networks create
:gcloud compute networks create LB_NETWORK \ --subnet-mode=custom
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
- En la Google Cloud consola, ve a la página Redes de VPC.
Ve a Redes de VPC. - Selecciona una red de la lista.
- Haz clic en Añadir subred.
- Escribe un nombre: PROXY_ONLY_SUBNET_NAME.
- Selecciona una región: REGION.
- En Propósito, selecciona Proxy gestionado regional.
- Introduce un intervalo de direcciones IP: PROXY_ONLY_SUBNET_RANGE.
- 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
En la Google Cloud consola, ve a la página Cloud NAT.
Haz clic en Empezar o en Crear pasarela de Cloud NAT.
Introduce el nombre de la pasarela LB_NAT_CONFIG.
En Tipo de NAT, selecciona Público.
En la lista Red, selecciona LB_NETWORK.
En la lista Región, selecciona REGION.
Crea un router de Cloud Router en la región.
En Tipo de endpoint de origen, selecciona Balanceadores de carga de proxy gestionados.
En la lista Fuente, selecciona Personalizada.
- En Subredes, selecciona PROXY_ONLY_SUBNET_NAME.
En la lista Direcciones IP de Cloud NAT, selecciona Automático (recomendado).
En Nivel de servicio de red, elija Premium o Estándar.
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
Crea un router de Cloud Router:
gcloud beta compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
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
En la Google Cloud consola, ve a la página Cloud NAT.
Haz clic en Empezar o en Crear pasarela de Cloud NAT.
Introduce el nombre de la pasarela LB_NAT_CONFIG.
En la lista Red, selecciona LB_NETWORK.
En la lista Región, selecciona REGION.
Selecciona o crea un Cloud Router en la región.
En Tipo de endpoint de origen, selecciona Balanceadores de carga de proxy gestionados.
En la lista Fuente, selecciona Personalizada.
- En Subredes, selecciona PROXY_ONLY_SUBNET_NAME.
En la lista Direcciones IP de Cloud NAT, selecciona Manual.
En Nivel de servicio de red, elija Premium o Estándar.
Selecciona o crea una dirección IP externa estática reservada para usarla en NAT.
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.
Haz clic en Crear.
gcloud
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
Crea un router de Cloud Router:
gcloud compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
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
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
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 interna para el balanceador de carga.
Consola
Puedes reservar una dirección IP interna independiente mediante la consolaGoogle Cloud .
- Ve a la página Redes de VPC.
- Haz clic en la red que se ha usado para configurar la conectividad híbrida entre los entornos.
- Haz clic en Direcciones IP internas estáticas y, a continuación, en Reservar dirección estática.
- Escribe un nombre: LB_IP_ADDRESS.
- En Subred, selecciona LB_SUBNET_NAME.
- Si quieres especificar qué dirección IP quieres reservar, en Dirección IP estática, selecciona Permitirme elegir y, a continuación, introduce una Dirección IP personalizada. De lo contrario, el sistema asignará automáticamente una dirección IP de la subred.
- Si quieres usar esta dirección IP con varias reglas de reenvío, en Propósito, elige Compartida.
- Haz clic en Reservar para finalizar el proceso.
gcloud
Con la CLI de gcloud, ejecuta el comando
compute addresses create
:gcloud compute addresses create LB_IP_ADDRESS \ --region=REGION \ --subnet=LB_SUBNET_NAME
Usa el
compute addresses describe
comando para ver la dirección IP asignada:gcloud compute addresses describe LB_IP_ADDRESS \ --region=REGION
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.
En la Google Cloud consola, ve a la página Grupo de extremos de red.
Haz clic en Crear grupo de endpoints de red.
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.
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.
- Selecciona Crear.
Añadir puntos finales INTERNET_FQDN_PORT
al NEG
En la Google Cloud consola, ve a la página Grupo de extremos de red.
- Haz clic en INTERNET_NEG_NAME.
Introduce el nombre de dominio completo, como
myorg.example.com
. Debe especificar los objetos FQDN con la sintaxis FQDN estándar.Opcional: En Tipo de puerto, selecciona Personalizado. Si el Tipo de puerto es
Default
, se usa el puerto predeterminado del NEG.- En el cuadro Número de puerto, introduce PORT_NUMBER_1.
- Selecciona Crear.
Crea un NEG con INTERNET_IP_PORT
puntos finales.
En la Google Cloud consola, ve a la página Grupo de extremos de red.
Haz clic en Crear grupo de endpoints de red.
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.
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.
- Selecciona Crear.
Añadir puntos finales INTERNET_IP_PORT
al NEG
En la Google Cloud consola, ve a la página Grupo de extremos de red.
- Haz clic en INTERNET_NEG_NAME.
- En el campo Dirección IP, introduce IP_ADDRESS_1.
Opcional: En la lista Tipo de puerto, selecciona Personalizado. Si el Tipo de puerto es
Default
, se usa el puerto predeterminado del NEG.- En el campo Número de puerto, introduce PORT_NUMBER_1.
- Selecciona Crear.
gcloud
Para crear un NEG con endpoints INTERNET_FQDN_PORT
, sigue estos pasos:
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
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 endpointPORT_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:
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
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 endpointPORT_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
En la Google Cloud consola, ve a la página Balanceo de carga.
- Haga clic en Crear balanceador de carga.
- En Tipo de balanceador de carga, selecciona Balanceador de carga de aplicación (HTTP/HTTPS) y haz clic en Siguiente.
- En Público o interno, selecciona Interno y haz clic en Siguiente.
- En Implementación en una sola región o en varias regiones, selecciona La mejor opción para cargas de trabajo regionales y haz clic en Siguiente.
- Haz clic en Configurar.
Configuración básica
- Introduce un nombre de balanceador de carga.
- En Región, selecciona REGION.
- En Red, selecciona LB_NETWORK.
Reservar una subred de solo proxy
Para reservar una subred de solo proxy, sigue estos pasos:
- Haz clic en Reservar subred.
- En Nombre, escribe PROXY_ONLY_SUBNET_NAME.
- En Intervalo de direcciones IP, introduce PROXY_ONLY_SUBNET_RANGE.
- Haz clic en Añadir.
Configuración de frontend
- Haz clic en Configuración de frontend.
- Escribe un nombre.
- En Subred, selecciona LB_SUBNET_NAME.
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 Haz clic en Listo.
Configuración de backend
- Haz clic en Configuración de backend.
- Haz clic en Servicios y segmentos de backend.
- Haz clic en Crear un servicio de backend.
- Escribe un nombre.
- En Tipo de backend, selecciona Grupo de endpoints de red de Internet.
- En Protocolo, selecciona el protocolo que quieras usar desde el balanceador de carga hasta el NEG de Internet.
- 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.
- Haz clic en Listo.
- Configura la comprobación del estado:
- En Comprobación del estado, selecciona Crear una comprobación del estado.
- Asigna el nombre HTTP_HEALTH_CHECK_NAME a la comprobación del estado.
- En Protocol (Protocolo), selecciona HTTP.
- Define Puerto como
80
.
- Haz clic en Crear.
Revisar y finalizar
- Haz clic en Revisar y finalizar.
- Si todo es correcto, haz clic en Crear.
gcloud
- 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
- 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
- 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
- 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
-
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:
- Certificados autogestionados regionales. Para obtener información sobre cómo crear y usar certificados regionales autogestionados, consulta Implementar un certificado regional autogestionado. No se admiten mapas de certificados.
Certificados gestionados por Google regionales. No se admiten mapas de certificados.
Certificate Manager admite los siguientes tipos de certificados regionales gestionados por Google:
- Certificados regionales gestionados por Google con autorización de DNS por proyecto. Para obtener más información, consulta el artículo sobre cómo desplegar un certificado regional gestionado por Google con autorización de DNS.
- Certificados privados gestionados por Google regionales con el Servicio de Autoridades de Certificación. Para obtener más información, consulta el artículo sobre cómo implementar un certificado regional gestionado por Google con el Servicio de Autoridades de Certificación.
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
-
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
-
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=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
En el caso de un balanceador de carga HTTPS:
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-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.
Crear una VM cliente
En este ejemplo, se crea una VM cliente (vm-client
) en la misma región que el balanceador de carga. El cliente se usa para validar la configuración del balanceador de carga
y demostrar el comportamiento esperado.
gcloud
La máquina virtual cliente puede estar en cualquier zona de la misma REGION que el balanceador de carga y puede usar cualquier subred de la misma red de VPC.
gcloud compute instances create vm-client \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh \ --network=LB_NETWORK \ --subnet=LB_SUBNET_NAME \ --zone=ZONE
Enviar tráfico al balanceador de carga
La configuración del balanceador de carga puede tardar unos minutos en propagarse después de que lo despliegues por primera vez.
Conéctate a la instancia de cliente mediante SSH.
gcloud compute ssh vm-client \ --zone=ZONE
Verifica que el balanceador de carga se conecta a la aplicación que estás ejecutando en el backend externo según lo previsto.
Para probar HTTP, ejecuta lo siguiente:
curl IP_ADDRESS
Para probar HTTPS, ejecuta lo siguiente:
curl -k -s 'https://TEST_DOMAIN_URL:443' --connect-to TEST_DOMAIN_URL:443:IP_ADDRESS:443
Sustituye 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 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.
Para habilitar aún más funciones en tu balanceador de carga de aplicación interno regional, como el acceso global (si tus clientes están en otra región), consulta Configurar un balanceador de carga de aplicación interno con backends de grupos de instancias de VM: configuración adicional.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 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.
Actualizar el tiempo de espera de keep-alive HTTP del cliente
El balanceador de carga creado en los pasos anteriores se ha configurado con un valor predeterminado para el tiempo de espera de keep-alive HTTP del cliente.Para actualizar el tiempo de espera de keep-alive HTTP del cliente, sigue estas instrucciones.
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
- Haga clic en el nombre del balanceador de carga que quiera modificar.
- Haz clic en Editar.
- Haz clic en Configuración de frontend.
- Despliega Funciones avanzadas. En Tiempo de espera de HTTP Keep-Alive, introduce un valor de tiempo de espera.
- Haz clic en Actualizar.
- Para revisar los cambios, haz clic en Revisar y finalizar y, a continuación, en Actualizar.
gcloud
En el caso de un balanceador de carga 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
En el caso de un balanceador de carga HTTPS, actualice 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
Haz los cambios siguientes:
TARGET_HTTP_PROXY_NAME
: nombre del proxy HTTP de destino.TARGET_HTTPS_PROXY_NAME
: nombre del proxy HTTPS de destino.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: el valor del tiempo de espera de HTTP Keep-Alive de 5 a 600 segundos.