En esta página, se ilustra cómo implementar un balanceador de cargas de aplicaciones externo global para balancear las cargas del tráfico a los extremos de red locales o en otras nubes públicas y que son accesibles a través de la conectividad híbrida.
Después de completar estas tareas, puedes explorar de manera opcional la habilitación de servicios adicionales (como Cloud CDN y Google Cloud Armor) y las características de administración avanzada del tráfico.
Si aún no lo hiciste, revisa la descripción general de los NEG de conectividad híbrida a fin de comprender los requisitos de red para configurar el balanceo de cargas híbrido.
Descripción general de la configuración
En el ejemplo en esta página, se configura la siguiente implementación de muestra:
Debes configurar la conectividad híbrida antes de intentar configurar una implementación del balanceo de cargas híbrida. En esta página, no se incluye la configuración de conectividad híbrida.
Según la elección del producto de conectividad híbrida (ya sea Cloud VPN o Cloud Interconnect [dedicado o de socio]), usa la documentación del producto pertinente para configurarlo.
Permisos
Para configurar el balanceo de cargas híbrido, debes tener los siguientes permisos:
En Google Cloud
- Permisos para establecer la conectividad híbrida entre Google Cloud y tu entorno local o cualquier otro entorno de nube. Para obtener la lista de permisos necesarios, consulta la documentación del producto de conectividad de red.
- Permisos para crear un NEG de conectividad híbrida y el balanceador de cargas.
El rol Administrador de balanceadores de cargas de Compute (
roles/compute.loadBalancerAdmin
) contiene el permiso necesario para realizar las tareas descritas en esta guía.
En tu entorno local o en otro entorno de nube que no sea de Google Cloud
- Permisos para configurar los extremos de red que permiten que se pueda acceder a los servicios en tu entorno local o en otros entornos de nube desde Google Cloud a través de una combinación
IP:Port
. Para obtener más información, comunícate con el administrador de red de tu entorno. - Permisos para crear reglas de firewall en tu entorno local o en otros entornos de nube a fin de permitir que los sondeos de verificación de estado de Google lleguen a los extremos.
- Permisos para configurar los extremos de red que permiten que se pueda acceder a los servicios en tu entorno local o en otros entornos de nube desde Google Cloud a través de una combinación
Además, a fin de completar las instrucciones de esta página, debes crear un NEG de conectividad híbrida, un balanceador de cargas y NEG zonales (y sus extremos) que funcionen como backends basados en Google Cloud para el balanceador de cargas.
Debes ser Propietario o Editor de un proyecto o tener los siguientes roles de IAM de Compute Engine.
Tarea | Rol requerido |
---|---|
Crear redes, subredes y componentes del balanceador de cargas | Administrador de red de Compute
(roles/compute.networkAdmin ) |
Agrega y quita reglas de firewall | Administrador de seguridad de Compute
(roles/compute.securityAdmin ) |
Crea instancias | Administrador de instancias de Compute
(roles/compute.instanceAdmin ) |
Establece una conectividad híbrida
Tu Google Cloud y otros entornos de nube deben estar conectados a través de la conectividad híbrida, mediante adjuntos de VLAN de Cloud Interconnect o túneles de Cloud VPN con Cloud Router. Te recomendamos usar una conexión de alta disponibilidad.
Un Cloud Router habilitado con enrutamiento dinámico global aprende sobre el extremo específico a través del protocolo de puerta de enlace de frontera (BGP) y lo programa en tu red de VPC de Google Cloud. No se admite el enrutamiento dinámico regional. Tampoco se admiten las rutas estáticas.
La red de VPC que usas para configurar Cloud Interconnect o Cloud VPN es la misma red que usas a fin de configurar la implementación del balanceo de cargas híbrido. Asegúrate de que los rangos de CIDR de la subred de la red de VPC no entren en conflicto con los rangos de CIDR remotos. Cuando las direcciones IP se superponen, las rutas de subred se priorizan por sobre la conectividad remota.
Para obtener instrucciones, consulta la siguiente documentación:
Configura tu entorno fuera de Google Cloud
Realiza los pasos siguientes a fin de configurar tu entorno local o algún otro entorno de nube para el balanceo de cargas híbrido:
- Configura los extremos de red para exponer los servicios locales a Google Cloud (
IP:Port
). - Configura reglas de firewall en tu entorno local o en otro entorno de nube.
- Configura Cloud Router para anunciar ciertas rutas obligatorias a tu entorno privado.
Configura extremos de red
Luego de configurar la conectividad híbrida, configura uno o más extremos de red en tus entornos de nube locales o en otros a los que se pueda acceder mediante Cloud Interconnect o Cloud VPN mediante una combinación IP:port
. Esta combinación IP:port
se configura como uno o más extremos para el NEG de conectividad híbrida que se crea más adelante en Google Cloud en este proceso.
Si hay varias rutas de acceso al extremo de IP, el enrutamiento seguirá el comportamiento descrito en la descripción general de Cloud Router.
Configura reglas de firewall
Las siguientes reglas de firewall se deben crear en tu entorno local o en otro entorno de nube:
Crea una regla de firewall de permiso de entrada para permitir el tráfico de los sondeos de verificación de estado de Google a tus extremos. Los rangos de direcciones IP de origen que se permiten son
35.191.0.0/16
y130.211.0.0/22
. Para obtener más información, consulta Rangos de IP del sondeo y reglas de firewall.
Anuncia rutas
Configura Cloud Router para Anunciar los siguientes rangos de IP personalizados a tu entorno local o a otro entorno de nube:
- Los rangos que usan los sondeos de verificación de estado de Google:
35.191.0.0/16
y130.211.0.0/22
.
Configura el entorno de Google Cloud
Para los siguientes pasos, asegúrate de usar la misma red de VPC (llamada NETWORK en este procedimiento) que se usó para configurar la conectividad híbrida entre los entornos.
Crea la subred para los backends
Esta subred se usa para crear los backends de NEG zonales del balanceador de cargas, el frontend y la dirección IP interna.
Crea esta subred en la red NETWORK que se usó para configurar la conectividad híbrida entre los entornos.
Console
Para admitir el tráfico IPv4 e IPv6, sigue estos pasos:
En la consola de Google Cloud, ve a la página Redes de VPC.
Ve a la red que se usó para configurar la conectividad híbrida entre los entornos.
- Haz clic en Editar.
- En Modo de creación de subredes, selecciona Personalizar.
- Haz clic en Guardar.
Opcional: Si deseas configurar rangos de direcciones IPv6 internos en subredes de esta red, completa estos pasos:
- En Rango de IPv6 interno de ULA de la red de VPC, selecciona Habilitado.
En Asignar rango de IPv6 interno, selecciona Automáticamente o Manualmente.
Si seleccionas Manualmente, ingresa un rango
/48
que pertenezca al rangofd20::/20
. Si el rango está en uso, se te solicitará que proporciones un rango diferente.
En la pestaña Subredes, haz clic en vpc-subnet:
En el panel Agregar una subred, configura los siguientes campos:
- En el campo Nombre, proporciona un nombre para la subred.
- En el campo Región, selecciona una región.
- En el campo Rango de direcciones IP, ingresa un rango de direcciones IP.
- En Tipo de pila IP, selecciona IPv4 e IPv6 (pila doble).
- En el campo Tipo de acceso IPv6, selecciona Externo.
- Haz clic en Agregar.
Para que sea compatible con el tráfico IPv4, sigue estos pasos:
En la consola de Google Cloud, ve a la página Redes de VPC.
Ve a la red que se usó para configurar la conectividad híbrida entre los entornos.
- Haz clic en Editar.
- En Modo de creación de subredes, selecciona Personalizar.
- Haz clic en Guardar.
En la pestaña Subredes, haz clic en vpc-subnet:
En el panel Agregar una subred, ingresa la siguiente información:
- En el campo Nombre, proporciona un nombre para la subred.
- En el campo Región, selecciona una región.
- En el campo Rango de direcciones IP, ingresa un rango de direcciones IP.
- En el campo Tipo de pila de IP, elige IPv4 (pila única).
- Haz clic en Agregar.
gcloud
Crea una subred en la red NETWORK que se usó para configurar la conectividad híbrida entre los entornos.
Para el tráfico IPv4 e IPv6, usa el siguiente comando:
gcloud compute networks update NETWORK \ [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \ --switch-to-custom-subnet-mode
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL
Para el tráfico IPv4, usa el siguiente comando:
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Reemplaza lo siguiente:
NETWORK
: Es un nombre para la red de VPC.LB_SUBNET_NAME
: Es un nombre de la subred.REGION
: es el nombre de la región.ULA_IPV6_RANGE
: es un prefijo/48
desde el rangofd20::/20
que usa Google para los rangos de subred IPv6 internos. Si no usas la marca--internal-ipv6-range
, Google selecciona un prefijo/48
para la red.
Crear regla de firewall
En este ejemplo, se crea la regla de firewall:
fw-allow-health-check
: Una regla de entrada, aplicable a las instancias de Google Cloud cuyas cargas se balancean, que permite el tráfico del balanceador de cargas y los sistemas de verificación de estado de Google Cloud (130.211.0.0/22
y35.191.0.0/16
) En este ejemplo, se usa la etiqueta de destinoallow-health-check
para identificar las VM de backend a las que se debe aplicar.
Console
En la consola de Google Cloud, ve a la página Políticas de firewall.
Haz clic en Crear regla de firewall:
- Ingresa un Nombre de
fw-allow-health-check
. - En la sección Red selecciona
NETWORK
. - En Destinos, selecciona Etiquetas de destino especificadas.
- Propaga el campo Etiquetas de destino con
allow-health-check
. - Configura Filtro de fuente como Rangos de IPv4.
- Establece Rangos de IPv4 de origen en
130.211.0.0/22
y35.191.0.0/16
. - En Protocolos y puertos, selecciona Protocolos y puertos especificados.
- Selecciona la casilla de verificación junto a TCP y escribe
80
para el número de puerto.
- Ingresa un Nombre de
Haz clic en Crear.
Para permitir el tráfico de subred de IPv6, vuelve a hacer clic en Crear regla de firewall y, luego, ingresa la siguiente información:
- Nombre:
fw-allow-lb-access-ipv6
- Red:
NETWORK
- Prioridad:
1000
- Dirección del tráfico: Entrada
- Destinos: Etiquetas de destino especificadas
- Etiquetas de destino, ingresa
allow-health-check-ipv6
- Filtro de fuente: Rangos de IPv6
- Rangos de IPv6 de origen:
2600:2d00:1:b029::/64
,2600:2d00:1:1::/64
- Protocols y puertos: Permitirlos todos
- Nombre:
Haz clic en Crear.
gcloud
Crea la regla
fw-allow-health-check-and-proxy
para permitir que las verificaciones de estado del balanceador de cargas y Google Cloud se comuniquen con instancias de backend en los puertos TCP80
.Reemplaza NETWORK por el nombre de la red de VPC que se usa para configurar la conectividad híbrida.
gcloud compute firewall-rules create fw-allow-health-check \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --rules=tcp:80
Crea la regla
fw-allow-health-check-ipv6
para permitir las verificaciones de estado IPv6 de Google Cloud.gcloud compute firewall-rules create fw-allow-health-check-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=tcp,udp,icmp
Configura el NEG zonal
Para los backends basados en Google Cloud, te recomendamos configurar varios NEG zonales en la misma región en la que configuraste la conectividad híbrida.
Los NEG zonales con uno o más extremos de tipoGCE_VM_IP_PORT
admiten la pila doble.
Para este ejemplo, configuramos un NEG zonal (con extremos de tipo GCE_VM_IP_PORT
) en la región REGION. Primero, crea las VMs en la zona GCP_NEG_ZONE. Luego, crea un NEG zonal en el mismo GCP_NEG_ZONE y agrega los extremos de red de las VMs al NEG.
Crea VM
Console
Ve a la página Instancias de VM en la consola de Google Cloud.
Ir a Instancias de VMHaga clic en Crear instancia.
Configura el campo Nombre como
vm-a1
.En Región, elige REGION.
En Zona, elige GCP_NEG_ZONE.
En la sección Disco de arranque, asegúrate de que Debian GNU/Linux 12 (bookWorm) esté seleccionado como las opciones del disco de arranque. Haz clic en Elegir para cambiar la imagen si es necesario.
Haz clic en Opciones avanzadas y realiza los siguientes cambios:
- Haz clic en Herramientas de redes y agrega las siguientes Etiquetas de red:
allow-health-check
. - Haz clic en Editar
- Red: NETWORK
- Subred: LB_SUBNET_NAME
- Tipo de pila IP: IPv4 e IPv6 (pila doble)
en Interfaces de red y realiza los siguientes cambios. Luego, haz clic en Listo: Haz clic en Administración. En el campo 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://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
- Haz clic en Herramientas de redes y agrega las siguientes Etiquetas de red:
Haz clic en Crear.
Repite los siguientes pasos para crear una segunda VM mediante la siguiente combinación de nombre y zona:
- Nombre:
vm-a2
, zona: GCP_NEG_ZONE
- Nombre:
gcloud
Para crear las VMs, ejecuta el siguiente comando dos veces, con estas combinaciones para el nombre de la VM y su zona. El contenido de la secuencia de comandos es idéntico para ambas VMs.
- VM_NAME de
vm-a1
y cualquier zona GCP_NEG_ZONE que elijas VM_NAME de
vm-a2
y la misma zona de GCP_NEG_ZONEPara admitir el tráfico IPv4 y el IPv6, ejecuta el siguiente comando:
gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-health-check,allow-health-check-ipv6 \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --subnet=LB_SUBNET_NAME \ --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://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Crea el NEG zonal
Console
Para crear un grupo de extremos de red por zonas, sigue estos pasos:
- Ve a la página Grupos de extremos de red en la consola de GoogleCloud.
Ir a la página Grupos de extremos de red - Haz clic en Crear un grupo de extremos de red.
- Ingresa un Nombre para el NEG zonal. En este procedimiento, se lo llamará GCP_NEG_NAME.
- Selecciona el Tipo de grupo de extremos de red: Grupo de extremos de red (zonal).
- Selecciona la Red: NETWORK
- Selecciona la Subred: LB_SUBNET_NAME
- Selecciona la Zona: GCP_NEG_ZONE
- Ingresa el Puerto predeterminado:
80
. - Haz clic en Crear.
Agrega extremos al NEG zonal.
- Ve a la página Grupos de extremos de red en la consola de GoogleCloud.
Ir a los grupos de extremos de red - Haz clic en el Nombre del grupo de extremos de red que se creó en el paso anterior (GCP_NEG_NAME). Verás la página Detalles del grupo de extremos de red.
- En la sección Extremos de red de este grupo, haz clic en Agregar extremo de red. Verás la página Agregar extremo de red.
- Selecciona una instancia de VM para agregar sus direcciones IP internas como extremos de red. En la sección Interfaz de red, se muestra el nombre, la zona y la subred de la VM.
- En el campo Dirección IPv4, ingresa la dirección IPv4 del nuevo extremo de la red.
- En el campo Dirección IPv6, ingresa la dirección IPv6 del extremo de red nuevo.
- Selecciona el tipo de puerto.
- Si seleccionas Predeterminado, el extremo usará el puerto predeterminado
80
para todos los extremos del grupo de extremos de red. Esto es suficiente para nuestro ejemplo, ya que el servidor Apache entrega solicitudes en el puerto80
. - Si seleccionas Personalizado, deberás ingresar el número de puerto para el extremo que se usará.
- Si seleccionas Predeterminado, el extremo usará el puerto predeterminado
- Para agregar más extremos, haz clic en Agregar extremo de red y repite los pasos anteriores.
- Después de agregar todos los extremos, haz clic en Crear.
gcloud
Crea un NEG zonal (con extremos
GCE_VM_IP_PORT
) mediante el comandogcloud compute network-endpoint-groups create
:gcloud compute network-endpoint-groups create GCP_NEG_NAME \ --network-endpoint-type=GCE_VM_IP_PORT \ --zone=GCP_NEG_ZONE \ --network=NETWORK \ --subnet=LB_SUBNET_NAME
Puedes especificar un
--default-port
mientras creas el NEG o especificar un número de puerto para cada extremo como se muestra en el paso siguiente.Agrega extremos de pila doble a GCP_NEG_NAME.
gcloud compute network-endpoint-groups update GCP_NEG_NAME \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80' \ --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80'
Configura el NEG de conectividad híbrida
Cuando crees el NEG, usa un ZONE que minimice la distancia geográfica entre Google Cloud y tu entorno local o de otra nube. Por ejemplo, si alojas un servicio en un entorno local en Fráncfort, Alemania, puedes especificar la zona europe-west3-a
de Google Cloud cuando crees el NEG.
Además, si usas Cloud Interconnect, la ZONE que se usa para crear el NEG debe estar en la misma región en la que se configuró el adjunto de VLAN de Cloud Interconnect con conectividad híbrida.
Para conocer las regiones y zonas disponibles, consulta la documentación de Compute Engine: regiones y zonas disponibles.
Console
Para crear un grupo de extremos de red de conectividad híbrida, haz lo siguiente:
- Ve a la página Grupos de extremos de red en la consola de GoogleCloud.
Ir a Grupos de extremos de red - Haz clic en Crear un grupo de extremos de red.
- Ingresa un Nombre para el NEG híbrido. En este procedimiento, se lo llamará ON_PREM_NEG_NAME.
- Selecciona el Tipo de grupo de extremos de red: Grupo de extremos de red de conectividad híbrida (zonal).
- Selecciona la Red: NETWORK
- Selecciona la Subred: LB_SUBNET_NAME
- Selecciona la Zona: ON_PREM_NEG_ZONE
- Ingresa el Puerto predeterminado.
- Haz clic en Crear.
Agrega extremos al NEG de conectividad híbrida:
- Ve a la página Grupos de extremos de red en la consola de GoogleCloud.
Ir a la página Grupos de extremos de red - Haz clic en el Nombre del grupo de extremos de red que se creó en el paso anterior (ON_PREM_NEG_NAME). Verás la página Detalles del grupo de extremos de red.
- En la sección Extremos de red de este grupo, haz clic en Agregar extremo de red. Verás la página Agregar extremo de red.
- Ingresa la dirección IP del extremo de red nuevo.
- Selecciona el tipo de puerto.
- Si seleccionas Predeterminado, el extremo usará el puerto predeterminado para todos los extremos del grupo de extremos de red.
- Si seleccionas Personalizado, puedes ingresar un Número de puerto diferente para que lo use el extremo.
- Para agregar más extremos, haz clic en Agregar extremo de red y repite los pasos anteriores.
- Después de agregar todos los extremos que no son de Google Cloud, haz clic en Crear.
gcloud
Crea un NEG de conectividad híbrida mediante el comando
gcloud compute network-endpoint-groups create
.gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \ --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \ --zone=ON_PREM_NEG_ZONE \ --network=NETWORK
Agrega el extremo a
on-prem-neg
:gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \ --zone=ON_PREM_NEG_ZONE \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
Puedes usar este comando para agregar los extremos de red que configuraste antes de forma local o en tu entorno de nube.
Repite --add-endpoint
tantas veces como sea necesario.
Puedes repetir estos pasos para crear varios NEG híbridos si es necesario.
Configura el balanceador de cargas
Console
gcloud
- Crea una dirección IP externa estática global a la que los clientes externos envían tráfico.
gcloud compute addresses create LB_IP_ADDRESS_NAME \ --network-tier=PREMIUM \ --global
- Crea una verificación de estado para los backends.
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --use-serving-port
- Crea un servicio de backend. Agrega el NEG zonal y el NEG de conectividad híbrida como backends a este servicio de backend.
- Agrega el NEG zonal como un backend al servicio de backend:
Para obtener detalles sobre la configuración del modo de balanceo, consulta la documentación de gcloud CLI para el parámetrogcloud beta compute backend-services add-backend BACKEND_SERVICE \ --global \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=GCP_NEG_NAME \ --network-endpoint-group-zone=GCP_NEG_ZONE
--max-rate-per-endpoint
. - Agrega el NEG híbrido como un backend al servicio de backend:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=ON_PREM_NEG_NAME \ --network-endpoint-group-zone=ON_PREM_NEG_ZONE
- Crea un mapa de URL para enrutar las solicitudes entrantes al servicio de backend.
gcloud beta compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE
- Sigue este paso solo si quieres crear un balanceador de cargas de HTTPS. Esto no es obligatorio para los balanceadores de cargas de HTTP.
Si quieres crear un balanceador de cargas de HTTPS, debes tener un recurso de certificado SSL para usar en el proxy HTTPS. Puedes crear un recurso de certificado SSL mediante un certificado SSL administrado por Google o un certificado SSL autoadministrado. Se recomienda usar certificados administrados por Google, ya que Google Cloud obtiene, administra y renueva estos certificados de manera automática.
Para crear un certificado administrado por Google, debes tener un dominio. Si no tienes un dominio, puedes usar un certificado SSL autofirmado para las pruebas.
Si deseas crear un recurso de certificado SSL que administra Google, ingresa el siguiente comando: Si deseas crear un recurso de certificado SSL autoadministrado:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --domains DOMAIN
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: 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 de HTTPS, por lo que también debes cargar el certificado en este paso.gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=URL_MAP_NAME
gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME
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
: un campo opcional que se usa para especificar el tiempo de espera de keepalive de HTTP del cliente. El valor del tiempo de espera debe ser de 5 a 1,200 segundos. El valor predeterminado es 610segundos.SSL_CERTIFICATE_NAME
: es el nombre del certificado SSL.URL_MAP_NAME
: el nombre del mapa de URL.
- Crea una regla de reenvío para enrutar las solicitudes entrantes al proxy.
Para un balanceador de cargas de HTTP, ingresa el siguiente comando: Para un balanceador de cargas de HTTPS:gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --global \ --ports=80
gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --global \ --ports=443
gcloud beta compute backend-services create BACKEND_SERVICE \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --ip-address-selection-policy=PREFER_IPV6 \ --global
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.
Ve a la página Balanceo de cargas en la consola de Google Cloud.
Ir a la página Balanceo de cargasHaz clic en el balanceador de cargas que acabas de crear.
Toma nota de la Dirección IP del balanceador de cargas.
Envía tráfico al balanceador de cargas.
Si creaste un balanceador de cargas de HTTP, puedes probarlo mediante un navegador web en
http://IP_ADDRESS
. ReemplazaIP_ADDRESS
por la dirección IP del balanceador de cargas. Deberías dirigirte al servicio que expusiste a través del extremo.Si creaste un balanceador de cargas de HTTPS, puedes probarlo mediante
curl
de la siguiente manera. ReemplazaIP_ADDRESS
por la dirección IP del balanceador de cargas. Deberías dirigirte al servicio que expusiste a través del extremo.curl -k https://IP_ADDRESS
Si eso no funciona y usas un certificado administrado por Google, confirma que el estado del recurso de certificado sea ACTIVO. Para obtener más información, consulta la página sobre el estado del recurso del certificado SSL que administra Google. Luego, prueba el dominio que apunta a la dirección IP del balanceador de cargas. Por ejemplo:
curl -s https://test.example.com
La prueba de los extremos que no son de Google Cloud depende del servicio que expones a través del extremo de NEG híbrido.
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.
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
En la consola de Google Cloud, ve a la página Balanceo de cargas.
- Haz clic en el nombre del balanceador de cargas que deseas modificar.
- Haz clic en Editar.
- Haz clic en Configuración de frontend.
- Expande Funciones avanzadas. Para el tiempo de espera de keepalive de HTTP, ingresa un valor de tiempo de espera.
- Haz clic en Actualizar.
- 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 comandogcloud 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 \ --global
Para un balanceador de cargas de HTTPS, actualiza el proxy HTTPS de destino con el comandogcloud compute target-https-proxies update
:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
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?
- Convierte el balanceador de cargas de aplicaciones a IPv6.
- Limpia la configuración del balanceador de cargas.