Conceptos de balanceo de cargas del proxy SSL

SSL Proxy Load Balancing de Google Cloud finaliza las conexiones SSL (TLS) de los usuarios en una capa de balanceo de cargas y, luego, balancea las conexiones entre tus instancias con los protocolos SSL o TCP. El proxy SSL de Cloud está diseñado para el tráfico no HTTP(S). Para el tráfico HTTP(S), se recomienda usar el balanceo de cargas HTTP(S).

SSL Proxy Load Balancing admite direcciones IPv4 e IPv6 para el tráfico de clientes. Las solicitudes de clientes de IPv6 se finalizan en la capa de balanceo de cargas y se redirigen mediante proxies IPv4 a tus backends.

Descripción general

Cuando usas proxies SSL (TLS) para tu tráfico SSL, puedes finalizar las sesiones SSL en la capa de balanceo de cargas y, luego, reenviar el tráfico a tus instancias de máquinas virtuales mediante SSL (recomendado) o TCP.

El proxy SSL es un servicio de balanceo de cargas que se puede implementar globalmente. Puedes implementar tus instancias en varias regiones para que el balanceador de cargas dirija de forma automática el tráfico a la región más cercana que tenga capacidad. Si la región más cercana está al máximo de capacidad, el balanceador de cargas dirige automáticamente las conexiones nuevas a otra región con capacidad disponible. Las conexiones de los usuarios existentes permanecen en la región actual.

Ten en cuenta que el balanceo de cargas global requiere que uses el nivel Premium del servicio de red, que es el predeterminado. De lo contrario, el balanceo de cargas se maneja a nivel regional.

Para una seguridad óptima, usa la encriptación de extremo a extremo en tu implementación de proxy SSL. Para ello, configura tu servicio de backend, de manera que acepte el tráfico mediante SSL. De esta forma, se garantiza que el tráfico del cliente desencriptado en la capa del proxy SSL se vuelva a encriptar antes de enviarse a las instancias de backend. Esta encriptación de extremo a extremo requiere que aprovisiones certificados y claves en tus instancias para que puedan realizar el procesamiento SSL.

Beneficios del proxy SSL:

  • Enrutamiento inteligente: El balanceador de cargas puede enrutar solicitudes a ubicaciones de backend que tengan capacidad. En comparación, un balanceador de cargas L3/L4 debe enrutar a backends regionales sin importar la capacidad. El uso de enrutamiento más inteligente permite el aprovisionamiento en N + 1 o N + 2 en lugar de x * N.
  • Mejor uso de las instancias de máquinas virtuales: El procesamiento de SSL puede hacer un uso de la CPU si los cifrados que se usan no son eficientes en términos del uso de ese recurso. Para maximizar el rendimiento de la CPU, usa certificados SSL ECDSA, TLS 1.2 y prefiere el conjunto de cifrado ECDHE-ECDSA-AES128-GCM-SHA256 para SSL entre el balanceador de cargas y sus instancias.
  • Administración de certificados: La obtención y la administración de tus certificados SSL orientados al cliente pueden correr por cuenta tuya (certificados autoadministrados) o por cuenta de Google (certificados administrados por Google). Solo tienes que aprovisionar certificados en el balanceador de cargas. En tus instancias de máquinas virtuales, puedes simplificar la administración mediante certificados autofirmados.
  • Parches de seguridad: Si surgen vulnerabilidades en la pila SSL o TCP, aplicaremos parches al balanceador de cargas automáticamente para proteger tus instancias.
  • SSL Proxy Load Balancing es compatible con los puertos 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883 y 5222. Cuando usas certificados SSL administrados por Google con SSL Proxy Load Balancing, el puerto de frontend que se usa para el tráfico debe ser 443 a fin de que puedan aprovisionarse y renovarse los certificados SSL administrados por Google.
  • Puedes usar políticas de SSL con SSL Proxy Load Balancing.

