Descripción general de grupos de extremos de red de Internet

Un grupo de extremos de red (NEG) define un conjunto de extremos de backend para un balanceador de cargas. Un NEG de Internet es un backend que reside fuera de Google Cloud. Puedes usar un NEG de Internet como backend para un servicio de backend de un balanceador de cargas de HTTP(S) externo de Google Cloud. Debes hacerlo cuando quieras entregar contenido desde un origen que se aloja fuera de Google Cloud y desees que el balanceador de cargas de HTTP(S) externo sea el frontend.

Esto te permite hacer lo siguiente:

  • Usar la infraestructura de Google Edge para finalizar tus conexiones de usuario.
  • Dirige las conexiones a tu origen personalizado.
  • Usar Cloud CDN para tu origen personalizado
  • Enviar tráfico a tu extremo público a través de la red troncal privada de Google, lo que mejora la confiabilidad y puede reducir la latencia entre el cliente y el servidor

En este documento, se analiza el uso de grupos de extremos de red de Internet con el balanceo de cargas de HTTP(S) externo. No puedes usar NEG de Internet con otros tipos de balanceadores de cargas.

Los términos “origen personalizado”, “extremo externo” y “extremo de Internet” suelen usarse de forma indistinta porque tienen el mismo significado. En este documento, se usan los términos internet NEG como el recurso que contiene un internet endpoint.

Para obtener información sobre los NEG zonales, consulta Descripción general de los grupos de extremos de red zonal.

Para obtener información sobre los NEG sin servidores, consulta Descripción general de los grupos de extremos de red zonal.

Descripción general

Los grupos de extremos de red de Internet (NEG) son recursos globales que se alojan dentro de una infraestructura local o en una infraestructura proporcionada por proveedores de terceros.

Puedes usar un NEG de Internet como backend en un servicio de backend para un balanceador de cargas de HTTP(S) externo y asignarlo como el origen a Cloud CDN.

Tipos de extremos

Cuando creas un grupo de extremos de red de Internet, especificas el tipo de extremo de red de INTERNET_FQDN_PORT o INTERNET_IP_PORT:

Dirección del extremo Tipo Definición Cuándo usarla
Nombre de host y un puerto opcional INTERNET_FQDN_PORT Un nombre de dominio completamente calificado que se pueda resolver de forma pública y un puerto opcional, por ejemplo backend.example.com:443 (puertos predeterminados: 80 para HTTP y 443 para HTTPS) Usa este extremo cuando tu origen externo se pueda resolver mediante un nombre de dominio completamente calificado con DNS público.
Dirección IP y un puerto opcional INTERNET_IP_PORT Una dirección IP de acceso público y un puerto opcional, por ejemplo 8.8.8.88.8.8.8:443 (puertos predeterminados: 80 para HTTP y 443 para HTTPS) Usa este extremo a fin de especificar una dirección IP de acceso público y un puerto de conexión.

En un NEG de Internet, no puedes tener más de un extremo. Los grupos de extremos de red de Internet no admiten el tipo de extremo GCE_VM_IP_PORT.

Componentes y especificaciones del balanceo de cargas

Puedes usar un grupo de extremos de red de Internet en un balanceador de cargas mediante el nivel de servicio de red Premium.

Sin embargo, dado que solo se permite un extremo de Internet en cada NEG de Internet, el balanceo de cargas no se realiza realmente. Esto significa que no puedes usar ninguno de los modos de balanceo de cargas, como la tasa o el uso. El balanceador de cargas funciona solo como frontend y actúa como proxy para el tráfico al extremo de Internet especificado.

La selección de reenvío se basa en un mapa de URL. Para los proxies HTTP(S) de destino, el servicio de backend que se usa se determina mediante la verificación del nombre del host de la solicitud y la ruta de acceso en el mapa de URL. Los balanceadores de cargas de HTTP(S) pueden tener varios servicios de backend a los que se hace referencia desde el mapa de URL.

  • Cada balanceador de cargas de HTTP(S) externo tiene su propia regla de reenvío externa global para dirigir el tráfico al objeto proxy de destino apropiado.

  • Si el mapa de URL envía la solicitud a un servicio de backend que contiene un NEG de Internet, el servicio de backend dirige el tráfico a ese NEG de Internet.

En la siguiente ilustración, se muestra un balanceador de cargas de HTTP(S) externo con varios tipos de backend, uno de los cuales es un NEG de Internet.

Grupos de extremos de red de Internet en el balanceo de cargas (haz clic para agrandar)
Grupos de extremos de red de Internet en el balanceo de cargas (haz clic para agrandar)

Servicio de backend

Como se mostró en la sección anterior, un NEG de Internet es un tipo de backend compatible con un servicio de backend de un balanceador de cargas de HTTP(S) externo. Te permite usar la infraestructura periférica global de Google para resolver las solicitudes de los usuarios frente a un origen personalizado.

