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.
- En Balanceadores de carga asociados, haz clic en el nombre del balanceador de cargas.
- Haz clic en la pestaña Invalidación de caché.
- Ingresa la ruta de acceso al archivo.
- Si deseas invalidar una ruta de acceso para todos los nombres de host, ingresa solo la ruta de acceso (por ejemplo:
/images/file.jpg
). - Si deseas invalidar una ruta de acceso solo para un nombre de host, especifica el nombre de host como parte de la ruta de acceso (por ejemplo:
host1.com/images/file.jpg
).
- Si deseas invalidar una ruta de acceso para todos los nombres de host, ingresa solo la ruta de acceso (por ejemplo:
- 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 la llamada a la API del 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 consola de Google Cloud.URL_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.
- En Balanceadores de carga asociados, haz clic en el nombre del balanceador de cargas.
- Haz clic en la pestaña Invalidación de caché.
- Ingresa el comodín y la ruta de acceso del directorio (
/path/to/file/*
).- Si deseas invalidar todo el directorio para todos los nombres de host, ingresa solo la ruta de acceso y el comodín (por ejemplo:
/images/*
). - Si deseas invalidar todo el directorio para un solo nombre de host, especifica el nombre de host como parte de la ruta de acceso (por ejemplo:
host1.com/images/*
).
- Si deseas invalidar todo el directorio para todos los nombres de host, ingresa solo la ruta de acceso y el comodín (por ejemplo:
- 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 la llamada a la API del 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 consola de Google CloudURL_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
El uso de etiquetas de caché para la invalidación no es compatible con la consola de Google Cloud.
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 la llamada a la API del 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 consola de Google Cloud.URL_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:
{ "tags": "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
Console
- En la consola de Google Cloud, ve a la página Cloud CDN.
- En Balanceadores de carga asociados, haz clic en el nombre del balanceador de cargas.
- Haz clic en la pestaña Invalidación de caché.
- Ingresa solo la raíz y el comodín (
/*
).- Si deseas invalidar todo para todos los nombres de host, ingresa solo
/*
en el campo. - Si deseas invalidar todo para un solo nombre de host, especifica el nombre de host como parte de la ruta de acceso (por ejemplo:
host1.com/*
).
- Si deseas invalidar todo para todos los nombres de host, ingresa solo
- 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 "/*"
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 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 la llamada a la API del 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 consola de Google Cloud.URL_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 las solicitudes enviadas recientemente, puedes usar Cloud Logging o Cloud Monitoring.
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é.