En esta página, se describe cómo invalidar el contenido almacenado en caché de Cloud CDN.
Por ejemplo, si un archivo ubicado en /images/file.jpg
se almacenó en caché y debe invalidarse, puedes usar varios métodos para invalidarlo, según si quieres incluir solo ese archivo o tener un alcance más amplio. En cada caso, puedes invalidar todos los nombres de host o solo uno.
Para obtener más información sobre la invalidación de caché, consulta Descripción general de la invalidación de caché.
Antes de comenzar
Puedes usar Google Cloud CLI o la consola de Google Cloud para realizar invalidaciones.
Puedes acceder a Google Cloud CLI de dos maneras:
Instala Google Cloud CLI. Para ello, sigue las instrucciones que se encuentran en Instala con
apt-get
. Si nunca usaste Google Cloud CLI, primero ejecutagcloud init
para autenticarte.Usa Cloud Shell, que viene con
gcloud
ya instalado.
Para crear una función personalizada con los permisos requeridos, consulta Crea y administra funciones personalizadas.
Para agregar una función predefinida, usa la Guía de inicio rápido de IAM.
Invalida solo un archivo
Console
En la consola de Google Cloud , ve a la página Cloud CDN.
Haz clic en un origen.
Haz clic en la pestaña Invalidación de caché.
En Balanceadores de cargas asociados, selecciona el balanceador de cargas.
En Especificación de los objetos que se invalidarán, haz lo siguiente:
- En Host, especifica un nombre de host, a menos que desees invalidar la ruta de acceso para todos los nombres de host.
- En Ruta de acceso, especifica la ruta de acceso y el nombre del archivo, por ejemplo,
/images/file.jpg
.
Haz clic en Invalidar.
gcloud
Usa el comando gcloud compute url-maps invalidate-cdn-cache
.
Para especificar solo un archivo para la invalidación, usa la marca --path
con el nombre del archivo.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/file.jpg"
Reemplaza URL_MAP_NAME
por el nombre de tu mapa de URL. Para enumerar tus mapas de URL, usa el comando gcloud compute url-maps list
.
Para invalidar solo un host, agrega la marca --host
, por ejemplo, --host host1.com
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/images/file.jpg"
De forma predeterminada, la Google Cloud CLI espera hasta que se complete la invalidación. Para realizar la invalidación en segundo plano, agrega --async
a la línea de comandos.
API
Usa el método urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de la Google Cloud consolaURL_MAP_NAME
: Es el nombre del mapa de URL.
Para especificar un archivo para la invalidación, usa el siguiente cuerpo de solicitud JSON de muestra:
{ "path": "/images/file.jpg" }
Para invalidar el archivo de un solo host, usa el siguiente cuerpo de solicitud JSON de muestra:
{ "host": "host1.com", "path": "/images/file.jpg" }
Invalida todo el directorio
Console
En la consola de Google Cloud , ve a la página Cloud CDN.
Haz clic en un origen.
Haz clic en la pestaña Invalidación de caché.
En Balanceadores de cargas asociados, selecciona el balanceador de cargas.
En Especificación de los objetos que se invalidarán, haz lo siguiente:
- En Host, especifica un nombre de host, a menos que desees invalidar la ruta de acceso para todos los nombres de host.
- En Ruta de acceso, especifica la ruta de acceso y un asterisco como comodín, por ejemplo,
/images/*
.
Haz clic en Invalidar.
gcloud
Usa el comando gcloud compute url-maps invalidate-cdn-cache
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/*"
Reemplaza URL_MAP_NAME
por el nombre de tu mapa de URL.
Para invalidar solo un host, agrega la marca --host
, por ejemplo, --host host1.com
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/images/*"
API
Usa el método urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de la Google Cloud consolaURL_MAP_NAME
: Es el nombre del mapa de URL.
Para especificar un directorio para la invalidación, usa el siguiente cuerpo de solicitud JSON de muestra:
{ "path": "/images/*" }
Para invalidar un directorio para un solo host, usa el siguiente cuerpo de solicitud JSON de muestra:
{ "host": "host1.com", "path": "/images/*" }
Invalidación por etiquetas de caché
Console
En la consola de Google Cloud , ve a la página Cloud CDN.
Haz clic en un origen.
Haz clic en la pestaña Invalidación de caché.
En Balanceadores de cargas asociados, selecciona el balanceador de cargas.
En Especificación de los objetos que se invalidarán, en Etiquetas de caché, especifica una o más etiquetas que se invalidarán. Usa espacios o comas para separar las etiquetas.
Haz clic en Invalidar.
gcloud
Usa el comando gcloud beta compute url-maps invalidate-cdn-cache
gcloud beta compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --tags=TAGS
Reemplaza lo siguiente:
URL_MAP_NAME
: Es el nombre del mapa de URL.TAGS
: Es una etiqueta o una lista de etiquetas separadas por comas. Como alternativa, puedes especificar esta marca hasta 10 veces.
Por ejemplo, si la respuesta del backend incluye un encabezado Cache-Tag
con un ID de usuario opaco, como un UUID4 o alguna otra forma de GUID, puedes invalidar todo el contenido de un usuario específico con la marca tag
.
Además, para invalidar el contenido de un solo host, como el de tu entorno de pruebas, agrega la marca --host
.
gcloud beta compute url-maps invalidate-cdn-cache url_map_1 \ --tags="1115b8f4-f804-4861-9629-8cb9aecdeeb3" \ --host="host1.com"
API
Usa el método urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de la Google Cloud consolaURL_MAP_NAME
: Es el nombre del mapa de URL.
Para especificar etiquetas de caché para la invalidación, usa el siguiente cuerpo de solicitud JSON de muestra:
{ "cacheTags": [ "tag1", "tag2" ] }
Puedes especificar una sola etiqueta o una lista de etiquetas separadas por comas.
Para invalidar por etiquetas de caché para un solo host, usa el siguiente cuerpo de solicitud JSON de muestra:
{ "host": "host1.com", "path": "tag1,tag2" }
Invalida todo
Aunque puedes invalidar todo, es potencialmente riesgoso. Evalúa tus requisitos con cuidado antes de continuar.
Console
En la consola de Google Cloud , ve a la página Cloud CDN.
Haz clic en un origen.
Haz clic en la pestaña Invalidación de caché.
En Balanceadores de cargas asociados, selecciona el balanceador de cargas.
En Especificación de los objetos que se invalidarán, haz lo siguiente:
- En Host, especifica un nombre de host, a menos que desees invalidar la ruta de acceso para todos los nombres de host.
- En Ruta de acceso, usa un asterisco, por ejemplo,
/*
.
Haz clic en Invalidar y, luego, en Confirmar para indicar que deseas que Cloud CDN invalide todo.
gcloud
Usa el comando gcloud compute url-maps invalidate-cdn-cache
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/*"
Reemplaza lo siguiente:
URL_MAP_NAME
: Es el nombre del mapa de URL./*
: Es la ruta de URL que deseas invalidar, que no incluye el nombre de host. La ruta de acceso puede usar un nombre de archivo explícito o un asterisco como comodín.
Para invalidar solo un host, agrega la marca --host
, por ejemplo, --host host1.com
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/*"
API
Usa el método urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de la Google Cloud consolaURL_MAP_NAME
: Es el nombre del mapa de URL.
Para especificar una ruta de URL para la invalidación, usa el siguiente cuerpo de solicitud JSON de muestra:
{ "path": "/*" }
Para invalidar la ruta de URL de un solo host, usa el siguiente cuerpo de solicitud JSON de muestra:
{ "host": "host1.com", "path": "/*" }
Consulta el estado de tu solicitud de invalidación
Cloud CDN emite dos líneas de registro por invalidación, una cuando se acepta la invalidación y la otra cuando se completa. El primero tiene la información del host y la ruta de acceso.
Para ver el estado de tu solicitud de invalidación o encontrar una lista definitiva de solicitudes enviadas recientemente, puedes usar Cloud Logging o Cloud Monitoring.
Console
En la consola de Google Cloud , ve a la página Cloud CDN.
Haz clic en un origen.
Haz clic en la pestaña Invalidación de caché.
Para ver el estado y los resultados de la solicitud de invalidez, haz clic en Ir a Cloud Logging.
gcloud
El siguiente es un comando de muestra que usa el registro:
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \ --limit=10
La siguiente es una consulta de ejemplo que usa la supervisión:
protoPayload.serviceName="compute.googleapis.com" protoPayload.methodName="v1.compute.urlMaps.invalidateCache"
¿Qué sigue?
- Para verificar si Cloud CDN entrega respuestas desde la caché, consulta Visualiza registros.
- Para obtener información sobre qué contenido se puede, o no se puede, almacenar en caché, consulta Descripción general del almacenamiento en caché.