Almacenamiento en caché

En esta página se describen las opciones que tienes para controlar cómo se almacenan en caché tus 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 CDNs de terceros.

Información general

Cuando se almacena en caché un objeto de Cloud Storage, se guardan copias de los datos del objeto en una caché de Google o de Internet para que el objeto se pueda servir más rápido en futuras solicitudes. Aunque el almacenamiento en caché puede mejorar el rendimiento, también corres el riesgo de servir contenido obsoleto si actualizas un objeto, pero una caché sigue sirviendo la versión anterior del objeto.

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:

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 configurar max-age para 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 gestión de identidades y accesos de denegación

Cuando hay una política de denegación de IAM 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 IAM 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-Control del objeto como public con un valor max-age entre 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-store en un objeto para que, a partir de ese momento, no se guarde en caché cuando se realicen solicitudes de almacenamiento en caché.

Usar Anywhere Cache con tus segmentos

Anywhere Cache es una función de Cloud Storage totalmente gestionada y siempre coherente que te permite crear cachés en la misma zona que tus cargas de trabajo. Las cachés se pueden usar para completar solicitudes de lectura de datos en lugar de tu cubo multirregional, lo que te ayuda a controlar los costes de almacenamiento al ejecutar cargas de trabajo grandes y con muchos datos que, de lo contrario, incurrirían en tarifas de transferencia de datos multirregionales y afectarían al rendimiento. Para obtener más información sobre Anywhere Cache, sus ventajas y cuándo deberías usar esta función, consulta el artículo sobre Anywhere Cache.

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.

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 los metadatos Cache-Controldefinidos 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.

Cuando tengas que elegir entre el almacenamiento en caché integrado de Cloud Storage y Cloud CDN, ten en cuenta lo siguiente:

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
Invalidación de caché No

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 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 red que obtienes al usar Cloud CDN puede compensar los costes operativos más altos asociados al mantenimiento del balanceador de carga de aplicaciones externo y Cloud CDN junto con Cloud Storage.

Siguientes pasos