Cache-Schlüssel anpassen

Auf dieser Seite wird erläutert, wie Cloud CDN-Cache-Schlüssel angepasst werden.

Eine Änderung der Cache-Schlüsselkonfiguration kann einen plötzlichen Rückgang bei der Cache-Trefferquote zur Folge haben, wenn neue Anfragen Cache-Schlüssel verwenden, die sich von alten Cache-Schlüsseleinträgen unterscheiden. Ebenso werden beim Ändern des Cache-Schlüsselerstellers die im Cache gespeicherten Einträge nicht zwangsläufig entwertet, wenn in neuen Anfragen alte Cache-Schlüssel verwendet werden. Informationen zur Entwertung von im Cache gespeicherten Einträgen finden Sie unter Cache-Inhalte entwerten.

Hinweise

Im Folgenden wird vorausgesetzt, dass Sie mit Cloud CDN, Cloud CDN-Cache-Schlüsseln und Backend-Diensten mit Load-Balancing vertraut sind. Wir empfehlen Ihnen, diese Seiten zu lesen, bevor Sie fortfahren.

Cloud CDN aktivieren und Cache-Schlüssel anpassen

Mit den nachstehenden Schritten wird Cloud CDN für einen Back-End-Dienst mit Load Balancing aktiviert und der Cache-Schlüssel angepasst. Wenn Sie bisher noch keinen Load Balancer als Ursprung verwenden, finden Sie in der Dokumentation zum externen Application Load Balancer eine Anleitung zum Erstellen dieses Moduls.

Back-End-Buckets enthalten weder das Protokoll noch den Host im Cache-Schlüssel, da sie keinen Einfluss darauf haben, wie Objekte in einem Cloud Storage-Bucket referenziert werden. Sie enthalten jedoch eine Reihe von Abfragestringparametern, die speziell für Cloud Storage gelten. Diese können sich auf die Antwort auswirken und durch eine anpassbare Liste von Parameternamen erweitert werden.

Console

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

    Zu Cloud CDN

  2. Klicken Sie auf den Namen der Quelle, die Sie aktualisieren möchten.

  3. Klicken Sie auf Bearbeiten.

    Wenn dem Ursprung mehrere Load Balancer zugeordnet sind, wählen Sie im Menü Bearbeiten den Load Balancer aus, den Sie aktualisieren möchten.

  4. Klicken Sie auf Weiter, um den Bereich Cache-Leistung zu maximieren.

  5. Wählen Sie unter Cache-Schlüssel die Option Benutzerdefiniert aus.

  6. Im Bereich Cache-Schlüsselkomponenten sind standardmäßig alle Komponenten ausgewählt. Entfernen Sie die Häkchen bei allen Komponenten, die Sie aus dem Cache-Schlüssel ausschließen möchten.

  7. Klicken Sie auf Fertig.

gcloud

Wenn Sie eine oder mehrere Komponenten aus den Cache-Schlüsseln für einen Back-End-Dienst ausschließen möchten, verwenden Sie den Befehl gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --no-cache-key-include-protocol \
    --no-cache-key-include-host \
    --no-cache-key-include-query-string

Verwenden Sie für Back-End-Buckets den Befehl gcloud compute backend-buckets update.

API

Wenn Sie eine oder mehrere Komponenten aus dem Cache-Schlüssel ausschließen möchten, geben Sie im Abschnitt cacheKeyPolicy von cdnPolicy Konfigurationsoptionen für die backendServices-Ressource an.

Verwenden Sie für Back-End-Dienste den API-Aufruf backendServices.update-Methode.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE

Verwenden Sie für Back-End-Buckets den API-Aufruf backendBuckets.update-Methode.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET

Fügen Sie dem JSON-Anfragetext folgendes Snippet hinzu:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": false,
      "includeHost": false,
      "includeQueryString": false
    }
  ]
}

Cache-Schlüssel aktualisieren, um Protokoll, Host und Abfragestring hinzuzufügen

Backend-Dienste, die für die Verwendung von Cloud CDN konfiguriert sind, enthalten standardmäßig alle Komponenten des Anfrage-URI in Cache-Schlüsseln. Wenn Sie zuvor angegeben haben, dass eine oder mehrere Komponenten ausgeschlossen werden sollen, können Sie diese wie unten beschrieben wieder einschließen.

Mit den folgenden Schritten werden Protokoll, Host und Abfragestring dem Cache-Schlüssel eines Back-End-Dienstes hinzugefügt, für den Cloud CDN bereits aktiviert ist.

