Cette page explique comment invalider du contenu Cloud CDN mis en cache.
Par exemple, si un fichier situé à l'emplacement /images/file.jpg
a été mis en cache et doit être invalidé, vous pouvez utiliser pour cela plusieurs méthodes, selon que vous souhaitez affecter uniquement ce fichier ou un champ d'application plus étendu. Dans chaque cas, vous pouvez invalider le contenu pour tous les noms d'hôte ou un seul nom d'hôte.
Pour en savoir plus sur l'invalidation de cache, consultez la section Présentation de l'invalidation de cache.
Avant de commencer
Vous pouvez utiliser Google Cloud CLI ou Google Cloud Console pour effectuer des invalidations.
Vous pouvez accéder à Google Cloud CLI de deux manières :
Installez Google Cloud CLI en suivant les instructions fournies sur la page Installation avec
apt-get
. Si vous n'avez pas encore utilisé Google Cloud CLI, exécutez d'abordgcloud init
pour vous authentifier.Utilisez Cloud Shell, qui comprend déjà
gcloud
.
Pour créer un rôle personnalisé ayant l'autorisation requise, consultez la section Créer et gérer les rôles personnalisés.
Pour ajouter un rôle prédéfini, utilisez le guide de démarrage rapide IAM.
Invalider un seul fichier
Console
- Dans Google Cloud Console, accédez à la page Cloud CDN.
- Sous Équilibreurs de charge associés, cliquez sur le nom de l'équilibreur de charge.
- Cliquez sur l'onglet Invalidation de cache.
- Saisissez le chemin du fichier.
- Si vous souhaitez invalider un chemin pour tous les noms d'hôte, ne saisissez que le chemin (par exemple,
/images/file.jpg
). - Si vous souhaitez invalider un chemin d'accès pour un seul nom d'hôte, spécifiez le nom d'hôte dans le chemin (par exemple :
host1.com/images/file.jpg
).
- Si vous souhaitez invalider un chemin pour tous les noms d'hôte, ne saisissez que le chemin (par exemple,
- Cliquez sur Invalider.
gcloud
Utilisez la commande gcloud compute url-maps invalidate-cdn-cache
.
Pour spécifier un seul fichier à invalider, utilisez l'option --path
avec le nom du fichier.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/file.jpg"
Remplacez URL_MAP_NAME
par le nom de votre mappage d'URL. Pour répertorier vos mappages d'URL, utilisez la commande gcloud compute url-maps list
.
Pour invalider un seul hôte, ajoutez l'indicateur --host
(par exemple, --host host1.com
).
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/images/file.jpg"
Par défaut, Google Cloud CLI attend la fin de l'invalidation. Pour effectuer l'invalidation en arrière-plan, ajoutez --async
à la ligne de commande.
API
Utilisez l'appel d'API de la méthode urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet dans la console Google CloudURL_MAP_NAME
: nom du mappage d'URL
Pour spécifier un fichier à invalider, utilisez l'exemple de corps de requête JSON suivant:
{ "path": "/images/file.jpg" }
Pour invalider le fichier pour un seul hôte, utilisez l'exemple de corps de requête JSON suivant:
{ "host": "host1.com", "path": "/images/file.jpg" }
Invalider l'intégralité du répertoire
Console
- Dans Google Cloud Console, accédez à la page Cloud CDN.
- Sous Équilibreurs de charge associés, cliquez sur le nom de l'équilibreur de charge.
- Cliquez sur l'onglet Invalidation de cache.
- Saisissez le chemin du répertoire et le caractère générique (
/path/to/file/*
).- Si vous souhaitez invalider tout le répertoire pour tous les noms d'hôte, saisissez uniquement le chemin d'accès et le caractère générique (par exemple,
/images/*
). - Si vous souhaitez invalider tout le répertoire pour un seul nom d'hôte, spécifiez le nom d'hôte dans le chemin (par exemple,
host1.com/images/*
).
- Si vous souhaitez invalider tout le répertoire pour tous les noms d'hôte, saisissez uniquement le chemin d'accès et le caractère générique (par exemple,
- Cliquez sur Invalider.
gcloud
Utilisez la commande gcloud compute url-maps invalidate-cdn-cache
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/*"
Remplacez URL_MAP_NAME
par le nom de votre mappage d'URL.
Pour invalider un seul hôte, ajoutez l'indicateur --host
(par exemple, --host host1.com
).
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/images/*"
API
Utilisez l'appel d'API de la méthode urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet dans la console Google CloudURL_MAP_NAME
: nom du mappage d'URL
Pour spécifier un répertoire à invalider, utilisez l'exemple de corps de requête JSON suivant:
{ "path": "/images/*" }
Pour invalider un répertoire pour un seul hôte, utilisez l'exemple de corps de requête JSON suivant:
{ "host": "host1.com", "path": "/images/*" }
Invalider par tag de cache
Console
L'utilisation de tags de cache pour l'invalidation n'est pas prise en charge dans la console Google Cloud.
gcloud
Utilisez la commande gcloud beta compute url-maps invalidate-cdn-cache
.
gcloud beta compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --tags=TAGS
Remplacez les éléments suivants :
URL_MAP_NAME
: nom du mappage d'URLTAGS
: balise ou liste de balises séparées par une virgule. Vous pouvez également spécifier cet indicateur jusqu'à 10 fois.
Par exemple, si la réponse du backend inclut un en-tête Cache-Tag
avec un ID utilisateur opaque, tel qu'un UUID4 ou une autre forme de GUID, vous pouvez invalider tout le contenu pour un utilisateur spécifique à l'aide de l'indicateur tag
.
De plus, pour invalider le contenu pour un seul hôte, comme pour votre environnement de préproduction, ajoutez l'indicateur --host
.
gcloud beta compute url-maps invalidate-cdn-cache url_map_1 \ --tags="1115b8f4-f804-4861-9629-8cb9aecdeeb3" \ --host="host1.com"
API
Utilisez l'appel d'API de la méthode urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet dans la console Google CloudURL_MAP_NAME
: nom du mappage d'URL
Pour spécifier des balises de cache à infirmer, utilisez l'exemple de corps de requête JSON suivant:
{ "tags": "tag1,tag2" }
Vous pouvez spécifier un seul tag ou une liste de tags séparés par une virgule.
Pour invalider par tags de cache pour un seul hôte, utilisez l'exemple de corps de requête JSON suivant:
{ "host": "host1.com", "path": "tag1,tag2" }
Tout invalider
Console
- Dans Google Cloud Console, accédez à la page Cloud CDN.
- Sous Équilibreurs de charge associés, cliquez sur le nom de l'équilibreur de charge.
- Cliquez sur l'onglet Invalidation de cache.
- Saisissez uniquement la racine et le caractère générique (
/*
).- Si vous souhaitez invalider la totalité du contenu pour tous les noms d'hôte, saisissez uniquement
/*
dans le champ. - Si vous souhaitez invalider la totalité du contenu pour un seul nom d'hôte, spécifiez le nom d'hôte dans le chemin (par exemple :
host1.com/*
).
- Si vous souhaitez invalider la totalité du contenu pour tous les noms d'hôte, saisissez uniquement
- Cliquez sur Invalider.
gcloud
Utilisez la commande gcloud compute url-maps invalidate-cdn-cache
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/*"
Remplacez les éléments suivants :
URL_MAP_NAME
: nom du mappage d'URL/*
: chemin d'URL que vous souhaitez invalider (n'inclut pas le nom d'hôte). Le chemin peut utiliser un nom de fichier explicite ou un caractère générique.
Pour invalider un seul hôte, ajoutez l'indicateur --host
(par exemple, --host host1.com
).
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/*"
API
Utilisez l'appel d'API de la méthode urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet dans la console Google CloudURL_MAP_NAME
: nom du mappage d'URL
Pour spécifier un chemin d'URL à invalider, utilisez l'exemple de corps de requête JSON suivant:
{ "path": "/*" }
Pour invalider le chemin d'accès de l'URL pour un seul hôte, utilisez l'exemple de corps de requête JSON suivant:
{ "host": "host1.com", "path": "/*" }
Consulter l'état de votre demande d'invalidation
Cloud CDN émet deux lignes de journal par invalidation, l'une lorsque l'invalidation est acceptée et l'autre lorsqu'elle est terminée. Le premier contient les informations sur l'hôte et le chemin d'accès.
Pour connaître l'état de votre demande d'invalidation ou obtenir une liste définitive des demandes envoyées récemment, vous pouvez utiliser Cloud Logging ou Cloud Monitoring.
Voici un exemple de commande qui utilise la journalisation:
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \ --limit=10
Voici un exemple de requête qui utilise la surveillance:
protoPayload.serviceName="compute.googleapis.com" protoPayload.methodName="v1.compute.urlMaps.invalidateCache"
Étape suivante
- Consultez la page Afficher les journaux pour vérifier si Cloud CDN diffuse des réponses à partir d'un cache.
- Pour savoir quels contenus peuvent être mis en cache ou non, consultez la page Présentation de la mise en cache.