Cloud CDN (red de distribución de contenido) usa la red perimetral mundial de Google para servir contenido más cerca de los usuarios, lo que acelera tus sitios web y aplicaciones.
Cloud CDN funciona con el balanceador de carga de aplicación externo global o el balanceador de carga de aplicación clásico para distribuir el contenido entre los usuarios. El balanceador de carga de aplicaciones externo proporciona las direcciones IP de frontend y los puertos que reciben solicitudes, así como los backends que responden a ellas.
El contenido de Cloud CDN puede proceder de varios tipos de backends.
En Cloud CDN, estos backends también se denominan servidores de origen. En la figura 1 se muestra cómo fluyen las respuestas de los servidores de origen que se ejecutan en instancias de máquinas virtuales (VM) a través de un balanceador de carga de aplicaciones externo antes de que Cloud CDN las entregue. En esta situación, el frontend de Google (GFE) incluye Cloud CDN y el balanceador de carga de aplicaciones externo.
Cómo funciona Cloud CDN
Cuando un usuario solicita contenido a un balanceador de carga de aplicaciones externo, la solicitud llega a un GFE que se encuentra en el límite de la red de Google, lo más cerca posible del usuario.
Si el mapa de URLs del balanceador de carga enruta el tráfico a un servicio de backend o a un bucket de backend que tiene configurada la CDN de Cloud, el GFE usa la CDN de Cloud.
Hits y fallos de caché
Una caché es un grupo de servidores que almacena y gestiona contenido para que las solicitudes futuras de ese contenido se puedan atender más rápido. El contenido almacenado en caché es una copia del contenido que se puede almacenar en caché y que se almacena en los servidores de origen.
Si el GFE busca en la caché de Cloud CDN y encuentra una respuesta almacenada en caché a la solicitud del usuario, el GFE envía la respuesta almacenada en caché al usuario. Esto se denomina acierto de caché. Cuando se produce un acierto de caché, GFE busca el contenido por su clave de caché y responde directamente al usuario, lo que reduce el tiempo de ida y vuelta y evita que el servidor de origen tenga que procesar la solicitud.
Se produce un resultado parcial cuando una solicitud se sirve parcialmente desde la caché y parcialmente desde un backend. Esto puede ocurrir si solo se almacena en la caché de Cloud CDN una parte del contenido solicitado, tal como se describe en Compatibilidad con solicitudes de intervalo de bytes.
La primera vez que se solicita un contenido, el GFE determina que no puede atender la solicitud desde la caché. Esto se denomina fallo de caché. Cuando se produce un fallo de caché, el GFE reenvía la solicitud al balanceador de carga de aplicación externo. A continuación, el balanceador de carga reenvía la solicitud a uno de tus servidores de origen. Cuando la caché recibe el contenido, el GFE lo reenvía al usuario.
Si la respuesta del servidor de origen a esta solicitud es almacenable en caché, Cloud CDN almacena la respuesta en la caché de Cloud CDN para futuras solicitudes. La transferencia de datos de una caché a un cliente se denomina salida de caché. La transferencia de datos a una caché se denomina entrada en caché.
En la figura 2 se muestra un acierto y un fallo de caché:
- Los servidores de origen que se ejecutan en instancias de VM envían respuestas HTTP(S).
- El balanceador de carga de aplicación externo distribuye las respuestas a Cloud CDN.
- Cloud CDN envía las respuestas a los usuarios finales.
Para obtener información sobre los costes relacionados con los aciertos y los fallos de caché, consulta la página Precios.
Tasa de resultados en caché
La proporción de resultados en caché es el porcentaje de veces que se sirve un objeto solicitado desde la caché. Si la proporción de aciertos de caché es del 60%, significa que el objeto solicitado se sirve desde la caché el 60% de las veces y debe recuperarse del origen el 40% de las veces.
Para obtener información sobre cómo pueden afectar las claves de caché a la proporción de aciertos de caché, consulta Usar claves de caché. Para obtener información sobre cómo solucionar problemas, consulta La proporción de aciertos de caché es baja.
Ver la proporción de aciertos de caché de un periodo breve
Para ver la proporción de aciertos de caché de un periodo breve (los últimos minutos), siga estos pasos:
En la Google Cloud consola, ve a la página Cloud CDN.
En cada origen, consulte la columna Ratio de aciertos de caché.
n/a significa que el contenido con equilibrio de carga no está en la caché o no se ha solicitado recientemente.
Ver la proporción de resultados en caché durante un periodo más largo
Para ver la proporción de aciertos de caché de un periodo de entre 1 hora y 30 días, siga estos pasos:
- En la Google Cloud consola, ve a la página Cloud CDN.
- En la columna Nombre de origen, haga clic en el nombre del origen.
- Haz clic en la pestaña Monitorización.
- Opcional: selecciona un backend específico.
El porcentaje de aciertos de la CDN es uno de los gráficos de monitorización disponibles. Un gráfico que muestra n/a significa que el contenido no está en caché o que no se ha solicitado en el intervalo de tiempo mostrado.
Puedes ajustar el periodo seleccionando otro intervalo de tiempo. La siguiente imagen muestra un ejemplo de los intervalos de tiempo que puedes seleccionar:
Insertar contenido en la caché
El almacenamiento en caché es reactivo, ya que un objeto se almacena en una caché concreta si una solicitud pasa por esa caché y si la respuesta se puede almacenar en caché. Un objeto almacenado en una caché no se replica automáticamente en otras cachés. El llenado de la caché solo se produce en respuesta a una solicitud iniciada por el cliente. No puedes precargar cachés, salvo haciendo que los cachés individuales respondan a las solicitudes.
Si el servidor de origen admite solicitudes de intervalo de bytes, Cloud CDN puede iniciar varias solicitudes de relleno de caché en respuesta a una sola solicitud de cliente.
Servir contenido desde una caché
Una vez que habilites Cloud CDN, el almacenamiento en caché se realizará automáticamente en todo el contenido almacenable en caché. Tu servidor de origen usa encabezados HTTP para indicar qué respuestas se almacenan en caché. También puedes controlar si se puede almacenar en caché mediante cache modes.
Cuando usas un segmento de backend, el servidor de origen es Cloud Storage. Cuando usas instancias de VM, el servidor de origen es el software del servidor web que ejecutas en esas instancias.
Cloud CDN usa cachés en numerosas ubicaciones de todo el mundo. Debido a la naturaleza de las cachés, es imposible predecir si una solicitud concreta se enviará desde una caché. Sin embargo, puedes esperar que las solicitudes populares de contenido que se puede almacenar en caché se sirvan desde una caché la mayoría de las veces, lo que reduce significativamente la latencia, el coste y la carga de tus servidores de origen.
Para obtener más información sobre qué almacena en caché Cloud CDN y durante cuánto tiempo, consulta la información general sobre el almacenamiento en caché.
Para ver qué está sirviendo Cloud CDN desde una caché, puedes consultar los registros.
Retirar contenido de la caché
Para quitar un elemento de una caché, puedes invalidar el contenido almacenado en caché. Para obtener más información, consulta:
Evitar la caché
Para saltarte Cloud CDN, puedes solicitar un objeto directamente desde un segmento de Cloud Storage o una VM de Compute Engine. Por ejemplo, la URL de un objeto de un segmento de Cloud Storage tiene este aspecto:
https://storage.googleapis.com/STORAGE_BUCKET/FILENAME
Expulsión y caducidad
Para que el contenido se sirva desde una caché, debe haberse insertado en la caché, no debe haberse expulsado y no debe haber caducado.
Desalojo y vencimiento son dos conceptos diferentes. Ambos afectan al contenido que se sirve, pero no se influyen directamente entre sí.
Desalojo
Si pruebas el almacenamiento en caché de contenido con un número reducido de solicitudes, es posible que observes que el contenido se expulsa.
Cada caché tiene un límite de almacenamiento. Sin embargo, Cloud CDN añade contenido a las cachés incluso después de que estén llenas. Para insertar contenido en una caché llena, la caché primero elimina otro elemento para hacer espacio. Esto se denomina desahucio. Las cachés suelen estar llenas, por lo que eliminan contenido constantemente. Por lo general, se elimina el contenido al que no se ha accedido recientemente, independientemente de su tiempo de vencimiento. El contenido expulsado puede haber caducado o no. Definir una hora de vencimiento no afecta al desalojo.
Contenido poco popular: contenido al que no se ha accedido en un tiempo. Hace un tiempo y Poco popular son valores relativos a la mayoría de los demás elementos de la caché. Varios Google Cloud proyectos comparten un mismo grupo de espacio de caché porque se sirven desde el mismo conjunto de GFEs. La popularidad relativa del contenido se compara entre varios proyectos, no solo dentro de un único proyecto.
A medida que las cachés reciben más tráfico, también eliminan más contenido almacenado en caché.
Al igual que ocurre con todas las cachés a gran escala, el contenido se puede expulsar de forma impredecible, por lo que no se garantiza que se sirva ninguna solicitud concreta desde la caché.
Caducidad
El contenido de las cachés HTTP(S) puede tener un tiempo de vencimiento configurable. El tiempo de vencimiento indica a la caché que no debe servir contenido antiguo, aunque no se haya eliminado.
Por ejemplo, supongamos que tiene una URL de una imagen de la hora. Sus respuestas deberían caducar en menos de una hora. De lo contrario, el contenido servido podría ser una imagen antigua de una caché.
Para obtener información sobre cómo ajustar los tiempos de vencimiento, consulta Usar la configuración de TTL y las anulaciones.
Solicitudes iniciadas por Cloud CDN
Si tu servidor de origen admite solicitudes de intervalo de bytes, Cloud CDN puede enviar varias solicitudes al servidor de origen en respuesta a una sola solicitud de cliente. Como se describe en Compatibilidad con solicitudes de intervalo de bytes, Cloud CDN puede iniciar dos tipos de solicitudes: solicitudes de validación y solicitudes de intervalo de bytes.
Configuración de la ubicación de los datos de otros servicios de Cloud Platform
Si usas Cloud CDN, los datos se pueden almacenar en ubicaciones de servicio que estén fuera de la región o la zona de tu servidor de origen. Es normal y así es como funciona el almacenamiento en caché de HTTP en Internet. De acuerdo con los Términos Específicos del Servicio de los Términos del Servicio de Google Cloud Platform, el ajuste de ubicación de datos que está disponible para determinados servicios de Cloud Platform no se aplica a los Datos Clave del Cliente del servicio de Cloud Platform correspondiente cuando se usa con otros productos y servicios de Google (en este caso, el servicio Cloud CDN). Si no quieres que esto ocurra, no uses el servicio Cloud CDN.
Compatibilidad con certificados SSL gestionados por Google
Puedes usar certificados gestionados por Google cuando Cloud CDN esté habilitado.
Integración con Google Cloud Armor
Google Cloud Armor con Cloud CDN incluye dos tipos de políticas de seguridad:
- Políticas de seguridad de Edge Estas políticas se pueden aplicar a los servidores de origen con Cloud CDN habilitado. Se aplican a todo el tráfico antes de la búsqueda de la CDN.
- Políticas de seguridad de backend. Estas políticas solo se aplican en el caso de las solicitudes de contenido dinámico, de datos que no están en caché o de otras solicitudes dirigidas a tu servidor de origen.
Para obtener más información, consulta la documentación de Cloud Armor.
Integración con Service Extensions
Cloud CDN te permite añadir código personalizado a la ruta de procesamiento de solicitudes de los balanceadores de carga de aplicaciones externos globales mediante extensiones de borde de extensiones de servicio. Estas extensiones le ayudan a implementar personalizaciones en la ruta de solicitud previa a la caché e influyen en cómo se almacena el contenido en caché en Cloud CDN. Esta función está en versión preliminar.
Para obtener más información, consulta Usar extensiones de servicio para computación en el extremo.
Siguientes pasos
- Para habilitar Cloud CDN en tus instancias con balanceo de carga HTTP o HTTPS y en tus cubos de almacenamiento, consulta el artículo Usar Cloud CDN.
- Para usar Cloud CDN con Google Kubernetes Engine, consulta Configurar Cloud CDN a través de Ingress.
- Para encontrar puntos de presencia de GFE, consulta Ubicaciones de caché.