Console

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

    Zu Cloud CDN

  2. Klicken Sie auf den Namen der Quelle, die Sie aktualisieren möchten.

  3. Klicken Sie auf Bearbeiten.

    Wenn dem Ursprung mehrere Load Balancer zugeordnet sind, wählen Sie im Menü Bearbeiten den Load Balancer aus, den Sie aktualisieren möchten.

  4. Klicken Sie auf Weiter, um den Bereich Cache-Leistung zu maximieren.

  5. Wählen Sie unter Cache-Schlüssel die Option Benutzerdefiniert aus.

  6. Setzen Sie im Bereich Cache-Schlüsselkomponenten ein Häkchen bei Protokoll, Host und Abfragestring.

  7. Klicken Sie auf Fertig.

gcloud

Verwenden Sie den Befehl gcloud compute backend-services update, um den Cache-Schlüsseln für einen Back-End-Dienst eine oder mehrere Komponenten hinzuzufügen.

Nicht angegebene Flags bleiben unverändert.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-protocol \
    --cache-key-include-host \
    --cache-key-include-query-string

API

Wenn Sie dem Cache-Schlüssel eine oder mehrere Komponenten hinzufügen möchten, geben Sie im Abschnitt cacheKeyPolicy von cdnPolicy Konfigurationsoptionen für die backendServices-Ressource an.

Fügen Sie dem JSON-Anfragetext folgendes Snippet hinzu:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": true,
      "includeHost": true,
      "includeQueryString": true
    }
  ]
}

Cache-Schlüssel für die Verwendung einer Liste ein- oder auszuschließender Abfragestringparameter aktualisieren

Mit diesen Anweisungen wird festgelegt, dass Cloud CDN-Cache-Schlüssel eine Einschluss- oder Ausschlussliste mit Abfragestringparametern verwenden.

Console

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

    Zu Cloud CDN

  2. Klicken Sie auf den Namen der Quelle, die Sie aktualisieren möchten.

  3. Klicken Sie auf Bearbeiten.

    Wenn dem Ursprung mehrere Load Balancer zugeordnet sind, wählen Sie im Menü Bearbeiten den Load Balancer aus, den Sie aktualisieren möchten.

  4. Klicken Sie auf Weiter, um den Bereich Cache-Leistung zu maximieren.

  5. Wählen Sie unter Cache-Schlüssel die Option Benutzerdefiniert aus.

  6. Klicken Sie im Bereich Cache-Schlüsselkomponenten das Kästchen Abfragestring an. Wählen Sie dann eine der folgenden Optionen aus:

    • Wenn Sie Abfragestringparameter angeben möchten, die Teil des Cache-Schlüssels sein müssen, wählen Sie Nur ausgewählte einschließen aus.

    • Wenn Sie angeben möchten, dass alle Abfragestringparameter außer den Parametern in der Liste im Cache-Schlüssel enthalten sind, wählen Sie Alle nicht ausgewählten einschließen aus.

  7. Klicken Sie auf Parameter hinzufügen und geben Sie die Parameter an.

  8. Klicken Sie auf Fertig.

gcloud

Wenn Sie eine Einschluss- oder Ausschlussliste für einen Back-End-Dienst angeben möchten, verwenden Sie den Befehl gcloud compute backend-services update, um Abfragestringparameter anzugeben.

Verwenden Sie diesen Befehl, um den Abfragestringparameter user auf die Einschlussliste eines Back-End-Dienstes festzulegen.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-whitelist user

Verwenden Sie diesen Befehl, um den Parameter „user“ in der Ausschlussliste eines Back-End-Dienstes festzulegen.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-blacklist user

Mit diesem Befehl wird der Abfragestringparameter user in die Einschlussliste eines Backend-Buckets aufgenommen.

gcloud compute backend-buckets update BACKEND_BUCKET \
    --cache-key-query-string-whitelist user

API

Wenn Sie eine Liste mit Einschluss- oder Ausschlusselementen für einen Back-End-Dienst angeben möchten, geben Sie Abfragestringparameter im Abschnitt cacheKeyPolicy von cdnPolicy für die backendServices-Ressource an.

Wenn Sie eine Einschlussliste angeben möchten, fügen Sie dem JSON-Anfragetext folgendes Snippet hinzu:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringWhitelist": [QUERY_STRINGS]
    }
  ]
}

