En esta página se describe cómo invalidar el contenido almacenado en caché de Cloud CDN.
Por ejemplo, si se ha almacenado en caché un archivo ubicado en /images/file.jpg
y es necesario invalidarlo, puedes usar varios métodos para hacerlo, en función de si quieres que solo afecte a ese archivo o a un ámbito 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 el artículo Descripción general de la invalidación de caché.
Antes de empezar
Puedes usar la CLI de Google Cloud o la Google Cloud consola para realizar invalidaciones.
Puedes acceder a Google Cloud CLI de dos formas:
Instala Google Cloud CLI siguiendo las instrucciones de la sección Instalar con
apt-get
. Si no has usado la CLI de Google Cloud anteriormente, ejecuta primerogcloud init
para autenticarte.Usa Cloud Shell, que incluye
gcloud
ya instalado.
Para crear un rol personalizado con los permisos necesarios, consulta el artículo Crear y gestionar roles personalizados.
Para añadir un rol predefinido, consulta la guía de inicio rápido de gestión de identidades y accesos.
Invalidar solo un archivo
Consola
En la Google Cloud consola, 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 carga asociados, selecciona el balanceador de carga.
En Especificar objetos que invalidar, haga lo siguiente:
- En Host (Host), especifica un nombre de host, a menos que quieras invalidar la ruta de todos los nombres de host.
- En Ruta, especifica la ruta 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 que se va a invalidar, usa la marca --path
con el nombre de archivo.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/file.jpg"
Sustituye URL_MAP_NAME
por el nombre de tu mapa de URLs. Para ver una lista de tus mapas de URLs, usa el comando gcloud compute url-maps list
.
Para invalidar solo un host, añade 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, Google Cloud CLI espera hasta que se complete la invalidación. Para realizar la invalidación en segundo plano, añade --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
Haz los cambios siguientes:
PROJECT_ID
: tu Google Cloud consola ID de proyectoURL_MAP_NAME
: nombre del mapa de URLs.
Para especificar un archivo que se va a invalidar, usa el siguiente cuerpo de solicitud JSON de ejemplo:
{ "path": "/images/file.jpg" }
Para invalidar el archivo de un solo host, usa el siguiente cuerpo de solicitud JSON de ejemplo:
{ "host": "host1.com", "path": "/images/file.jpg" }
Invalidar todo el directorio
Consola
En la Google Cloud consola, 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 carga asociados, selecciona el balanceador de carga.
En Especificar objetos que invalidar, haga lo siguiente:
- En Host (Host), especifica un nombre de host, a menos que quieras invalidar la ruta de todos los nombres de host.
- En Ruta, especifica la ruta 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/*"
Sustituye URL_MAP_NAME
por el nombre de tu mapa de URLs.
Para invalidar solo un host, añade 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
Haz los cambios siguientes:
PROJECT_ID
: tu Google Cloud consola ID de proyectoURL_MAP_NAME
: nombre del mapa de URLs.
Para especificar un directorio para la invalidación, usa el siguiente cuerpo de solicitud JSON de ejemplo:
{ "path": "/images/*" }
Para invalidar un directorio de un solo host, utiliza el siguiente cuerpo de solicitud JSON de ejemplo:
{ "host": "host1.com", "path": "/images/*" }
Invalidar por etiquetas de caché
Consola
En la Google Cloud consola, 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 carga asociados, selecciona el balanceador de carga.
En Especificar objetos que invalidar, en Etiquetas de caché, especifique una o varias etiquetas que invalidar. 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
Haz los cambios siguientes:
URL_MAP_NAME
: nombre del mapa de URLs.TAGS
: una etiqueta o una lista de etiquetas separadas por comas. También 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 u otro tipo de GUID, puede invalidar todo el contenido de un usuario específico mediante la marca tag
.
Además, para invalidar contenido de un solo host, como tu entorno de pruebas, añade 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
Haz los cambios siguientes:
PROJECT_ID
: tu Google Cloud consola ID de proyectoURL_MAP_NAME
: nombre del mapa de URLs.
Para especificar etiquetas de caché para la invalidación, usa el siguiente cuerpo de solicitud JSON de ejemplo:
{ "cacheTags": [ "tag1", "tag2" ] }
Puedes especificar una sola etiqueta o una lista de etiquetas separadas por comas.
Para invalidar por etiquetas de caché solo en un host, usa el siguiente cuerpo de solicitud JSON de ejemplo:
{ "host": "host1.com", "path": "tag1,tag2" }
Invalidar todo
Aunque puedes invalidar todo, es potencialmente arriesgado. Evalúa tus requisitos detenidamente antes de continuar.
Consola
En la Google Cloud consola, 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 carga asociados, selecciona el balanceador de carga.
En Especificar objetos que invalidar, haga lo siguiente:
- En Host (Host), especifica un nombre de host, a menos que quieras invalidar la ruta de todos los nombres de host.
- En Ruta, usa un asterisco. Por ejemplo,
/*
.
Haga clic en Invalidar y, a continuación, en Confirmar para indicar que quiere 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 "/*"
Haz los cambios siguientes:
URL_MAP_NAME
: nombre del mapa de URLs./*
: la ruta de la URL que quiere invalidar. No incluye el nombre de host. La ruta puede usar un nombre de archivo explícito o un asterisco como comodín.
Para invalidar solo un host, añade 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
Haz los cambios siguientes:
PROJECT_ID
: tu Google Cloud consola ID de proyectoURL_MAP_NAME
: nombre del mapa de URLs.
Para especificar una ruta de URL para la invalidación, usa el siguiente cuerpo de solicitud JSON de ejemplo:
{ "path": "/*" }
Para invalidar la ruta de la URL de un solo host, usa el siguiente cuerpo de solicitud JSON de ejemplo:
{ "host": "host1.com", "path": "/*" }
Consultar el estado de una solicitud de invalidación
Cloud CDN emite dos líneas de registro por invalidación: una cuando se acepta la invalidación y otra cuando se completa. El primero contiene la información del host y la ruta.
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.
Consola
En la Google Cloud consola, 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 invalidación, haga clic en Ir a Cloud Logging.
gcloud
A continuación, se muestra un comando de ejemplo que usa Logging:
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \ --limit=10
A continuación, se muestra una consulta de ejemplo que usa Monitoring:
protoPayload.serviceName="compute.googleapis.com" protoPayload.methodName="v1.compute.urlMaps.invalidateCache"
Siguientes pasos
- Para comprobar si Cloud CDN está sirviendo respuestas desde la caché, consulta Ver registros.
- Para saber qué contenido se puede almacenar en caché y cuál no, consulta el artículo Descripción general del almacenamiento en caché.