Cambiar los modos de almacenamiento en caché

En esta página, se proporcionan instrucciones para cambiar los modos de almacenamiento en caché con Cloud CDN. Los modos de almacenamiento en caché te permiten configurar cómo Cloud CDN almacena en caché tu contenido.

Antes de comenzar

Configura el modo de almacenamiento en caché

Para configurar los modos de almacenamiento en caché para un backend habilitado para Cloud CDN, sigue estos pasos:

Console

  1. En la consola de Google Cloud, ve a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el nombre de tu balanceador de cargas de aplicaciones externo.
  3. Haz clic en Editar .
  4. En Configuración de backend, selecciona un backend y haz clic en Editar .
  5. Asegúrate de que la opción Habilitar Cloud CDN esté seleccionada.
  6. En Modo de almacenamiento en caché, selecciona una de las siguientes opciones:
    • Almacena el contenido estático en caché (recomendado): El contenido estático consiste en recursos web que no cambian para cada usuario. El contenido estático se basa en el Content-Type en la respuesta. Para obtener más información, consulta contenido estático.
    • Usa la configuración de origen en función de los encabezados Cache-Control: Almacena en caché respuestas con directivas de caché válidas en los encabezados de respuesta.
    • Fuerza el almacenamiento en caché de todo el contenido: Almacena en caché todo el contenido que entrega el origen, sin importar las directivas private o no-store.
  7. Haz clic en Guardar.

gcloud

Para los servicios de backend, usa el comando gcloud compute backend-services create o gcloud compute backend-services update con la marca --cache-mode.

Para los buckets de backend, usa el comando gcloud compute backend-buckets create o gcloud compute backend-buckets update con la marca --cache-mode.

gcloud compute backend-services (create | update) BACKEND_SERVICE_NAME
    --cache-mode=CACHE_MODE
gcloud compute backend-buckets (create | update) BACKEND_BUCKET_NAME
    --cache-mode=CACHE_MODE

Reemplaza CACHE_MODE por uno de los siguientes valores:

  • CACHE_ALL_STATIC (predeterminado): Almacena en caché el contenido estático de forma automática. Las respuestas con la marca de que no pueden almacenarse en caché (directivas private, no-store en encabezados de respuesta Cache-Control) no se almacenan en caché. Para almacenar en caché contenido dinámico, el contenido debe tener encabezados de almacenamiento en caché válidos.

  • USE_ORIGIN_HEADERS: Se requiere que se configuren encabezados de almacenamiento en caché válidos para el contenido de la caché en el origen. Las respuestas sin estos encabezados no se almacenan en caché en el extremo de Google y requieren un recorrido completo al origen en cada solicitud, lo que podría afectar el rendimiento y aumentar la carga en el servidor de origen.

  • FORCE_CACHE_ALL: Almacena en caché todo el contenido (es decir, respuestas correctas), ignorando las directivas private o no-store en los encabezados de respuesta Cache-Control. Esto podría provocar que se almacene en caché el contenido privado por usuario (lo que permita identificarlo). Solo se debería habilitar en backends que no entreguen contenido dinámico ni privado, como los buckets de Cloud Storage. No habilites esta opción en backends que entregan contenido privado o dinámico.

API

En el caso de los buckets de backend, usa la llamada a la API Method: backendBuckets.insert o Method: backendBuckets.update.

Para los servicios de backend, usa la llamada a la API Method: backendServices.insert o Method: backendServices.update.

Usa una de las siguientes llamadas a la API:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE

Agrega el siguiente fragmento al cuerpo de la solicitud JSON:

"cdnPolicy": {
  "cacheMode": (CACHE_ALL_STATIC | USE_ORIGIN_HEADERS | FORCE_CACHE_ALL)

Reemplaza CACHE_MODE por uno de los siguientes valores:

  • CACHE_ALL_STATIC (predeterminado): Almacena en caché el contenido estático de forma automática si el origen no establece encabezados de almacenamiento en caché válidos. Las respuestas con la marca de que no pueden almacenarse en caché (directivas private o no-store en encabezados de respuesta Cache-Control) no se almacenan en caché. Para almacenar en caché contenido dinámico, el contenido debe tener encabezados de almacenamiento en caché válidos.

  • USE_ORIGIN_HEADERS: Se requiere que se configuren encabezados de almacenamiento en caché válidos para el contenido de la caché en el origen. Las respuestas sin estos encabezados no se almacenan en caché en el extremo de Google y requieren un recorrido completo al origen en cada solicitud, lo que podría afectar el rendimiento y aumentar la carga en el servidor de origen.

  • FORCE_CACHE_ALL: Almacena en caché todo el contenido (es decir, respuestas correctas), ignorando las directivas private o no-store en los encabezados de respuesta Cache-Control. Esto podría provocar que se almacene en caché el contenido privado por usuario (lo que permita identificarlo). Solo se debería habilitar en backends que no entreguen contenido dinámico ni privado, como buckets de Cloud Storage.