Cache-Inhalte entwerten

Auf dieser Seite wird beschrieben, wie Sie Cache-Inhalte in Cloud CDN entwerten.

Wenn beispielsweise eine Datei unter /images/file.jpg im Cache gespeichert wurde und entwertet werden muss, stehen Ihnen mehrere Optionen zur Verfügung, je nachdem, ob Sie nur diese Datei oder einen größeren Bereich entwerten möchten. In jedem Fall können Sie die Entwertung entweder für alle Hostnamen oder nur für einen bestimmten Hostnamen vornehmen.

Weitere Informationen zur Cache-Entwertung finden Sie im Überblick zur Cache-Entwertung.

Vorbereitung

Sie können für Entwertungen die Google Cloud CLI oder die Google Cloud Console verwenden.

Sie haben zwei Möglichkeiten, auf die Google Cloud CLI zuzugreifen:

  • Installieren Sie die Google Cloud CLI. Folgen Sie dazu der Anleitung unter Mit apt-get installieren. Wenn Sie die Google Cloud CLI noch nicht verwendet haben, führen Sie zuerst gcloud init zur Authentifizierung aus.

  • Verwenden Sie Google Cloud Shell. Dort ist gcloud bereits installiert.

Informationen zum Erstellen einer benutzerdefinierten Rolle mit den erforderlichen Berechtigungen finden Sie unter Benutzerdefinierte Rollen erstellen und verwalten.

Informationen zum Hinzufügen einer vordefinierten Rolle finden Sie in der IAM-Kurzanleitung.

Nur eine Datei entwerten

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud CDN.

    Zur Cloud CDN-Seite

  2. Klicken Sie unter Zugeordnete Load-Balancer auf den Namen des Load-Balancers.
  3. Klicken Sie auf den Tab Cache-Entwertung.
  4. Geben Sie den Pfad zur Datei ein.
    • Wenn Sie einen Pfad für alle Hostnamen entwerten möchten, geben Sie nur den Pfad ein (z. B. /images/file.jpg).
    • Wenn Sie einen Pfad nur für einen bestimmten Hostnamen entwerten möchten, geben Sie den Hostnamen als Teil des Pfades ein (z. B. host1.com/images/file.jpg).
  5. Klicken Sie auf Entwerten.

gcloud

Führen Sie den Befehl gcloud compute url-maps invalidate-cdn-cache aus.

Wenn Sie nur eine Datei für die Invalidation angeben möchten, verwenden Sie das Flag --path mit dem Dateinamen.

gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
    --path "/images/file.jpg"

Ersetzen Sie URL_MAP_NAME durch den Namen Ihrer URL-Zuordnung. Verwenden Sie den Befehl gcloud compute url-maps list, um Ihre URL-Zuordnungen aufzulisten.

Wenn Sie nur einen Host entwerten möchten, fügen Sie das Flag --host hinzu, z. B. --host host1.com.

gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
    --host host1.com \
    --path "/images/file.jpg"

Standardmäßig wartet die Google Cloud CLI, bis die Entwertung abgeschlossen ist. Um die Entwertung im Hintergrund auszuführen, hängen Sie --async an die Befehlszeile an.

API

Verwenden Sie den API-Aufruf der Methode urlMaps.invalidateCache.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache

Ersetzen Sie Folgendes:

Verwenden Sie den folgenden Beispiel-JSON-Anfragetext, um eine Datei zur Invalidation anzugeben:

{
  "path": "/images/file.jpg"
}

Wenn Sie die Datei nur für einen Host ungültig machen möchten, verwenden Sie den folgenden Beispiel-JSON-Anfragetext:

{
  "host": "host1.com",
  "path": "/images/file.jpg"
}

