En esta página se describen las opciones que tiene para controlar cómo se almacenan en caché sus objetos de Cloud Storage. Esta página se centra en la caché integrada de Cloud Storage y en Cloud CDN, pero Cloud Storage también es compatible con redes de distribución de contenido (CDNs) de terceros.
Información general
Controla el almacenamiento en caché de tus objetos de Cloud Storage para mejorar el rendimiento de las aplicaciones y mantener la actualidad del contenido. El almacenamiento en caché de datos de objetos almacena copias de los datos en las cachés de Google o de Internet, lo que acelera las futuras solicitudes de lectura de datos. Cloud Storage ofrece almacenamiento en caché integrado que se comporta como una CDN. Puedes gestionar este almacenamiento en caché integrado a través de los Cache-Controlmetadatos, que definen cómo y durante cuánto tiempo almacenan las cachés tus objetos.
Para tener un control más avanzado, usa el almacenamiento en caché de Cloud Storage con Cloud CDN o consulta Anywhere Cache.
Almacenamiento en caché con Anywhere Cache
Anywhere Cache proporciona un caché de lectura zonal totalmente gestionado y siempre coherente que se basa en unidades SSD y que se puede crear en las mismas zonas que tus cargas de trabajo de Compute. Las cachés se usan para acelerar el servicio de datos en cargas de trabajo grandes que requieren un uso intensivo de datos. Los datos que se leen de una caché tienen tarifas de transferencia de datos reducidas en comparación con los datos que se leen directamente de los segmentos multirregionales, lo que te permite optimizar los costes.
Para obtener más información, consulta Anywhere Cache.
Almacenamiento en caché integrado para Cloud Storage
Cloud Storage puede comportarse como una red de distribución de contenido (CDN) sin que tengas que hacer nada, ya que los datos de un objeto se almacenan en caché en la red de Cloud Storage si los Cache-Controlmetadatos se han configurado para permitir el almacenamiento en caché y se cumplen los siguientes criterios:
- El objeto es de acceso público.
- El objeto no está almacenado en un segmento que tenga habilitada la opción Paga el solicitante y no se encuentra dentro de un perímetro de servicio de nube privada virtual.
- El objeto no está encriptado con claves de encriptado gestionadas por el cliente ni con claves de encriptado proporcionadas por el cliente.
Cloud Storage respeta los valores estándar de
Cache-Control, como los siguientes:
public: el objeto se puede almacenar en caché.private: Cloud Storage no almacenará en caché el objeto, pero se podrá almacenar en la caché local de un solicitante.no-cache: el objeto se puede almacenar en caché, pero no se puede usar para satisfacer futuras solicitudes a menos que Cloud Storage lo valide primero.no-store: el objeto no se puede almacenar en caché.max-age=TIME_IN_SECONDS: el tiempo que puede almacenarse en caché un objeto antes de que se considere obsoleto. Puedes configurarmax-agepara cualquier periodo. Los objetos obsoletos no se sirven desde las cachés, excepto en circunstancias especiales.
Para definir los metadatos Cache-Control de un objeto, consulta Editar metadatos de objetos.
Comportamiento de almacenamiento en caché integrado con las políticas de denegación de gestión de identidades y accesos
Si hay una política de denegación de gestión de identidades y accesos a nivel de organización que restringe el acceso de lectura a un objeto desde el identificador principal allUsers, la caché integrada se inhabilita para el objeto, aunque haya una política de gestión de identidades y accesos a nivel de segmento que conceda acceso de lectura al objeto a allUsers.
Sin embargo, si la política de denegación de gestión de identidades y accesos solo restringe a usuarios concretos, el almacenamiento en caché integrado seguirá habilitado para el objeto.
Consideraciones sobre el rendimiento.
El rendimiento de los objetos es mucho mejor cuando se pueden almacenar en caché de forma pública. Si utilizas un objeto para controlar a muchos clientes y te gustaría inhabilitar el almacenamiento en caché para proporcionar los datos más recientes, haz lo siguiente:
Prueba a configurar los metadatos
Cache-Controldel objeto comopubliccon un valormax-ageentre 15 y 60 segundos. La mayoría de las aplicaciones pueden tolerar que un objeto esté obsoleto durante unos segundos a cambio de mejorar el rendimiento.Utiliza
Cache-Control: no-storeen un objeto para que, a partir de ese momento, no se guarde en caché cuando se realicen solicitudes de almacenamiento en caché.
Cloud Storage con Cloud CDN
Para obtener el mejor rendimiento al distribuir contenido a los usuarios, te recomendamos que uses Cloud Storage con Cloud CDN. En comparación con las funciones de almacenamiento en caché que ofrece Cloud Storage por sí solo, Cloud CDN ofrece un rendimiento mejorado, tamaños de archivo almacenables en caché más grandes y funciones como la invalidación de caché.
Para usar Cloud CDN, debes usar un balanceador de carga de aplicaciones externo con tus segmentos de Cloud Storage como backend. Para ver un tutorial sobre cómo configurar un balanceador de carga HTTP(S) con un segmento de Cloud Storage, consulta Alojar un sitio web estático.
Los modos de caché de Cloud CDN te permiten aplicar una configuración de almacenamiento en caché unificada a todos tus objetos. Cloud CDN usa el conjunto de metadatos Cache-Controldefinido en tus objetos para determinar cómo se deben almacenar en caché, a menos que anules los metadatos Cache-Controlcon un modo de caché o un límite de TTL.
Tenga en cuenta las diferencias en las funciones y las implicaciones de los precios al elegir entre el almacenamiento en caché integrado de Cloud Storage y Cloud CDN:
Diferencias en las funciones
| Función | Cloud Storage | Cloud CDN |
|---|---|---|
| Tamaño máximo de archivo que se puede almacenar en caché | 10 MiB | 100 GiB 1 |
| Vencimiento predeterminado de la caché | 1 hora | 1 hora (configurable) |
| Compatibilidad con dominios personalizados a través de HTTPS | No | Sí |
| Invalidación de caché | No | Sí |
1 El tamaño máximo de archivo que se puede almacenar en caché en Cloud CDN es de 100 GiB si el servidor de origen admite solicitudes de intervalo de bytes. Si el servidor de origen no admite solicitudes de intervalo de bytes, el tamaño máximo de archivo que se puede almacenar en caché en Cloud CDN es de 10 MiB.
Consideraciones sobre los precios
En cuanto a los precios, la elección entre el almacenamiento en caché integrado de Cloud Storage y Cloud CDN depende de la cantidad de datos que sirvas cada mes, lo que determina el importe de los costes de red que incurras.
Si sirves menos de unos pocos GiB de datos almacenables en caché al mes, puede que te resulte más económico usar el almacenamiento en caché integrado de Cloud Storage. El almacenamiento en caché de Cloud Storage puede generar costes de red más elevados que Cloud CDN, ya que los objetos almacenados en caché y los que no se almacenan en caché se cobran con el mismo coste de transferencia de datos saliente (lo que significa que pagas el precio completo por los aciertos de caché). Sin embargo, solo pagas los costes de uso del almacenamiento de datos y las operaciones asociadas a Cloud Storage, en lugar de la combinación de Cloud Storage, Cloud CDN y Cloud Load Balancing.
Si sueles servir 100 GiB o más de datos almacenables en caché al mes, o necesitas usar el registro por solicitud y los encabezados personalizados, puede que te resulte más económico usar Cloud CDN. Se aplican cargos por transferencia de datos saliente de Cloud Storage y por entrada en caché de Cloud CDN, y los precios de la red de Cloud CDN se aplican cuando la caché está llena. El ahorro en costes de redes que obtienes al usar Cloud CDN puede compensar los costes operativos más altos asociados al mantenimiento del balanceador de carga de aplicación externo y Cloud CDN junto con Cloud Storage.
Siguientes pasos
- Consulta más información sobre los metadatos
Cache-Control. - Más información sobre las directivas
Cache-ControlRFC - Consulta la información general sobre el almacenamiento en caché de Cloud CDN.
- Consulta cómo crear un balanceador de carga HTTP(S) externo para atender solicitudes de tu bucket de Cloud Storage.
- Consulta los detalles de los precios de los balanceadores de carga de aplicación externos y de Cloud CDN.