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
Lee sobre los modos de almacenamiento en caché y el contenido estático.
Asegúrate de que Cloud CDN esté habilitado. Para obtener instrucciones, consulta Usa Cloud CDN.
Si es necesario, actualiza a la última versión de Google Cloud CLI:
gcloud components update
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
- En la consola de Google Cloud, ve a la página Balanceo de cargas.
- Haz clic en el nombre de tu balanceador de cargas de aplicaciones externo.
- Haz clic en Editar .
- En Configuración de backend, selecciona un backend y haz clic en Editar .
- Asegúrate de que la opción Habilitar Cloud CDN esté seleccionada.
- 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
ono-store
.
- 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
- 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é (directivasprivate
,no-store
en encabezados de respuestaCache-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 directivasprivate
ono-store
en los encabezados de respuestaCache-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é (directivasprivate
ono-store
en encabezados de respuestaCache-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 directivasprivate
ono-store
en los encabezados de respuestaCache-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.