Ersetzen Sie QUERY_STRINGS durch eine durch Kommas getrennte Liste von Abfragestringparametern.

Fügen Sie das folgende Snippet hinzu, um eine Ausschlussliste anzugeben:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringBlacklist": [QUERY_STRINGS]
    }
  ]
}

Cache-Schlüssel für die Verwendung von HTTP-Headern aktualisieren

Mit diesen Anweisungen wird festgelegt, dass Cloud CDN-Cache-Schlüssel HTTP-Header verwenden, die zulässige benutzerdefinierte Variablen enthalten können.

Console

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

    Zu Cloud CDN

  2. Klicken Sie auf den Namen der Quelle, die Sie aktualisieren möchten.

  3. Klicken Sie auf Bearbeiten.

    Wenn dem Ursprung mehrere Load Balancer zugeordnet sind, wählen Sie im Menü Bearbeiten den Load Balancer aus, den Sie aktualisieren möchten.

  4. Klicken Sie auf Weiter, um den Bereich Cache-Leistung zu maximieren.

  5. Wählen Sie unter Cache-Schlüssel die Option Benutzerdefiniert aus.

  6. Klicken Sie im Bereich Cache-Schlüsselkomponenten das Kästchen HTTP-Header an.

  7. Klicken Sie auf HTTP-Header hinzufügen, um einen oder mehrere HTTP-Header anzugeben.

  8. Klicken Sie auf Fertig.

gcloud

Führen Sie den Befehl gcloud compute backend-services update mit der Option cache-key-include-http-header aus.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-http-header=[HEADER_FIELD_NAMES,...]

Ersetzen Sie HEADER_FIELD_NAMES durch eine durch Kommas getrennte Liste von Headernamen.

API

Geben Sie im Abschnitt cacheKeyPolicy von cdnPolicy für die backendServices-Ressource HTTP-Header für Cacheschlüssel an.

Fügen Sie dem JSON-Anfragetext folgendes Snippet hinzu:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeHttpHeaders": [HEADER_FIELD_NAMES]
    }
  ]
}

Ersetzen Sie HEADER_FIELD_NAMES durch eine durch Kommas getrennte Liste von Headernamen.

Wenn der angegebene Cache-Schlüssel-Header auch als benutzerdefinierter Anfrageheader angegeben ist, können Sie nicht den vollständigen Satz von Variablen verwenden.

Weitere Informationen finden Sie unter Benutzerdefinierte Variablen mit Anfrageheadern verwenden.

Cache-Schlüssel für die Verwendung benannter Cookies aktualisieren

Mit diesen Anweisungen wird festgelegt, dass Cloud CDN-Cache-Schlüssel HTTP-Cookies verwenden.

Console

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

    Zu Cloud CDN

  2. Klicken Sie auf den Namen der Quelle, die Sie aktualisieren möchten.

  3. Klicken Sie auf Bearbeiten.

    Wenn dem Ursprung mehrere Load Balancer zugeordnet sind, wählen Sie im Menü Bearbeiten den Load Balancer aus, den Sie aktualisieren möchten.

  4. Klicken Sie auf Weiter, um den Bereich Cache-Leistung zu maximieren.

  5. Wählen Sie unter Cache-Schlüssel die Option Benutzerdefiniert aus.

  6. Klicken Sie im Bereich Cache-Schlüsselkomponenten auf das Kästchen Benannte Cookies.

  7. Wenn Sie ein oder mehrere Cookies angeben möchten, klicken Sie auf Benanntes Cookie hinzufügen.

  8. Klicken Sie auf Fertig.

gcloud

Führen Sie den Befehl gcloud compute backend-services update mit der Option cache-key-include-named-cookie aus.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-named-cookie=[NAMED_COOKIES,...]

Ersetzen Sie NAMED_COOKIES durch eine durch Kommas getrennte Liste mit benannten Cookies.

API

Wenn Sie eine Liste mit Einschluss- oder Ausschlusselementen für einen Back-End-Dienst angeben möchten, geben Sie Abfragestringparameter im Abschnitt cacheKeyPolicy von cdnPolicy für die backendServices-Ressource an.

Wenn Sie eine Einschlussliste angeben möchten, fügen Sie dem JSON-Anfragetext folgendes Snippet hinzu:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeNamedCookies": [NAMED_COOKIES]
    }
  ]
}

Ersetzen Sie NAMED_COOKIES durch eine durch Kommas getrennte Liste von Abfragestringparametern.

Nächste Schritte