Cuando agregas un NEG de Internet como backend en un servicio de backend, ocurre lo siguiente:

  • El servicio de backend tampoco puede usar NEG zonales ni grupos de instancias como backends. Todos los backends de un servicio de backend deben ser del mismo tipo.

  • Solo puedes agregar un backend de NEG de Internet al mismo servicio de backend.

  • Puedes agregar solo un extremo a un NEG de Internet.

  • El servicio de backend no puede hacer referencia a una verificación de estado.

  • El esquema de balanceo de cargas del servicio de backend debe ser EXTERNAL y su protocolo debe ser HTTP, HTTPS o HTTP2.

  • Las funciones del servicio de backend son compatibles cuando se usa un NEG de Internet como backend. Se incluyen las siguientes funciones:

Verificaciones de estado

Un servicio de backend que usa un NEG de Internet como backend no admite una verificación de estado. Google Cloud no proporciona la verificación de estado para ningún extremo de Internet ni origen personalizado.

Si tu extremo de Internet se vuelve inaccesible o si el nombre de host configurado (FQDN) no se puede resolver, el balanceador de cargas de HTTP(S) externo muestra una respuesta HTTP 502 (puerta de enlace incorrecta) a sus clientes.

Autentica solicitudes

Para permitir que un balanceador de cargas de HTTP(S) externo envíe solicitudes a tu NEG de Internet, haz lo siguiente:

  • Consulta el registro TXT _cloud-eoips.googleusercontent.com de DNS mediante una herramienta como dig o nslookup. Toma nota de los CIDR (después de ip4:) y asegúrate de que el firewall o la Lista de control de acceso (LCA) a la nube permitan esos rangos.
  • Puedes configurar un encabezado personalizado para indicar que la solicitud provino de un balanceador de cargas de HTTP(S) externo de Google Cloud mediante un encabezado de solicitud personalizado.
    • Por ejemplo, puedes usar 16 o más bytes criptográficos aleatorios como clave compartida.
  • También puedes habilitar Identity-Aware Proxy (IAP) y verificar que el JWT firmado en el encabezado de la solicitud esté firmado por Google y que la reclamación aud (público) contenga el número de proyecto en el que se define el balanceador de cargas de HTTP(S) externo. Ten en cuenta que IAP no es compatible con Cloud CDN.

Validación de certificación del servidor SSL y validación de SAN

Si usas HTTPS o HTTP/2 como protocolo de backend, te recomendamos que uses INTERNET_FQDN_PORT para crear tu extremo de Internet.

Cuando se crea un extremo de Internet mediante INTERNET_FQDN_PORT, el balanceador de cargas valida el certificado del servidor SSL que presenta el extremo de Internet y verifica que se cumpla lo siguiente:

  • El certificado esté firmado por CA conocidas.
  • El certificado no haya caducado.
  • La firma del certificado sea válida.
  • El FQDN configurado coincida con uno de los nombres alternativos de sujeto (SAN) en el certificado.

Compatibilidad con la extensión de indicación de nombre del servidor (SNI) de SSL

La SNI solo se admite cuando usas INTERNET_FQDN_PORT con HTTPS o HTTP/2 como protocolo de backend. En este caso, el FQDN configurado recibe una SNI en la bienvenida del cliente durante el protocolo de enlace SSL entre el balanceador de cargas y el extremo externo. La SNI no se envía cuando configuras el extremo como INTERNET_IP_PORT, porque los literales de dirección IP no están permitidos en el campo HostName de una carga útil de SNI.

Resolución de dirección IP para extremos FQDN

Cuando un extremo INTERNET_FQDN_PORT apunta a un registro DNS que muestra varias direcciones IP, la dirección IP se resuelve de la siguiente manera:

  • El balanceador de cargas de HTTP(S) externo intenta conectarse a la primera dirección IP en la respuesta DNS. Si no se puede acceder a esa dirección IP, el balanceador de cargas muestra una respuesta HTTP 502 (Puerta de enlace incorrecta). Esto es así incluso si están disponibles otras direcciones IP de la respuesta de DNS.

  • El balanceador de cargas de HTTP(S) externo usa un agente de resolución de DNS en una región de Google Cloud que está más cerca de su cliente en Internet. Si el registro DNS de tu extremo INTERNET_FQDN_PORT muestra direcciones IP diferentes según la ubicación del cliente, asegúrate de que el balanceador de cargas pueda acceder a cada una de esas direcciones IP.

Para obtener más información sobre las ubicaciones y los rangos de IP que usa la infraestructura del agente de resolución de DNS de Google, consulta la documentación de DNS público de Google.

Registros

Las solicitudes enviadas mediante proxy a un extremo de Internet se registran en Cloud Logging de la misma manera que las solicitudes de otros backends de balanceo de cargas de HTTP(S). Para obtener más información, consulta Registro y supervisión del balanceo de cargas de HTTP(S) interno.

