Un balanceador de carga distribuye el tráfico de usuarios entre varias instancias de tus aplicaciones. Al repartir la carga, el balanceo de carga reduce el riesgo de que tus aplicaciones tengan problemas de rendimiento. Cloud Load Balancing de Google se basa en tecnologías fiables y de alto rendimiento, como Maglev, Andromeda, Google Front Ends y Envoy, las mismas tecnologías que impulsan los productos de Google.
Cloud Load Balancing ofrece una cartera completa de balanceadores de carga de red y de aplicaciones. Usa nuestros balanceadores de carga de proxy globales para distribuir millones de solicitudes por segundo entre backends de varias regiones con nuestra flota de Google Front End en más de 80 ubicaciones distintas de todo el mundo. Todo ello con una única dirección IP de difusión general. Implementa un control jurisdiccional sólido con nuestros balanceadores de carga de proxy regionales, manteniendo tus back-ends y proxies en la región que elijas sin preocuparte por la descarga de TLS/SSL. Usa nuestros balanceadores de carga de transferencia para enrutar rápidamente varios protocolos a back-ends con el alto rendimiento de la devolución directa del servidor (DSR).
Características principales de Cloud Load Balancing
Cloud Load Balancing ofrece las siguientes funciones de balanceador de carga:
Dirección IP anycast única. Con Cloud Load Balancing, una sola dirección IP anycast es el frontend de todas tus instancias de backend en regiones de todo el mundo. Además, si los backends principales están en mal estado, ofrece un balanceo de carga interregional con conmutación automática por error en varias regiones para trasladar el tráfico a los backends de conmutación por error. Cloud Load Balancing reacciona instantáneamente a los cambios en los usuarios, el tráfico, la red, el estado del backend y otras condiciones relacionadas.
Autoescalado sin fisuras. Cloud Load Balancing escala según crecen el tráfico y el número de usuarios. Puede procesar con facilidad enormes picos inesperados e instantáneos y redirigir el tráfico a otras regiones del mundo que pueden asumirlo. El autoescalado no requiere preparación: te permite escalar de cero a pleno tráfico en cuestión de segundos.
Balanceo de carga definido mediante software. Cloud Load Balancing es un servicio totalmente distribuido, gestionado y definido mediante software que funciona con todo tipo de tráfico. Como no es una solución basada en instancias ni en dispositivos, no está limitada a la infraestructura física de balanceo de carga. Despreocúpate de los desafíos de alta disponibilidad, escalabilidad y gestión inherentes al balanceo de carga basado en instancias.
Balanceo de carga de capa 4 y capa 7. Usa el balanceo de carga basado en la capa 4 para dirigir el tráfico en función de los datos de los protocolos de las capas de red y de transporte, como TCP, UDP, ESP, GRE, ICMP e ICMPv6 . Usa el balanceo de carga basado en la capa 7 para añadir decisiones de enrutamiento de solicitudes basadas en atributos, como el encabezado HTTP y el identificador uniforme de recursos.
Balanceo de carga externo e interno. Define si el balanceador de carga se puede usar para el acceso externo o interno. Puedes usar un balanceador de carga externo cuando tus clientes necesiten acceder a tu aplicación desde Internet. Puedes usar un balanceador de carga interno cuando tus clientes estén dentro deGoogle Cloud. Para obtener más información, consulta Balanceo de carga externo e interno.
Balanceo de carga global y regional. Define el ámbito del balanceador de carga. Un balanceador de carga global admite backends en varias regiones, mientras que un balanceador de carga regional admite backends en una sola región. Aunque la dirección IP de un balanceador de carga regional se encuentre en una región, se puede acceder a él desde cualquier parte del mundo. Puedes distribuir tus back-ends en una o varias regiones para finalizar las conexiones cerca de tus usuarios y cumplir tus requisitos de alta disponibilidad. Para obtener más información, consulta la sección sobre balanceo de carga global y regional.
Encaminamiento del tráfico en los niveles Premium y Estándar. Los servicios de balanceo de carga de Google Cloud se ofrecen en diferentes versiones en función del nivel de red que elijas (Premium o Estándar). El nivel Premium es más caro que el Estándar. El nivel Premium aprovecha la red troncal mundial de alta calidad de Google, mientras que el nivel Estándar usa la red pública de Internet para enrutar el tráfico por la red. El nivel de red que elijas dependerá de si priorizas el coste o el rendimiento de tu carga de trabajo empresarial. Algunos servicios de balanceo de carga solo están disponibles en el nivel Premium y no en el nivel Estándar. Para obtener más información, consulta Niveles de servicio de red Premium y Estándar.
Compatibilidad con funciones avanzadas. Cloud Load Balancing admite funciones como el balanceo de carga IPv6, la dirección del tráfico basada en la IP de origen, el balanceo de carga ponderado, WebSockets, encabezados de solicitud definidos por el usuario y el reenvío de protocolos para direcciones IP virtuales (VIP) privadas.
También incluye las siguientes integraciones:
- Integración con Cloud CDN para la distribución de contenido almacenado en caché. Cloud CDN es compatible con el balanceador de carga de aplicación externo global y con el balanceador de carga de aplicación clásico.
- Integración con Google Cloud Armor para proteger tu infraestructura frente a ataques de denegación de servicio distribuido (DDoS) y otros ataques dirigidos a aplicaciones. La protección contra DDoS siempre activa está disponible para el balanceador de carga de aplicaciones externo global, el balanceador de carga de aplicaciones clásico, el balanceador de carga de red con proxy externo y el balanceador de carga de red con paso a través externo. Además, Cloud Armor solo admite la protección de red avanzada contra DDoS para los balanceadores de carga de red de paso a través externos. Para obtener más información, consulta Configurar la protección avanzada contra DDoS de la red.
Tipos de Google Cloud balanceadores de carga
Cloud Load Balancing ofrece dos tipos de balanceadores de carga: balanceadores de carga de aplicación y balanceadores de carga de red. Elegirías un balanceador de carga de aplicaciones si necesitas un balanceador de carga de capa 7 para tus aplicaciones con tráfico HTTP o HTTPS. Elige un balanceador de carga de red si necesitas un balanceador de carga de capa 4 que admita la descarga de TLS (con un balanceador de carga de proxy) o si necesitas compatibilidad con protocolos de IP como UDP, ESP e ICMP (con un balanceador de carga de paso a través).
En la siguiente tabla se ofrece una descripción general de los diferentes tipos de balanceadores de cargaGoogle Cloud categorizados según la capa OSI en la que operan y si se usan para el acceso externo o interno.
lan Cloud Load Balancing | Externo (acepta tráfico de Internet) |
Interno (acepta tráfico Google Cloud interno) |
---|---|---|
Balanceadores de carga de aplicación HTTPS Balanceo de carga de capa 7 |
|
|
Balanceadores de carga de red TCP/SSL/Otro Balanceo de carga de capa 4 |
||
Balanceadores de carga de red de proxy | ||
|
|
|
Balanceadores de carga de red de paso a través | ||
|
|
Balanceadores de carga de aplicación
Los balanceadores de carga de aplicaciones son balanceadores de carga de capa 7 basados en proxy que te permiten ejecutar y escalar tus servicios mediante una dirección IP anycast. El balanceador de carga de aplicaciones distribuye el tráfico HTTP y HTTPS a los backends alojados en una variedad de Google Cloud plataformas, como Compute Engine y Google Kubernetes Engine (GKE), así como a los backends externos fuera deGoogle Cloud.
En el siguiente diagrama se ofrece una descripción general de los diferentes tipos de balanceadores de carga de aplicaciones que se pueden implementar de forma externa o interna en función de si tu aplicación está orientada a Internet o es interna.
Los balanceadores de carga de aplicaciones externos se implementan como servicios gestionados en Google Front Ends (GFEs) o en proxies de Envoy. Los clientes pueden conectarse a estos balanceadores de carga desde cualquier lugar de Internet. Ten en cuenta lo siguiente:
- Estos balanceadores de carga se pueden implementar en los siguientes modos: global, regional o clásico.
- Los balanceadores de carga de aplicación externos globales admiten backends en varias regiones.
- Los balanceadores de carga de aplicación externos regionales solo admiten backends en una única región.
- Los balanceadores de carga de aplicación clásicos son globales en el nivel Premium. En el nivel estándar, solo pueden distribuir tráfico a backends de una sola región.
- Los balanceadores de carga de aplicaciones usan el proxy Envoy de código abierto para habilitar funciones avanzadas de gestión del tráfico.
Los balanceadores de carga de aplicaciones internos se basan en la pila de virtualización de redes Andromeda y en el proxy Envoy de código abierto. Este balanceador de carga proporciona balanceo de carga interno basado en proxy de datos de aplicaciones de capa 7. El balanceador de carga usa una dirección IP interna a la que solo pueden acceder los clientes que estén en la misma red de VPC o que estén conectados a tu red de VPC. Ten en cuenta lo siguiente:
- Estos balanceadores de carga se pueden implementar en los siguientes modos: regional o multirregional.
- Los balanceadores de carga de aplicación internos regionales solo admiten backends de una única región.
- Los balanceadores de carga de aplicaciones internos entre regiones admiten backends en varias regiones y siempre se puede acceder a ellos de forma global. Los clientes de cualquier regiónGoogle Cloud pueden enviar tráfico al balanceador de carga.
Para obtener más información sobre los balanceadores de carga de aplicación, consulta la información general sobre los balanceadores de carga de aplicación.
Balanceadores de carga de red
Los balanceadores de carga de red son balanceadores de carga de capa 4 que pueden gestionar tráfico TCP, UDP u otro protocolo IP. Estos balanceadores de carga están disponibles como balanceadores de carga de proxy o de paso a través. Puedes elegir un balanceador de carga en función de las necesidades de tu aplicación y del tipo de tráfico que tenga que gestionar. Elige un balanceador de carga de red proxy si quieres configurar un balanceador de carga de proxy inverso que admita controles de tráfico avanzados y backends locales y en otros entornos de nube. Elige un balanceador de carga de red de tipo Pasarela si quieres conservar la dirección IP de origen de los paquetes del cliente, prefieres que las respuestas se devuelvan directamente al servidor o quieres gestionar una variedad de protocolos de IP, como TCP, UDP, ESP, GRE, ICMP e ICMPv6.
Balanceadores de carga de red de proxy
Los balanceadores de carga de red proxy son balanceadores de carga de proxy inverso de capa 4 que distribuyen el tráfico TCP a las instancias de máquina virtual (VM) de tu red de nube privada virtual (VPC) Google Cloud. El tráfico se termina en la capa de balanceo de carga y, a continuación, se reenvía al backend disponible más cercano mediante TCP.
En el siguiente diagrama se ofrece una descripción general de los diferentes tipos de balanceadores de carga de red de proxy que se pueden implementar de forma externa o interna en función de si tu aplicación está orientada a Internet o es interna.
Los balanceadores de carga de red del proxy externo son balanceadores de carga de capa 4 que distribuyen el tráfico procedente de Internet a los backends de tu red de VPC, de tu entorno on-premise o de otros entornos de nube. Google Cloud Estos balanceadores de carga se basan en frontends de Google (GFEs) o en proxies de Envoy.
Estos balanceadores de carga se pueden implementar en los siguientes modos: global, regional o clásico.
- Los balanceadores de carga de red con proxy externo global admiten backends en varias regiones.
- Los balanceadores de carga de red de proxy externo regionales admiten backends en una sola región.
- Los balanceadores de carga de red de proxy clásicos son globales en el nivel Premium. En el nivel estándar, solo pueden distribuir tráfico a backends de una sola región.
Los balanceadores de carga de red de proxy interno son balanceadores de carga regionales de capa 4 basados en el proxy Envoy que te permiten ejecutar y escalar el tráfico de tu servicio TCP mediante una dirección IP interna a la que solo pueden acceder los clientes que estén en la misma red de VPC o que estén conectados a tu red de VPC.
Estos balanceadores de carga se pueden implementar en uno de los siguientes modos: regional o multirregional.
- Los balanceadores de carga de red de proxy interno regionales solo admiten backends en una sola región.
- Los balanceadores de carga de red con proxy internos entre regiones admiten backends en varias regiones y siempre se puede acceder a ellos de forma global. Los clientes de cualquier regiónGoogle Cloud pueden enviar tráfico al balanceador de carga.
Para obtener más información sobre los balanceadores de carga de red de proxy, consulta la información general sobre los balanceadores de carga de red de proxy.
Balanceadores de carga de red de paso a través
Los balanceadores de carga de red con paso a través son balanceadores de carga de capa 4 regionales con paso a través. Estos balanceadores de carga distribuyen el tráfico entre los backends de la misma región que el balanceador de carga. Se implementan mediante la red virtual Andromeda y Google Maglev.
Como su nombre indica, estos balanceadores de carga no son proxies. Las máquinas virtuales de backend reciben los paquetes balanceados de carga con las direcciones IP de origen y destino, el protocolo y, si el protocolo se basa en puertos, los puertos de origen y destino del paquete sin cambios. Las conexiones balanceadas se terminan en los backends. Las respuestas de las VMs backend van directamente a los clientes, no vuelven a pasar por el balanceador de carga. El término del sector para esto es retorno directo del servidor (DSR).
Estos balanceadores de carga, tal como se muestra en la siguiente imagen, se implementan en dos modos, en función de si el balanceador de carga está orientado a Internet o es interno.
Los balanceadores de carga de red de paso a través externos se basan en Maglev. Los clientes pueden conectarse a estos balanceadores de carga desde cualquier lugar de Internet, independientemente de sus niveles de servicio de red. El balanceador de carga también puede recibir tráfico de Google Cloud máquinas virtuales con direcciones IP externas Google Cloud o de máquinas virtuales que tengan acceso a Internet a través de Cloud NAT o NAT basado en instancias.
Los backends de los balanceadores de carga de red de paso a través externos se pueden desplegar mediante un servicio de backend o un grupo de destino. En las implementaciones nuevas, recomendamos usar servicios backend.
Los balanceadores de carga de red de paso a través internos se basan en la pila de virtualización de redes de Andromeda. Un balanceador de carga de red de pases interno te permite balancear la carga del tráfico TCP/UDP detrás de una dirección IP de balanceo de carga interna a la que solo pueden acceder los sistemas de la misma red de VPC o los sistemas conectados a tu red de VPC. Este balanceador de carga solo se puede configurar en el nivel premium.
Para obtener más información sobre los balanceadores de carga de red de paso a través, consulta el artículo sobre los balanceadores de carga de red de paso a través.
Tecnologías subyacentes de los balanceadores de carga Google Cloud
En la siguiente tabla se indica la tecnología subyacente en la que se basa cada balanceador de carga.Google Cloud
- Los Google Front Ends (GFEs) son sistemas distribuidos definidos por software que se encuentran en los puntos de presencia (PoPs) de Google y realizan el balanceo de carga global junto con otros sistemas y planos de control.
- Andromeda es la pila de virtualización de redes definida por software de Google Cloud.
- Maglev es un sistema distribuido para el balanceo de carga de red.
- Envoy es un proxy de servicio y de edge de código abierto diseñado para aplicaciones nativas de la nube.
Balanceador de carga | Tecnología |
---|---|
Balanceador de carga de aplicación externo global | Frontend de Google (GFE) basado en Envoy |
Balanceador de carga de aplicación clásico | GFE |
Balanceador de carga de aplicación externo regional | Envoy |
Balanceador de carga de aplicación interno entre regiones | Envoy |
Balanceador de carga de aplicación interno regional | Envoy |
Balanceador de carga de red con proxy externo global | GFE basada en Envoy |
Balanceador de carga de red de proxy clásico | GFE |
Balanceador de carga de red con proxy externo regional | Envoy |
Balanceador de carga de red con proxy interno regional | Envoy |
Balanceador de carga de red con proxy interno interregional | Envoy |
Balanceador de carga de red de paso a través externo | Maglev |
Balanceador de carga de red de paso a través interno | Andromeda |
Elegir un balanceador de carga
Para determinar qué producto de Cloud Load Balancing debes usar, primero debes determinar qué tipo de tráfico deben gestionar tus balanceadores de carga. Por lo general, se recomienda elegir un balanceador de carga de aplicaciones cuando necesites un conjunto de funciones flexible para tus aplicaciones con tráfico HTTP(S). Elige un balanceador de carga de red si necesitas descargar TLS a gran escala, admitir UDP o exponer las direcciones IP de cliente a tus aplicaciones.
Puedes acotar aún más tus opciones en función de los requisitos de tu aplicación: si es externa (accesible desde Internet) o interna, si necesitas que los backends se implementen a nivel mundial o regional, y si necesitas el nivel de servicio de red Premium o Estándar.
En el siguiente diagrama se muestran todos los modos de implementación disponibles de Cloud Load Balancing. Para obtener más información, consulta la guía Elegir un balanceador de carga.
1. Los balanceadores de carga de aplicación externos globales admiten dos modos de funcionamiento: global y clásico.
2. Los balanceadores de carga de red con proxy externo global admiten dos modos de funcionamiento: global y clásico.
3. Los balanceadores de carga de red con paso a través conservan las direcciones IP de origen de los clientes. Los balanceadores de carga de red con paso a través también admiten protocolos adicionales, como UDP, ESP e ICMP.
Resumen de los tipos de Google Cloud balanceadores de carga
En la siguiente tabla se proporcionan detalles, como el nivel de servicio de red en el que funciona cada balanceador de carga, junto con su esquema de balanceo de carga.
Balanceador de carga | Modo de despliegue | Tipo de tráfico | Nivel de servicio de red | Esquema de balanceo de carga1 |
---|---|---|---|---|
Balanceadores de carga de aplicación | Global external | HTTP o HTTPS | Nivel premium | EXTERNAL_MANAGED |
Regional externa | HTTP o HTTPS | Nivel Premium o Estándar | EXTERNAL_MANAGED | |
Clásico | HTTP o HTTPS | Global en el nivel Premium Regional en el nivel Estándar |
EXTERNAL2 | |
Regional internal3 | HTTP o HTTPS | Nivel premium | INTERNAL_MANAGED | |
Interno entre regiones | HTTP o HTTPS | Nivel premium | INTERNAL_MANAGED | |
Balanceadores de carga de red de proxy | Global external | TCP con descarga de SSL opcional | Nivel premium | EXTERNAL_MANAGED |
Regional externa | TCP | Nivel Premium o Estándar | EXTERNAL_MANAGED | |
Clásico | TCP con descarga de SSL opcional | Global en el nivel Premium Regional en el nivel Estándar |
EXTERNO | |
Regional internal3 | TCP sin descarga de SSL | Nivel premium | INTERNAL_MANAGED | |
Interno entre regiones | TCP sin descarga de SSL | Nivel premium | INTERNAL_MANAGED | |
Balanceadores de carga de red con paso a través | Externo Siempre regional |
TCP, UDP, ESP, GRE, ICMP e ICMPv6 | Nivel Premium o Estándar | EXTERNO |
Interno3 Siempre regional |
TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH y GRE | Nivel premium | INTERNAL |
1 El esquema de balanceo de carga es un atributo de la regla de reenvío y del servicio de backend de un balanceador de carga, e indica si el balanceador de carga se puede usar para el tráfico interno o externo.
El término gestionado en EXTERNAL_MANAGED
o INTERNAL_MANAGED
indica
que el balanceador de carga se implementa como un servicio gestionado en un Google Front
End (GFE) o en el proxy Envoy de código abierto. En un esquema de balanceo de carga gestionado, las solicitudes se dirigen a GFE o al proxy de Envoy.
EXTERNAL_MANAGED
servicios de backend a
EXTERNAL
reglas de reenvío. Sin embargo, los servicios de backend de EXTERNAL
no se pueden adjuntar a reglas de reenvío de EXTERNAL_MANAGED
.
Para aprovechar las nuevas funciones disponibles solo con el balanceador de carga de aplicación externo global, te recomendamos que migres tus recursos de EXTERNAL
a EXTERNAL_MANAGED
mediante el proceso de migración descrito en el artículo Migrar recursos del balanceador de carga de aplicación clásico al balanceador de carga de aplicación externo global.
3 De forma predeterminada, los balanceadores de carga internos regionales solo permiten el tráfico de los clientes que se encuentran en la misma región que el balanceador de carga. Sin embargo, puedes permitir el tráfico de clientes de otras regiones habilitando el acceso global en la regla de reenvío.
Interfaces
Puede configurar y actualizar sus balanceadores de carga mediante las siguientes interfaces:
La CLI de Google Cloud: una herramienta de línea de comandos incluida en la CLI de Google Cloud. En la documentación se hace referencia a esta herramienta con frecuencia para llevar a cabo tareas. Para obtener una descripción general completa de la herramienta, consulta la guía de la CLI de gcloud. Puedes encontrar comandos relacionados con el balanceo de carga en el
gcloud compute
grupo de comandos.También puedes obtener ayuda detallada sobre cualquier comando de
gcloud
mediante la marca--help
.gcloud compute http-health-checks create --help
La Google Cloud consola: las tareas de balanceo de carga se pueden llevar a cabo con la Google Cloud consola.
La API REST: todas las tareas de balanceo de carga se pueden llevar a cabo mediante la API Cloud Load Balancing. En la documentación de referencia de la API se describen los recursos y métodos disponibles.
Terraform: puedes aprovisionar, actualizar y eliminar la infraestructura de balanceo de carga mediante una herramienta de infraestructura como código de código abierto, como Terraform. Google Cloud
Siguientes pasos
- Para ayudarte a determinar qué Google Cloud balanceador de carga se adapta mejor a tus necesidades, consulta Elegir un balanceador de carga.
- Para conocer los componentes de los diferentes tipos de balanceadores de carga, consulta el modelo de recursos de Cloud Load Balancing. Google Cloud
- Para ver una descripción general comparativa de las funciones de balanceo de carga que ofrece Cloud Load Balancing, consulta la comparativa de funciones de los balanceadores de carga.
- Para usar plantillas de Terraform prediseñadas y agilizar la configuración y la gestión de la infraestructura de red de Google Cloud, consulta el repositorio de GitHub de soluciones de configuración de redes en la nube simplificadas.