Gesamtes Verzeichnis entwerten

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud CDN.

    Zur Cloud CDN-Seite

  2. Klicken Sie unter Zugeordnete Load-Balancer auf den Namen des Load-Balancers.
  3. Klicken Sie auf den Tab Cache-Entwertung.
  4. Geben Sie den Verzeichnispfad und den Platzhalter ein. (/path/to/file/*)
    • Wenn Sie das gesamte Verzeichnis für alle Hostnamen entwerten möchten, geben Sie nur den Pfad und Platzhalter ein (z. B. /images/*).
    • Wenn Sie das gesamte Verzeichnis nur für einen bestimmten Hostnamen entwerten möchten, geben Sie den Hostnamen als Teil des Pfades ein (z. B. host1.com/images/*).
  5. Klicken Sie auf Entwerten.

gcloud

Führen Sie den Befehl gcloud compute url-maps invalidate-cdn-cache aus.

gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
    --path "/images/*"

Ersetzen Sie URL_MAP_NAME durch den Namen Ihrer URL-Zuordnung.

Wenn Sie nur einen Host entwerten möchten, fügen Sie das Flag --host hinzu, z. B. --host host1.com.

gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
    --host host1.com \
    --path "/images/*"

API

Verwenden Sie den API-Aufruf der Methode urlMaps.invalidateCache.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache

Ersetzen Sie Folgendes:

Verwenden Sie den folgenden Beispiel-JSON-Anfragetext, um ein Verzeichnis für die Invalidation anzugeben:

{
  "path": "/images/*"
}

Wenn Sie ein Verzeichnis nur für einen Host ungültig machen möchten, verwenden Sie den folgenden Beispiel-JSON-Anfragetext:

{
  "host": "host1.com",
  "path": "/images/*"
}

Durch Cache-Tags entwerten

Console

Die Verwendung von Cache-Tags zur Invalidation wird in der Google Cloud Console nicht unterstützt.

gcloud

Führen Sie den Befehl gcloud beta compute url-maps invalidate-cdn-cache aus.

gcloud beta compute url-maps invalidate-cdn-cache URL_MAP_NAME \
    --tags=TAGS

Ersetzen Sie Folgendes:

  • URL_MAP_NAME: der Name der URL-Zuordnung
  • TAGS: ein Tag oder eine durch Kommas getrennte Liste von Tags. Alternativ können Sie dieses Flag bis zu zehnmal angeben.

Wenn die Back-End-Antwort beispielsweise einen Cache-Tag-Header mit einer nicht transparenten Nutzer-ID wie einer UUID4 oder einer anderen Form einer GUID enthält, kannst du alle Inhalte für einen bestimmten Nutzer mit dem Flag tag ungültig machen. Wenn Sie Inhalte nur für einen Host entwerten möchten, z. B. für Ihre Staging-Umgebung, fügen Sie das Flag --host hinzu.

gcloud beta compute url-maps invalidate-cdn-cache url_map_1 \
    --tags="1115b8f4-f804-4861-9629-8cb9aecdeeb3" \
    --host="host1.com"

API

Verwenden Sie den API-Aufruf der Methode urlMaps.invalidateCache.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache

Ersetzen Sie Folgendes:

Verwenden Sie den folgenden Beispiel-JSON-Anfragetext, um Cache-Tags für die Invalidation anzugeben:

{
  "tags": "tag1,tag2"
}

Sie können ein einzelnes Tag oder eine durch Kommas getrennte Liste von Tags angeben.

Wenn Sie die Cache-Tags nur für einen Host ungültig machen möchten, verwenden Sie den folgenden Beispiel-JSON-Anfragetext:

{
  "host": "host1.com",
  "path": "tag1,tag2"
}

Alles entwerten

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud CDN.

    Zur Cloud CDN-Seite

  2. Klicken Sie unter Zugeordnete Load-Balancer auf den Namen des Load-Balancers.
  3. Klicken Sie auf den Tab Cache-Entwertung.
  4. Geben Sie nur das Stammverzeichnis und den Platzhalter ein (/*).
    • Wenn Sie alles für alle Hostnamen entwerten möchten, geben Sie nur /* in das Feld ein.
    • Wenn Sie für einen bestimmten Hostnamen alles entwerten möchten, geben Sie den Hostnamen als Teil des Pfades ein (z. B. host1.com/*).
  5. Klicken Sie auf Entwerten.

gcloud

Führen Sie den Befehl gcloud compute url-maps invalidate-cdn-cache aus.

gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
    --path "/*"

Ersetzen Sie Folgendes:

  • URL_MAP_NAME: der Name der URL-Zuordnung
  • /*: Der URL-Pfad, den Sie entwerten möchten. Dieser enthält nicht den Hostnamen. Der Pfad kann einen expliziten Dateinamen oder einen Platzhalter verwenden.

Wenn Sie nur einen Host entwerten möchten, fügen Sie das Flag --host hinzu, z. B. --host host1.com.

gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
    --host host1.com \
    --path "/*"

API

Verwenden Sie den API-Aufruf der Methode urlMaps.invalidateCache.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache

Ersetzen Sie Folgendes:

Verwenden Sie den folgenden Beispiel-JSON-Anfragetext, um einen URL-Pfad für die Invalidation anzugeben:

{
  "path": "/*"
}

Wenn Sie den URL-Pfad nur für einen Host ungültig machen möchten, verwenden Sie den folgenden Beispiel-JSON-Anfragetext:

{
  "host": "host1.com",
  "path": "/*"
}

Status Ihrer Anfrage zur Ungültigkeitsprüfung abrufen

Cloud CDN gibt pro Entwertung zwei Logzeilen aus: eine, wenn die Entwertung akzeptiert wird, und eine, wenn sie abgeschlossen ist. Die erste enthält die Informationen zum Host und Pfad.

Sie können Cloud Logging oder Cloud Monitoring verwenden, um den Status Ihrer Annullierungsanfrage zu sehen oder eine vollständige Liste der kürzlich eingereichten Anfragen aufzurufen.

Im folgenden Beispiel wird Logging verwendet:

gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \
    --limit=10

Im folgenden Beispiel wird eine Abfrage mit Monitoring verwendet:

protoPayload.serviceName="compute.googleapis.com"
protoPayload.methodName="v1.compute.urlMaps.invalidateCache"

Nächste Schritte

  • Informationen zum Prüfen, ob Cloud CDN Antworten aus dem Cache bereitstellt, finden Sie unter Logs ansehen.
  • Mehr darüber, welche Inhalte im Cache gespeichert werden können und welche nicht, erfahren Sie unter Caching-Details.