Notas:

  • Si bien enviar el tráfico mediante TCP sin encriptar entre la capa de balanceo de cargas y las instancias te permite descargar el procesamiento SSL de tus instancias, no se recomienda hacerlo, ya que la seguridad es menor entre la capa de balanceo de cargas y las instancias.
  • El proxy SSL puede manejar tráfico HTTPS, pero esto no es recomendable. Es mejor que uses balanceo de cargas HTTPS para ese tráfico. Para obtener más detalles, consulta las Preguntas frecuentes.
  • Puedes crear políticas de SSL con la herramienta de línea de comandos de gcloud.
  • Los balanceadores de cargas de proxy SSL no admiten la autenticación basada en certificados de cliente, también denominada autenticación TLS mutua.

En las siguientes secciones, se describe el funcionamiento de SSL Proxy Load Balancing.

Google Cloud Load Balancing con proxy SSL

Con SSL Proxy Load Balancing, las conexiones SSL se finalizan en la capa de balanceo de cartas y, luego, se redirigen mediante proxies al grupo de instancias disponible más cercano.

En este ejemplo el tráfico de los usuarios de Iowa y Boston finaliza en la capa de balanceo de cargas, y se establece una conexión independiente a la instancia de backend seleccionada.

Google Cloud Load Balancing con finalización SSL (haz clic para ampliar)
Google Cloud Load Balancing con finalización SSL (haz clic para ampliar)

Ruta de acceso de retorno

GCP crea rutas especiales que no están en tu red de VPC para las verificaciones de estado. Para obtener información completa sobre esto, lee sobre las rutas de retorno del balanceador de cargas.

Control geográfico sobre dónde se finaliza TLS

El balanceador de cargas de proxy SSL finaliza TLS en ubicaciones distribuidas de manera global a fin de minimizar la latencia entre los clientes y el balanceador de cargas. Si necesitas control geográfico sobre la ubicación dónde finaliza TLS, usa GCP Network Load Balancing y finaliza TLS en backends ubicados en regiones adecuadas para tus necesidades.

Puertos abiertos

Los balanceadores de cargas de proxy SSL son balanceadores de cargas de proxy inverso. El balanceador de cargas finaliza las conexiones entrantes y abre nuevas conexiones del balanceador de cargas a los backends. La función de proxy inverso la proporciona Google Front End (GFE).

Las reglas de firewall que configuras bloquean el tráfico de los GFE a los backends, pero no bloquean el tráfico entrante a los GFE.

Los balanceadores de cargas de proxy SSL tienen una cantidad de puertos abiertos para admitir otros servicios de Google que se ejecutan en la misma arquitectura. Si ejecutas un escaneo de puertos o de seguridad sobre la dirección IP externa de tu balanceador de cargas, parece que hay puertos adicionales abiertos.

Esto no afecta a los balanceadores de cargas de proxy SSL. Las reglas de reenvío externas que se usan en la definición de un balanceador de cargas SSL solo pueden hacer referencia a los puertos TCP 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883 y 5222. El tráfico con un puerto de destino de TCP diferente no se reenvía al backend del balanceador de cargas.

Preguntas frecuentes

¿Cuándo debo usar HTTPS Load Balancing en lugar de SSL Proxy Load Balancing?

Si bien el proxy SSL puede manejar el tráfico HTTPS, HTTPS Load Balancing tiene características adicionales que lo hacen una mejor opción en la mayoría de los casos.

El balanceo de cargas HTTPS tiene las siguientes funciones adicionales:

  • Negocia HTTP/2 y SPDY/3.1.
  • Rechaza solicitudes o respuestas HTTP no válidas.
  • Reenvía solicitudes a diferentes grupos de instancias en función del host y la ruta de URL.
  • Se integra en Cloud CDN.
  • Distribuye la carga de solicitudes de manera más uniforme entre las instancias, lo que proporciona un mejor uso de las instancias. El protocolo HTTPS realiza un balanceo de cargas de cada solicitud por separado, mientras que el proxy SSL envía todos los bytes de la misma conexión SSL o TCP a la misma instancia.

SSL Proxy Load Balancing para Google Cloud puede usarse con otros protocolos que emplean SSL, como IMAP y Websockets mediante SSL.

¿Puedo ver la dirección IP original de la conexión a la capa de balanceo de cargas?

Sí. Puedes configurar el balanceador de cargas para que anteponga un encabezado de protocolo PROXY versión 1 que retenga la información de la conexión original. Para obtener más información, consulta cómo actualizar el encabezado de protocolo PROXY.

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…