Usa back-ends externos (también llamados orígenes personalizados) para Cloud CDN (red de distribución de contenido) cuando el contenido esté alojado en entornos on-premise o en otra nube y quieras distribuirlo a través de la infraestructura de almacenamiento en caché perimetral, distribuida y de alto rendimiento de Google.
Terminología
Los siguientes términos se utilizan a veces indistintamente porque tienen el mismo significado o uno similar:
- Backend externo: un backend que se encuentra fuera de Google Cloud y al que se puede acceder a través de Internet. El punto final de un NEG de Internet.
- Grupo de puntos finales de red de Internet (NEG): el recurso de la API Google Cloud que usas para especificar un backend externo.
- Endpoint externo: es lo mismo que un backend externo.
Para mantener la coherencia con la documentación sobre balanceo de carga, en este documento se usa el término backend externo, excepto cuando se hace referencia al recurso de la API NEG de Internet.
Tipos de backend admitidos en Cloud CDN
Cloud CDN funciona con un balanceador de carga de aplicaciones externo para distribuir el contenido entre los usuarios. El balanceador de carga de aplicación externo proporciona las direcciones IP de frontend y los puertos que reciben solicitudes. El contenido de Cloud CDN puede proceder de varios tipos de backends:
- Grupos de instancias
- Grupos de puntos finales de red (NEGs) por zonas
- NEGs sin servidor: uno o varios servicios de App Engine, Cloud Run o funciones de Cloud Run
- NEGs de Internet para backends externos
- Segmentos de Cloud Storage
Los back-ends externos se pueden alojar en una infraestructura local o en orígenes proporcionados por proveedores externos. En las siguientes secciones se tratan los back-ends externos con más detalle.
Arquitecturas híbridas y multinube
Cuando traslades tus servicios a Google Cloud, es posible que tengas que hacerlo por fases. A veces, no se puede mover cierto contenido inmediatamente a un entorno de nube y es posible que deba permanecer en las instalaciones. En otros casos, el contenido puede estar alojado en otra nube. La compatibilidad de Cloud CDN con backends externos te permite usar la infraestructura de almacenamiento en caché perimetral distribuida a nivel mundial de Google para este tipo de contenido.
En el diagrama, el contenido images
se encuentra en Google Cloud, mientras que video
se encuentra en un centro de datos de Tokio, que podría ser local o estar en otra nube.
Con los backends externos, los orígenes del centro de datos de Tokio pueden ser la fuente de backend del contenido video
con Cloud CDN, y el balanceador de carga de aplicaciones externo puede proporcionar el contenido a los usuarios.
Con los mapas de URLs, esta implementación puede dirigir las solicitudes de extracción de origen del tráfico de vídeo al backend externo de Tokio.
Esta asignación se determina en función de la URL de la solicitud: /video
.
En el caso de las imágenes (determinadas en función de la URL de la solicitud: /images
), el contenido se obtiene de Google Cloud y se entrega mediante la infraestructura perimetral de Cloud CDN.
Especificar un backend externo
Al igual que cuando se configura Cloud CDN con los endpoints desplegados enGoogle Cloud, puedes usar la API de grupos de endpoints de red (NEG) para añadir tu servidor como backend externo de Cloud CDN.
Para especificar el backend externo, usa un NEG de Internet. Un NEG de Internet tiene uno de los tipos de endpoint que se muestran en la siguiente tabla.
Dirección del endpoint | Tipo | Definición | Cuándo se puede utilizar |
---|---|---|---|
Nombre de host y puerto opcional | INTERNET_FQDN_PORT |
Un nombre de dominio completo (FQDN) que se pueda resolver públicamente y un puerto opcional, por ejemplo, backend.example.com:443 (puertos predeterminados: 80 para HTTP y 443 para HTTPS) |
Usa este endpoint cuando tu backend externo se pueda resolver mediante un FQDN con DNS público. |
Dirección IP y puerto opcional | INTERNET_IP_PORT |
Una dirección IP de acceso público y un puerto opcional, por ejemplo, 192.0.2.8 o 192.0.2.8:443 (puertos predeterminados:
80 para HTTP y 443 para HTTPS) |
Usa este endpoint para especificar una dirección IP accesible públicamente y un puerto al que conectarte. |
La práctica recomendada es crear el NEG de Internet con el tipo de endpoint INTERNET_FQDN_PORT
y un valor de FQDN como valor de nombre de host de origen. De esta forma, la configuración de Cloud CDN no se ve afectada por los cambios en las direcciones IP de la infraestructura de origen. Los endpoints de red que se definen mediante FQDNs se resuelven a través de DNS público. Asegúrate de que el FQDN configurado se pueda resolver a través del DNS público de Google.
Una vez que hayas creado el NEG de Internet, no podrás cambiar el tipo entre INTERNET_FQDN_PORT
y INTERNET_IP_PORT
. Debes crear un nuevo NEG de Internet y cambiar tu servicio de backend para que use el nuevo NEG de Internet.
Cuando se usa un backend externo que espera un valor concreto para el encabezado Host
de la solicitud HTTP, se debe configurar el servicio de backend para que asigne el valor esperado al encabezado Host
. Si no configuras un encabezado de solicitud definido por el usuario, un servicio de backend conserva el encabezado Host
que el cliente ha usado para conectarse al balanceador de carga de aplicaciones externo Google Cloud . Para obtener información general sobre los encabezados personalizados, consulta el artículo Crear encabezados personalizados en servicios de backend.
Para ver un ejemplo concreto, consulta Configurar Cloud CDN con un backend externo.
Usar backends externos y orígenes basados en Google Cloud
En la siguiente figura se muestra un NEG de Internet que se usa para desplegar un backend externo con un balanceador de carga de aplicaciones externo y Cloud CDN.
Siguientes pasos
- Para configurar un backend externo, consulta Configurar un backend externo con un NEG de Internet.
- Para saber qué contenido se almacena en caché, consulta el artículo Descripción general del almacenamiento en caché.
- Para solucionar los problemas, consulta Solucionar problemas de backend externo y NEG de Internet.