Im Cache gespeicherte 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.

Hinweis

Sie können für Entwertungen die Google Cloud CLI oder die Console von Google Cloud 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. Rufen Sie in der Console von Google Cloud die Seite Cloud CDN auf.

    Zu „Cloud CDN“

  2. Klicken Sie auf einen Ursprung.

  3. Klicken Sie auf den Tab Cache-Entwertung.

  4. Wählen Sie unter Zugeordnete Load-Balancer den Load Balancer aus.

  5. Gehen Sie unter Zu entfernende Objekte angeben so vor:

    • Geben Sie für Host einen Hostnamen an, es sei denn, Sie möchten den Pfad für alle Hostnamen entwerten.
    • Geben Sie unter Pfad den Pfad und den Dateinamen an, z. B. /images/file.jpg.
  6. 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 Entwertung 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 Ihres URL-Mappings. Verwenden Sie den Befehl gcloud compute url-maps list, um Ihre URL-Mappings 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 die Methode urlMaps.invalidateCache:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID in der Google Cloud Console
  • URL_MAP_NAME: der Name des URL-Mappings

Wenn Sie eine Datei für die Entwertung angeben möchten, verwenden Sie den folgenden JSON-Anfragetext:

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

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

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

Gesamtes Verzeichnis entwerten

Console

  1. Rufen Sie in der Console von Google Cloud die Seite Cloud CDN auf.

    Zu „Cloud CDN“

  2. Klicken Sie auf einen Ursprung.

  3. Klicken Sie auf den Tab Cache-Entwertung.

  4. Wählen Sie unter Zugeordnete Load-Balancer den Load Balancer aus.

  5. Gehen Sie unter Zu entfernende Objekte angeben so vor:

    • Geben Sie für Host einen Hostnamen an, es sei denn, Sie möchten den Pfad für alle Hostnamen entwerten.
    • Geben Sie unter Pfad den Pfad sowie ein Sternchen als Platzhalter an, z. B. /images/*.
  6. 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 Ihres URL-Mappings.

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 die Methode urlMaps.invalidateCache:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID in der Google Cloud Console
  • URL_MAP_NAME: der Name des URL-Mappings

Wenn Sie ein Verzeichnis für die Entwertung angeben möchten, verwenden Sie den folgenden JSON-Anfragetext:

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

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

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

Entwertung anhand von Cache-Tags

Console

  1. Rufen Sie in der Console von Google Cloud die Seite Cloud CDN auf.

    Zu „Cloud CDN“

  2. Klicken Sie auf einen Ursprung.

  3. Klicken Sie auf den Tab Cache-Entwertung.

  4. Wählen Sie unter Zugeordnete Load-Balancer den Load Balancer aus.

  5. Geben Sie unter Zu entfernende Objekte angeben für Cache-Tags ein oder mehrere zu entwertende Tags an. Verwenden Sie Leerzeichen oder Kommas, um Tags zu trennen.

  6. Klicken Sie auf Entwerten.

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 des URL-Mappings
  • TAGS: ein Tag oder eine kommagetrennte Liste von Tags; alternativ können Sie dieses Flag bis zu zehnmal angeben

Wenn die Backend-Antwort beispielsweise einen Cache-Tag-Header mit einer undurchsichtigen Nutzer-ID wie einer UUID4 oder einer anderen Form von GUID enthält, können Sie alle Inhalte für einen bestimmten Nutzer mit dem Flag tag entwerten. Wenn Sie Inhalte für nur 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 die Methode urlMaps.invalidateCache:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID in der Console von Google Cloud
  • URL_MAP_NAME: der Name des URL-Mappings

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

{
  "cacheTags": [
    "tag1",
    "tag2"
  ]
}

Sie können ein einzelnes Tag oder eine kommagetrennte Liste von Tags angeben.

Wenn Sie die Entwertung anhand von Cache-Tags für nur einen Host durchführen möchten, verwenden Sie den folgenden Beispiel-JSON-Anfragetext:

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

Alles entwerten

Sie können zwar alles entwerten, aber das ist potenziell riskant. Prüfen Sie Ihre Anforderungen sorgfältig, bevor Sie fortfahren.

Console

  1. Rufen Sie in der Console von Google Cloud die Seite Cloud CDN auf.

    Zu „Cloud CDN“

  2. Klicken Sie auf einen Ursprung.

  3. Klicken Sie auf den Tab Cache-Entwertung.

  4. Wählen Sie unter Zugeordnete Load-Balancer den Load Balancer aus.

  5. Gehen Sie unter Zu entfernende Objekte angeben so vor:

    • Geben Sie für Host einen Hostnamen an, es sei denn, Sie möchten den Pfad für alle Hostnamen entwerten.
    • Verwenden Sie unter Pfad ein Sternchen, z. B. /*.
  6. Klicken Sie auf Entwerten und dann auf Bestätigen, um anzugeben, dass Cloud CDN alles entwerten soll.

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 des URL-Mappings
  • /*: der URL-Pfad, den Sie entwerten möchten; enthält nicht den Hostnamen; Pfad kann einen expliziten Dateinamen oder ein Sternchen als Platzhalter enthalten

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 die Methode urlMaps.invalidateCache:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID in der Console von Google Cloud
  • URL_MAP_NAME: der Name des URL-Mappings

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

{
  "path": "/*"
}

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

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

Status der Entwertungsanfrage ansehen

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

Mithilfe von Cloud Logging oder Cloud Monitoring können Sie den Status Ihrer Entwertungsanfrage verfolgen oder eine Liste der kürzlich gesendeten Anfragen aufrufen.

Console

  1. Rufen Sie in der Console von Google Cloud die Seite Cloud CDN auf.

    Zu „Cloud CDN“

  2. Klicken Sie auf einen Ursprung.

  3. Klicken Sie auf den Tab Cache-Entwertung.

  4. Klicken Sie auf Zu Cloud Logging, um den Status und die Ergebnisse der Entwertungsanfrage aufzurufen.

gcloud

Hier ist ein Beispielbefehl, der Logging verwendet:

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

Hier ist eine Beispielabfrage, die 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.