Backend-Bucket einrichten

Cloud CDN nutzt je nach Ihrer Wahl entweder den globalen externen Application Load Balancer oder den klassischen Application Load Balancer, um Routing, Systemdiagnosen und Anycast-IP-Unterstützung zu ermöglichen. Da globale externe Application Load Balancer mehrere Back-End-Instanztypen haben können – Compute Engine-VM-Instanzen, Google Kubernetes Engine-Pods, Cloud Storage-Buckets oder externe Back-Ends außerhalb von Google Cloud – können Sie festlegen, für welche Back-Ends (Ursprünge) Cloud CDN aktiviert werden soll.

In dieser Einrichtungsanleitung wird beschrieben, wie Sie einen externen Application Load Balancer erstellen, für den Cloud CDN aktiviert ist. In diesem Beispiel werden folgende Ressourcen verwendet:

  • Das VPC-Standardnetzwerk (Virtual Private Cloud)
  • URL-Standardzuordnung
  • Reservierte externe IP-Adresse
  • Ein Cloud Storage-Bucket als Backend
  • Ein einzelner Load-Balancer-Backend-Bucket, der als Wrapper für den Cloud Storage-Bucket fungiert

Ein Backend-Bucket unterstützt Folgendes:

  • Cloud Storage-Buckets einer beliebigen Speicherklasse, einschließlich multiregionaler Buckets
  • Cloud CDN-Richtlinien für das Caching von Inhalten über die globale Edge-Infrastruktur von Google

Informationen zur Funktionsweise von Cloud CDN finden Sie in der Übersicht zu Cloud CDN.

Cloud Storage verwendet standardmäßig den gleichen Cache wie Cloud CDN. Wenn Sie Cloud CDN für den Backend-Bucket aktivieren, können Sie Cloud CDN-Steuerelemente für Ihre Inhalte verwenden. Cloud CDN-Steuerelemente umfassen beispielsweise Cache-Modi, signierte URLs und Entwertung. Mit Cloud CDN können Sie auch große Inhalte (> 10 MB) im Cache speichern. Wenn Sie Cloud CDN nicht für Ihren Backend-Bucket aktivieren, können Sie nur Cache-Control-Ursprungsheader verwenden, um das Caching für kleinere Inhalte zu steuern, wie durch die Cloud Storage-Metadaten festgelegt.

Load-Balancer-Back-Ends

Ein externer Application Load Balancer leitet über eine URL-Zuordnung Traffic von angegebenen URLs an angegebene Dienste weiter. In der folgenden Tabelle sind die Backend-Typen aufgeführt, auf denen Sie Inhalte und Dienste hosten können.

Backend-Konfiguration des Load-Balancers Typischer Medientyp Backend-Typen
Backend-Dienst Dynamisch (z. B. Daten)
  • Nicht verwaltete Instanzgruppen
  • Verwaltete Instanzgruppen
  • Netzwerk-Endpunktgruppen innerhalb von Google Cloud
  • Netzwerk-Endpunktgruppen außerhalb von Google Cloud
Backend-Bucket Statisch (z. B. Bilder)
  • Cloud Storage-Buckets (auf dieser Seite erläutert)

Hinweis

Console

  1. Rufen Sie in der Google Cloud Console die Startseite auf.

    Zur Google Cloud-Startseite

  2. Wählen Sie rechts neben dem Titel "Google Cloud" ein Projekt aus dem Drop-down-Menü aus.

gcloud

     gcloud config set project PROJECT_ID
   

Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID.

Terraform

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
   

Cloud Storage-Bucket erstellen

Wenn Sie bereits einen Cloud Storage-Bucket haben, der noch keinem Load-Balancer zugewiesen ist, können Sie mit dem nächsten Schritt fortfahren.