Si habilitas Cloud CDN para un extremo de Internet, también se registrarán los aciertos de caché.

Procesamiento del encabezado

Cuando un balanceador de cargas de HTTP(S) externo envía solicitudes a un extremo de Internet, ajusta los encabezados HTTP de las siguientes maneras:

  • Algunos encabezados se combinan. Cuando hay varias instancias de la misma clave de encabezado (por ejemplo, Via), el balanceador de cargas combina sus valores en una lista separada por comas para una sola clave de encabezado. Solo se agrupan los encabezados cuyos valores se pueden representar como una lista separada por comas. Otros encabezados, como Set-Cookie, nunca se combinan.

  • Los encabezados son correctos cuando el protocolo del servicio de backend es HTTP o HTTPS:

    • La primera letra de la clave del encabezado y todas las letras que siguen a un guion (-) se escriben en mayúsculas para preservar la compatibilidad con clientes HTTP/1.1. Por ejemplo, user-agent se cambia a User-Agent, y content-encoding se cambia a Content-Encoding.

    • Ciertos encabezados (como TE (codificación de transferencia) y Accept-CH (sugerencias de cliente)) se convierten para coincidir con la representación de letras mixtas estándar.

  • Algunos encabezados se agregan o se les agregan valores. Los balanceadores de cargas de HTTP(S) externos siempre agregan o modifican determinados encabezados, como Via y X-Forwarded-For.

Limitaciones

  • Un extremo de Internet con un FQDN definido debe poder resolverse mediante el DNS público de Google.
  • Un extremo de Internet debe ser una dirección IPv4 de enrutamiento público o resolverse en una:
    • Un extremo de Internet no puede ser una dirección RFC 1918.
    • Debe ser accesible a través de Internet. No se puede acceder al extremo solo desde Cloud VPN o Cloud Interconnect.
    • Si el extremo de Internet hace referencia a un servicio o API de Google, se debe poder acceder al servicio a través del puerto TCP 80443 mediante el protocolo “HTTP, HTTPS or HTTP/2”.
  • Solo puedes usar NEG de Internet en el nivel de servicio de red Premium, que es el nivel predeterminado. Para obtener más información, consulta la documentación de niveles de servicio de red.
  • Debes usar la IP:{puerto opcional} para el extremo INTERNET_IP_PORT o FQDN:{puerto opcional} para INTERNET_FQDN_PORT.
  • Cuando se usa un NEG con el tipo de extremo INTERNET_FQDN_PORT o INTERNET_IP_PORT, solo se puede agregar un extremo al NEG. Esto significa que cuando se usa un NEG con un tipo de extremo de red INTERNET_FQDN_PORT o INTERNET_IP_PORT en un backendService, no puedes adjuntar varios NEG al backendService.
  • Por el momento, el balanceo de cargas no es compatible con los extremos de Internet. Las solicitudes solo se envían mediante proxy al extremo. La infraestructura de Google Edge interrumpe las conexiones de usuario y, luego, dirige las conexiones a tu extremo de Internet.
  • Puedes usar NEG de Internet sin Cloud CDN habilitado. Con esta configuración, aún no puedes adjuntar varios NEG al servicio de backend. Es decir, la restricción de un solo extremo permanece.
  • No se realiza ninguna verificación de estado para el NEG de Internet. Si tu extremo de Internet se vuelve inaccesible o si se especifica como un FQDN, pero no se puede resolver, Cloud CDN envía un mensaje 502 (Bad Gateway) como respuesta a las solicitudes de usuarios.
  • Cuando se usa un origen personalizado que espera un valor particular para el encabezado Host de la solicitud HTTP, debes configurar el servicio de backend a fin de establecer el encabezado Host en ese valor esperado. Si no configuras un encabezado de solicitud personalizado, un servicio de backend conserva el encabezado Host que el cliente usó para conectarse al balanceador de cargas de HTTP(S) externo de Google Cloud. Para obtener información general sobre los encabezados de solicitud personalizados, consulta Crea encabezados de solicitud personalizados. Para ver un ejemplo específico, consulta Configura un balanceador de cargas con un origen personalizado.

Cuota

Puedes configurar tantos NEG con extremos de red externos como lo permita la cuota de tu grupo de extremos de red existente. Para obtener más información, consulta Backends de NEG y Extremos por NEG.

Precios

El tráfico de salida al extremo de un NEG de Internet (tipo INTERNET_FQDN_PORT o INTERNET_IP_PORT) se cobra según las tarifas de salida de Internet para redes de nivel Premium.

La fuente se basa en la ubicación del cliente, y el destino se basa en la ubicación de tu extremo público.

Si deseas obtener más información, consulta Precios de Cloud CDN para orígenes personalizados.

Próximos pasos