Wenn Sie einen Cloud Storage-Bucket erstellen, den Sie als Back-End für einen externen Application Load Balancer mit Cloud CDN verwenden möchten, empfehlen wir das Auswählen eines multiregionalen Buckets, der Objekte automatisch in mehreren Google Cloud-Regionen repliziert. Dies kann die Verfügbarkeit Ihrer Inhalte verbessern und die Fehlertoleranz in Ihrer gesamten Anwendung verbessern.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Cloud Storage-Buckets.

    Zur Seite "Buckets"

  2. Klicken Sie auf Bucket erstellen.
  3. Geben Sie Werte für die Felder in der folgenden Tabelle an und übernehmen Sie für alle anderen die Standardeinstellung.

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Name Geben Sie für jeden Bucket einen global eindeutigen Namen ein. Wenn der von Ihnen eingegebene Name nicht eindeutig ist, werden Sie über eine Meldung aufgefordert, einen anderen Namen zu verwenden.
    Positionstyp Mehrere Regionen
    Ort Wählen Sie eine Region aus, z. B. „us“ (mehrere Regionen in den USA).
    Standard-Storage-Klasse Standard
    Zugriffsteuerung Einheitlich
  4. Klicken Sie auf Erstellen.

  5. Notieren Sie sich den Namen des neu erstellten Cloud Storage-Bucket für den nächsten Schritt.

gcloud

gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_ID --default-storage-class=standard --location=us-east1 --uniform-bucket-level-access

Terraform

Verwenden Sie zum Erstellen eines Buckets die Ressource google_storage_bucket.

# Cloud Storage bucket
resource "random_id" "bucket_prefix" {
  byte_length = 8
}

resource "google_storage_bucket" "default" {
  name                        = "${random_id.bucket_prefix.hex}-my-bucket"
  location                    = "us-east1"
  uniform_bucket_level_access = true
  storage_class               = "STANDARD"
  // delete bucket and contents on destroy.
  force_destroy = true
  // Assign specialty files
  website {
    main_page_suffix = "index.html"
    not_found_page   = "404.html"
  }
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Grafikdatei in den Cloud Storage-Bucket kopieren

Wenn Sie die Einrichtung testen möchten, kopieren Sie eine Grafikdatei aus einem öffentlichen Cloud Storage-Bucket in Ihren eigenen Cloud Storage-Bucket.

gcloud

Führen Sie in Cloud Shell den folgenden Befehl aus. Ersetzen Sie BUCKET_NAME durch den eindeutigen Namen Ihres Cloud Storage-Buckets.

gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET_NAME/never-fetch/

Terraform

Um das Objekt zu kopieren, verwenden Sie local-exec Provisioner mit dem Befehl gcloud storage cp.

resource "null_resource" "upload_image" {
  provisioner "local-exec" {
    command = "gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://${google_storage_bucket.default.name}/never-fetch/ --recursive"
  }
}

Alternativ können Sie zum Hochladen eines Objekts die Ressource google_storage_bucket_object verwenden.

# image object for testing, try to access http://<your_lb_ip_address>/test.jpg
resource "google_storage_bucket_object" "test_image" {
  name = "test-object"
  # Uncomment and add valid path to an object.
  #  source       = "/path/to/an/object"
  #  content_type = "image/jpeg"

  # Delete after uncommenting above source and content_type attributes
  content      = "Data as string to be uploaded"
  content_type = "text/plain"

  bucket = google_storage_bucket.default.name
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Klicken Sie in der Google Cloud Console auf Aktualisieren, um zu prüfen, ob die Grafikdatei kopiert wurde.

Cloud Storage-Bucket veröffentlichen

In diesem Beispiel wird Ihr Cloud Storage-Bucket öffentlich lesbar gemacht. Dies ist der empfohlene Ansatz für öffentliche Inhalte. Mit dieser Einstellung kann jeder im Internet Ihre Objekte und deren Metadaten aufrufen und auflisten. ACLs sind davon ausgenommen. Um das Risiko einer unbeabsichtigten Datenpanne zu verringern, sollten Sie in der Regel bestimmte Cloud Storage-Buckets für öffentliche Objekte verwenden.

Es gibt folgende Alternativen, wenn Sie einen gesamten Cloud Storage-Bucket nicht öffentlich machen möchten:

Mit der folgenden Anleitung wird allen Nutzern der Lesezugriff auf Objekte in Ihrem Cloud Storage-Bucket gewährt, sodass der Bucket öffentlich lesbar wird.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Cloud Storage-Buckets.

    Zur Seite "Buckets"

  2. Rufen Sie den Bucket auf und klicken Sie auf den Tab Berechtigungen.
  3. Klicken Sie auf Hauptkonten hinzufügen.
  4. Geben Sie unter Neue Hauptkonten allUsers ein.
  5. Wählen Sie als Rolle Cloud Storage > Storage-Objekt-Betrachter aus.
  6. Klicken Sie auf Speichern.

gcloud

gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer

Terraform

Verwenden Sie zum Veröffentlichen Ihres Cloud Storage-Buckets die Ressource google_storage_bucket_iam_member.

# make bucket public
resource "google_storage_bucket_iam_member" "default" {
  bucket = google_storage_bucket.default.name
  role   = "roles/storage.objectViewer"
  member = "allUsers"
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Externe IP-Adresse reservieren

Nachdem der Cloud Storage-Bucket nun ausgeführt wird, richten Sie eine globale statische externe IP-Adresse ein, über die Ihre Kunden auf Ihren Load-Balancer zugreifen können.

Dieser Schritt ist optional, wird jedoch empfohlen, da eine statische externe IP-Adresse eine einzelne Adresse bietet, auf die Ihre Domain verweisen soll.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Externe IP-Adressen auf.

    Zur Seite "Externe IP-Adressen"

  2. Um eine IPv4-Adresse zu reservieren, klicken Sie auf Statische Adresse reservieren.
  3. Weisen Sie als Name example-ip zu.
  4. Setzen Sie die Netzwerkdienststufe auf Premium.
  5. Setzen Sie die IP-Version auf IPv4.
  6. Legen Sie für Typ Global fest.
  7. Klicken Sie auf Reservieren.

gcloud

gcloud compute addresses create example-ip \
    --network-tier=PREMIUM \
    --ip-version=IPV4 \
    --global

Notieren Sie sich die reservierte IPv4-Adresse:

gcloud compute addresses describe example-ip \
    --format="get(address)" \
    --global

Terraform

Verwenden Sie zum Reservieren der IP-Adresse die Ressource google_compute_global_address.

# reserve IP address
resource "google_compute_global_address" "default" {
  name = "example-ip"
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Externen Application Load Balancer erstellen

In diesem Verfahren erstellen Sie den Backend-Bucket des Load-Balancers, der als Wrapper für Ihren Cloud Storage-Bucket dient. Beim Erstellen oder Bearbeiten eines Backend-Buckets können Sie Cloud CDN aktivieren.

Console

Konfiguration des externen Application Load Balancers starten

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

    Zur Seite „Load-Balancing“

  2. Klicken Sie unter HTTP(S)-Load-Balancing auf Konfiguration starten.
  3. Wählen Sie Vom Internet zu meinen VMs aus und klicken Sie auf Weiter.
  4. Wählen Sie unter Erweiterte Traffic-Verwaltung eine der folgenden Optionen aus:
    • Wählen Sie für klassische Application Load Balancer die Option Klassischer HTTP(S)-Load Balancer aus.
    • Wählen Sie für globale externe Application Load Balancer die Option HTTP(S)-Load-Balancer mit erweiterter Traffic-Verwaltung aus.
  5. Geben Sie für Name den Wert http-lb ein und fahren Sie mit dem nächsten Schritt fort.

Backend konfigurieren und Cloud CDN aktivieren

Erstellen Sie den Backend-Bucket des Load-Balancers, der als Wrapper für den Cloud Storage-Bucket dient. Beim Erstellen oder Bearbeiten eines Backend-Buckets können Sie Cloud CDN aktivieren.

  1. Klicken Sie auf Backend-Konfiguration.
  2. Klicken Sie für Backend-Dienste und Backend-Buckets auf Backend-Dienste und Backend-Buckets erstellen oder auswählen und dann auf Backend-Buckets > Backend-Bucket erstellen.
  3. Legen Sie als Name cat-backend-bucket fest. Dieser Name muss nicht global eindeutig sein und kann sich vom Namen des tatsächlichen Cloud Storage-Buckets unterscheiden.
  4. Klicken Sie unter Cloud Storage-Bucket auf Durchsuchen.
  5. Wählen Sie den global eindeutigen Cloud Storage-BUCKET_NAME aus, den Sie erstellt haben, und klicken Sie auf Auswählen.
  6. Klicken Sie auf Cloud CDN aktivieren.

  7. Optional: Ändern Sie die Einstellungen für den Cache-Modus und den TTL-Wert.

  8. Klicken Sie auf Erstellen.

Hostregeln und Pfad-Matcher konfigurieren

Hostregeln und Pfad-Matcher sind Konfigurationskomponenten der URL-Zuordnung eines externen Application Load Balancers.

Unter Host- und Pfadregeln können Sie die Standardeinstellungen beibehalten.

Ein benutzerdefiniertes Einrichtungsbeispiel finden Sie unter Backend-Buckets zu Load-Balancern hinzufügen.

Weitere Informationen zu Hostregeln und Pfad-Matchern finden Sie unter Übersicht über URL-Zuordnungen.

Frontend konfigurieren

  1. Klicken Sie auf Frontend-Konfiguration.
  2. Prüfen Sie, ob die Optionen mit diesen Werten konfiguriert sind:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Protokoll HTTP
    Netzwerkdienststufe Premium
    IP-Version IPv4
    IP-Adresse example-ip
    Port 80

    Wenn Sie einen HTTPS-Load-Balancer statt eines HTTP-Load-Balancers erstellen möchten, benötigen Sie ein SSL-Zertifikat (gcloud compute ssl-certificates list) und müssen die Felder so ausfüllen:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Protokoll HTTPS
    Netzwerkdienststufe Premium
    IP-Version IPv4
    IP-Adresse example-ip
    Port 443
    Zertifikat Wählen Sie ein Zertifikat aus oder erstellen Sie ein neues Zertifikat.
  3. Klicken Sie auf Fertig.

Konfiguration prüfen

  1. Klicken Sie auf Prüfen und abschließen.
  2. Prüfen Sie die Bereiche Backend-Buckets, Host- und Pfadregeln und Frontend.
  3. Klicken Sie auf Erstellen.
  4. Warten Sie, bis der Load-Balancer erstellt ist.
  5. Klicken Sie auf den Namen des Load-Balancers (http-lb).
  6. Notieren Sie die IP-Adresse des Load-Balancers für die nächste Aufgabe. Sie wird als IP_ADDRESS bezeichnet.

gcloud

Backend konfigurieren

gcloud compute backend-buckets create cat-backend-bucket \
    --gcs-bucket-name=BUCKET_NAME \
    --enable-cdn \
    --cache-mode=CACHE_MODE

Legen Sie den Cache-Modus fest. Ersetzen Sie dazu CACHE_MODE durch einen der folgenden Werte:

  • CACHE_ALL_STATIC oder USE_ORIGIN_HEADERS: Es werden die Header verwendet, die gemäß den Cache-Control-Metadaten in Cloud Storage festgelegt sind. Cloud Storage stellt Cloud CDN immer einen Cache-Control-Header zur Verfügung. Wenn kein Wert explizit ausgewählt wird, wird ein Standardwert gesendet.

  • FORCE_CACHE_ALL: Alle Inhalte werden im Cache gespeichert. Sämtliche Anweisungen private, no-store oder no-cache in Cache-Control-Antwortheadern, die von Cloud Storage gesendet werden, werden ignoriert.

URL-Zuordnung konfigurieren

gcloud compute url-maps create http-lb \
    --default-backend-bucket=cat-backend-bucket

Zielproxy konfigurieren

gcloud compute target-http-proxies create http-lb-proxy \
    --url-map=http-lb

Weiterleitungsregel konfigurieren

  • Verwenden Sie für einen globalen externen Application Load Balancer den gcloud CLI-Befehl mit load-balancing-scheme=EXTERNAL_MANAGED. Diese Einstellung bietet erweiterte Funktionen zur Trafficverwaltung.
  • Verwenden Sie für einen klassischen Application Load Balancer load-balancing-scheme=EXTERNAL.
gcloud compute forwarding-rules create http-lb-forwarding-rule \
    --load-balancing-scheme=LOAD_BALANCING_SCHEME \
    --network-tier=PREMIUM \
    --address=example-ip \
    --global \
    --target-http-proxy=http-lb-proxy \
    --ports=80

Terraform

Backend konfigurieren

Verwenden Sie zum Konfigurieren des Back-Ends die Ressource google_compute_backend_bucket.

# backend bucket with CDN policy with default ttl settings
resource "google_compute_backend_bucket" "default" {
  name        = "cat-backend-bucket"
  description = "Contains beautiful images"
  bucket_name = google_storage_bucket.default.name
  enable_cdn  = true
  cdn_policy {
    cache_mode        = "CACHE_ALL_STATIC"
    client_ttl        = 3600
    default_ttl       = 3600
    max_ttl           = 86400
    negative_caching  = true
    serve_while_stale = 86400
  }
}

URL-Zuordnung konfigurieren

Verwenden Sie zum Konfigurieren des Back-Ends die Ressource google_compute_url_map.

# url map
resource "google_compute_url_map" "default" {
  name            = "http-lb"
  default_service = google_compute_backend_bucket.default.id
}

Zielproxy konfigurieren

Verwenden Sie zum Konfigurieren des Zielproxys die Ressource google_compute_target_http_proxy oder die Ressource google_compute_target_https_proxy.

# http proxy
resource "google_compute_target_http_proxy" "default" {
  name    = "http-lb-proxy"
  url_map = google_compute_url_map.default.id
}

Weiterleitungsregel konfigurieren

Verwenden Sie zum Konfigurieren der Weiterleitungsregel die Ressource google_compute_global_forwarding_rule.

# forwarding rule
resource "google_compute_global_forwarding_rule" "default" {
  name                  = "http-lb-forwarding-rule"
  ip_protocol           = "TCP"
  load_balancing_scheme = "EXTERNAL"
  port_range            = "80"
  target                = google_compute_target_http_proxy.default.id
  ip_address            = google_compute_global_address.default.id
}
  • Verwenden Sie für einen globalen externen Application Load Balancer load_balancing_scheme="EXTERNAL_MANAGED". Diese Einstellung bietet erweiterte Funktionen zur Trafficverwaltung.
  • Verwenden Sie für einen klassischen Application Load Balancer load_balancing_scheme="EXTERNAL".

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Traffic an den Backend-Bucket senden

Nachdem die globale Weiterleitungsregel erstellt wurde, kann es mehrere Minuten dauern, bis die Konfiguration wirksam wird. Nach mehreren Minuten können Sie mit dem Senden von Traffic an die IP-Adresse des Load-Balancers beginnen.

Console

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

    Zur Seite „Load-Balancing“

  2. Klicken Sie auf http-lb, um den soeben erstellten Load-Balancer zu maximieren.

    Prüfen Sie im Abschnitt Backend, ob der Backend-Bucket fehlerfrei ist. Neben Ihrem Backend-Bucket sollte ein grünes Häkchen angezeigt werden. Wenn Sie etwas anderes sehen, versuchen Sie zuerst, die Seite neu zu laden. Es kann einige Minuten dauern, bis die Google Cloud Console anzeigt, dass die Back-Ends fehlerfrei sind.

  3. Sobald die Google Cloud Console anzeigt, dass der Backend-Bucket fehlerfrei ist, können Sie den Load-Balancer mit einem Webbrowser testen. Rufen Sie dafür http://IP_ADDRESS/never-fetch/three-cats.jpg auf. Ersetzen Sie IP_ADDRESS durch die IP-Adresse des Load-Balancers. Ihr Browser sollte eine Seite mit Inhalt der Grafikdatei rendern.

gcloud

Testen Sie die Antwort von der URL mit dem Befehl curl. Ersetzen Sie IP_ADDRESS durch die IPv4-Adresse des Load-Balancers:

Notieren Sie sich die reservierte IPv4-Adresse:

gcloud compute addresses describe example-ip \
    --format="get(address)" \
    --global

Senden Sie eine curl-Anfrage:

curl http://IP_ADDRESS/never-fetch/three-cats.jpg

Prüfen, ob Cloud CDN funktioniert

Wenn Sie die Seite http://IP_ADDRESS/never-fetch/three-cats.jpg mehrmals kurz nacheinander neu laden, sollten mehrere Cache-Treffer angezeigt werden.

Der folgende Logeintrag zeigt einen Cache-Treffer. Sie können Cache-Treffer in der Google Cloud Console aufrufen, indem Sie den Log-Explorer öffnen und nach dem Namen der Weiterleitungsregel filtern.

Öffnen Sie den Log-Explorer.

Log-Explorer

{
    insertId: "1oek5rg3l3fxj7"
    jsonPayload: {
        @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
        cacheId: "SFO-fbae48ad"
        statusDetails: "response_from_cache"
    }
    httpRequest: {
        requestMethod: "GET"
        requestUrl: "http://LOAD_BALANCER_IP_ADDRESS/never-fetch/three-cats.jpg"
        requestSize: "577"
        status: 254
        responseSize: "157"
        userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"
        remoteIp: "CLIENT_IP_ADDRESS"
        cacheHit: true
        cacheLookup: true
    }
    resource: {
        type: "http_load_balancer"
        labels: {
            zone: "global"
            url_map_name: "URL_MAP_NAME"
            forwarding_rule_name: "FORWARDING_RULE_NAME"
            target_proxy_name: "TARGET_PROXY_NAME"
            backend_service_name: ""
            project_id: "PROJECT_ID"
        }
    }
    timestamp: "2020-06-08T23:41:25.078651Z"
    severity: "INFO"
    logName: "projects/PROJECT_ID/logs/requests"
    trace: "projects/PROJECT_ID/traces/241d69833e64b3bf83fabac8c873d992"
    receiveTimestamp: "2020-06-08T23:41:25.588272510Z"
    spanId: "7b6537d3672e08e1"
}

Console

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

    Zur Seite „Load-Balancing“

  2. Klicken Sie auf http-lb, um den soeben erstellten Load-Balancer zu maximieren.

    Prüfen Sie im Abschnitt Backend, ob der Backend-Bucket fehlerfrei ist. Neben Ihrem Backend-Bucket sollte ein grünes Häkchen angezeigt werden. Wenn Sie etwas anderes sehen, versuchen Sie zuerst, die Seite neu zu laden. Es kann einige Minuten dauern, bis die Google Cloud Console anzeigt, dass die Back-Ends fehlerfrei sind.

  3. Sobald die Google Cloud Console anzeigt, dass der Backend-Bucket fehlerfrei ist, können Sie den Load-Balancer mit einem Webbrowser testen. Rufen Sie dafür http://IP_ADDRESS/never-fetch/three-cats.jpg auf. Ersetzen Sie IP_ADDRESS durch die IP-Adresse des Load-Balancers. Ihr Browser sollte eine Seite mit Inhalt der Grafikdatei rendern.

gcloud

Testen Sie die Antwort von der URL mit dem Befehl curl. Ersetzen Sie IP_ADDRESS durch die IPv4-Adresse des Load-Balancers:

Notieren Sie sich die reservierte IPv4-Adresse:

gcloud compute addresses describe example-ip \
    --format="get(address)" \
    --global

Senden Sie eine curl-Anfrage:

curl -D- -o /dev/null /dev/null http://IP_ADDRESS/never-fetch/three-cats.jpg

Der Inhalt wird aus Cloud Storage abgerufen, von Cloud CDN im Cache gespeichert und dann validiert und noch einmal abgerufen, wenn er abläuft oder aus anderen Gründen aus dem Cache entfernt wird.

Inhalte aus dem Cache haben einen Age-Header, der größer als null ist.

Inhalte, die vor dem Ablaufen der TTL aktualisiert werden müssen, können für ungültig erklärt werden und noch einmal aus Cloud Storage abgerufen werden.

Cloud CDN deaktivieren

Console

Cloud CDN für einen einzelnen Backend-Bucket deaktivieren

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

    Zur Cloud CDN-Seite

  2. Klicken Sie auf der rechten Seite der ursprünglichen Zeile auf Menü  und wählen Sie Bearbeiten aus.
  3. Entfernen Sie die Häkchen aus den Kästchen aller Backend-Buckets, für die Cloud CDN nicht mehr verwendet werden soll.
  4. Klicken Sie auf Aktualisieren.

Cloud CDN für alle Backend-Buckets für einen Ursprung entfernen

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

    Zur Cloud CDN-Seite

  2. Klicken Sie auf der rechten Seite der ursprünglichen Zeile auf Menü  und wählen Sie Entfernen aus.
  3. Klicken Sie zur Bestätigung auf Entfernen.

gcloud

gcloud compute backend-buckets update BACKEND_BUCKET_NAME \
    --no-enable-cdn

Die Aktivierung von Cloud CDN führt zu keiner Entwertung oder Löschung von Caches. Wenn Sie Cloud CDN deaktivieren und wieder aktivieren, bleiben die meisten oder alle im Cache gespeicherten Inhalte im Cache gespeichert. Um zu verhindern, dass Inhalte von Caches verwendet werden, müssen Sie diese Inhalte entwerten.

Nächste Schritte

  • Mehr dazu, welche Inhalte im Cache gespeichert werden, erfahren Sie unter Caching.
  • Informationen zum Verwenden von Cloud CDN in GKE finden Sie unter Ingress-Features.
  • Informationen zum Prüfen, ob Cloud CDN Antworten aus dem Cache bereitstellt, finden Sie unter Logs ansehen.
  • Informationen zu häufigen Problemen und deren Lösungen finden Sie unter Fehlerbehebung.
  • Informationen zum Konfigurieren von Filter- und Zugriffssteuerungsrichtlinien für Ihre Inhalte finden Sie unter Edge-Sicherheitsrichtlinien.