Best Practices für die Inhaltsübermittlung

Diese Seite enthält Best Practices zur optimierten und schnelleren Inhaltsbereitstellung mit Cloud CDN. Die Abschnitte sind in mehrere Schlüsselbereiche unterteilt.

Cloud CDN verwendet einen externen Application Load Balancer als Ursprung für im Cache speicherbare Inhalte. Ein externer Application Load Balancer kann von statischen und dynamisch erstellten Inhalten über eine globale IP-Adresse für Nutzer aus den folgenden Back-End-Typen:

Aufgrund der nahtlosen Einbindung in Google Cloud haben Sie mehrere Möglichkeiten, Cloud CDN bereitzustellen und Inhalte zu verwalten. Sie können die hier aufgeführten Best Practices nutzen, um Ihre Bereitstellung zu planen und zu optimieren. Weitere Informationen finden Sie unter Cloud CDN einrichten.

Cache-Trefferquote optimieren

Mit den folgenden empfohlenen Vorgehensweisen können Sie die Cache-Trefferquote optimieren.

Statische Inhalte im Cache speichern

Als Best Practice zur Verbesserung der Leistung müssen Sie beim Aktivieren von Cloud CDN den richtigen Cache-Modus für Ihre Anwendung auswählen.

Die flexibelste und allgemein bevorzugte Methode zum Verwalten von Cache-Regeln ist die Verwendung des Headers "Cachesteuerung". Wenn Sie nicht mit der Verwendung von Ursprungs-Cache-Control-Headers enthält, empfiehlt es sich, Cloud CDN, um statische Inhalte automatisch im Cache zu speichern.

Wenn Sie statische Antworten von Ihrem Ursprung automatisch im Cache speichern möchten, können Sie die Einstellung --cache-mode=CACHE_ALL_STATIC verwenden (Standard). Mit dieser Einstellung können Cloud CDN speichert häufige statische Inhalte im Cache Typen, wenn der Ursprung keinen Caching-Anweisungen in den Antwort-Headern. Der Inhalt muss den beschriebenen Kategorien entsprechen. Andernfalls werden Inhalte nicht im Cache gespeichert.

Nutzerspezifische Inhalte nicht im Cache speichern

In einigen Fällen können Browser nutzerspezifische Inhalte im Cache speichern. Verwenden Sie Cloud CDN nicht zum Speichern von nutzerspezifischen Inhalten im Cache.

Benutzerdefinierte Cache-Schlüssel zur Verbesserung der Cache-Trefferquote verwenden

Für Leistung und Skalierbarkeit ist es wichtig, die Cache-Trefferquote zu optimieren. Cloud CDN nutzt standardmäßig die vollständige Anfrage-URL, um den Cache-Schlüssel zu erstellen. Sie können benutzerdefinierte Cache-Schlüssel nutzen, um die Cache-Trefferquote zu optimieren, sodass Cloud CDN den Cache nicht unnötig fragmentiert.

<ph type="x-smartling-placeholder">
</ph>
Cloud CDN-Speicher für Schlüssel/Wert-Paare (zum Vergrößern klicken)

Mit benutzerdefinierten Cache-Schlüsseln können Sie eine beliebige Kombination aus Protokoll-, Host- und Anfragestrings ein- oder weglassen. Im Folgenden finden Sie einige Beispiele für die Verwendung benutzerdefinierter Cache-Schlüssel:

  • Sie haben zwei Hosts, die in dieselbe IP-Adresse aufgelöst werden und zum selben Dienst gehen. In diesem Beispiel ist die gesamte Website auf den beiden Hosts identisch. Standardmäßig speichert Cloud CDN aufgrund des unterschiedlichen Headers Host: in den HTTP-Anfragen zwei Kopien im Cache. Mit einem benutzerdefinierten Cache-Schlüssel können Sie Cloud CDN dazu veranlassen, den Hostteil der Anfrage zu ignorieren und die Cache-Einträge freizugeben.

  • In einem genaueren Beispiel haben Sie zwei Websites in verschiedenen Domains mit demselben Logo. Der Inhalt der Website ist unterschiedlich, aber Sie verwenden das gleiche Firmenlogo für beide Domains und Sie haben einen dedizierten Backend-Dienst mit freigegebenen Inhalten. Wenn Sie für den Backend-Dienst, der das Logo enthält, Cloud CDN aktivieren und die Cache-Schlüssel anpassen möchten, müssen Sie das Häkchen im Kästchen Host entfernen. Der Cache ignoriert dann die Domain, speichert aber das Logo.

  • Ein Logo muss im Cache gespeichert werden, unabhängig davon, ob es über HTTP oder HTTPS angezeigt wird. Wenn Sie die Cache-Schlüssel für den Backend-Dienst, der das Logo enthält, anpassen, sollten Sie das Kästchen Protokoll deaktivieren, sodass der Cache-Eintrag des Logos gleichermaßen für Anfragen über HTTP und HTTPS aufgerufen wird.

Wie Sie Cache-Schlüssel anpassen, können Sie unter Cache-Schlüssel verwenden herausfinden.

Leistung optimieren

Die folgenden empfohlenen Vorgehensweisen helfen bei der Leistungsoptimierung.

Unterstützung der Protokolle HTTP/3 und QUIC muss aktiviert sein

HTTP/3 ist ein Internetprotokoll der nächsten Generation. Es baut auf QUIC auf, einem Protokoll, das aus dem ursprünglichen Google QUIC-Protokoll (gQUIC) entwickelt wurde. HTTP/3 wird zwischen dem externen HTTP(S)-Load-Balancer, Cloud CDN und Clients unterstützt.

Um die Leistung mit Cloud CDN zu steigern, muss HTTP/3 aktiviert sein.

Negatives Caching verwenden

Negatives Caching bietet eine detaillierte Kontrolle über das Caching für häufige Fehler oder Weiterleitungen. Wenn Cloud CDN bestimmte Antwortcodes erkennt, wird diese Antwort für eine festgelegte TTL im Cache gespeichert. So können Sie die Belastung am Ursprung verringern und durch die reduzierte Antwortlatenz die Abläufe für die Endnutzer verbessern.

Sicherheit optimieren

Mit den folgenden empfohlenen Vorgehensweisen können Sie die Sicherheit optimieren.

Google Cloud Armor verwenden

Google Cloud Armor kann in Cloud CDN sowohl für im Cache gespeicherte Inhalte als auch für nicht im Cache gespeicherte Inhalte oder Inhalte mit Cache-Fehlern eingebunden werden. Eine Best Practice besteht darin, Google Cloud Armor nach Möglichkeit in Verbindung mit Cloud CDN zu verwenden, um die Sicherheit von Webanwendungen zu erhöhen.

Signierte URLs verwenden

Wenn Sie signierte URLs verwenden: beachten Sie Folgendes:

Private Ursprünge authentifizieren

Die Ursprungsauthentifizierung bietet eine sichere Garantie, dass die Anfrage nur von eigenen konfigurierten Back-End-Dienst. Sie bietet auch Datenschutz während der Übertragung. und schützt vor der Wiederverwendung des signierten Teils des

Wir empfehlen die Verwendung des privaten Ursprungsservers Authentifizierung für Amazon S3-Buckets oder kompatible Objektspeicher. Privater Ursprung können Sie sicherstellen, dass nur vertrauenswürdige Verbindungen privaten Ursprungs sind und nicht direkt darauf zugegriffen werden kann.

Wenn die Firewalls des Ursprungs den Zugriff auf den Ursprung verhindern, verwenden Sie außerdem IP-Adresse um sicherzustellen, dass eine Anfrage von Cloud CDN oder dem externen Application Load Balancer. Andere Media CDNs werden dadurch jedoch nicht verhindert. Kunden davon abhalten, auf Ihre Inhalte zuzugreifen, indem sie Ihren Ursprung in und deren Konfiguration.

Cache optimieren

Die folgenden empfohlenen Vorgehensweisen helfen bei der Optimierung des Cache.

Cache-TTLs optimieren

Sie können die TTLs festlegen oder überschreiben, um zu optimieren, wie lange Cloud CDN Ihre Antworten im Cache speichert und wann Cloud CDN Ihre Antworten neu validiert.

Sie können auch eine clientseitige TTL definieren, um die Browser-Caches optimal zu nutzen.

Weitere Informationen finden Sie unter TTL-Einstellungen und -Überschreibungen verwenden.

Ablaufzeit für zeitkritischen Inhalt festlegen

Jedes Inhaltselement in einem Cloud CDN-Cache ist mit einer Ablaufzeit verknüpft. Legen Sie daher eine Ablaufzeit fest, die zu Ihrem Anwendungsfall passt. Da Ursprungsserver auf dem Cache-Server abgelaufene Inhalte noch einmal senden müssen, ist es wichtig, dass Sie die Ablaufzeit sorgfältig auswählen.

Eine Methode für die Auswahl der Ablaufzeit ist, Inhalte danach zu kategorisieren, wie oft der entsprechende Inhalt aktualisiert wird. Beispiel:

  • Nahezu in Echtzeit stattfindende Aktualisierungen, zum Beispiel Live-Feeds für Sportereignisse oder Verkehr
  • Häufige Aktualisierungen, z. B. wöchentliche, tägliche oder stündliche Wetterdaten oder Bilder auf Titelseiten von Nachrichtenportalen
  • Selten aktualisierte Elemente, z. B. Website-Logos, CSS- oder JavaScript-Dateien

Wählen Sie anschließend die Ablaufzeit nach der Inhaltskategorie aus. Eine Ablaufzeit von 5 Sekunden eignet sich beispielsweise für Sportergebnisse in Echtzeit, während für Wetteraktualisierungen eine Ablaufzeit von einer Stunde verwendet werden kann. Für Inhalte, die in Cloud Storage gespeichert sind, legen Sie die Ablaufzeiten mithilfe von Cache-Control-Metadaten fest. Wenn Inhalte von Compute Engine bereitgestellt werden, bestimmen Sie die Ablaufzeiten, indem Sie Ihre Webserversoftware konfigurieren.

Ablaufzeiten werden durch die Werte max-age und s-maxage im Cache-Control-Header angegeben. Dieser Header wird durch die HTTP-Spezifikation definiert. Die folgenden Einstellungen im Cache-Control-Header machen beispielsweise die damit verbundenen Inhalte mit einer Ablaufzeit von 72 Stunden (259.200 Sekunden) öffentlich lesbar und cachefähige:

  Cache-Control: public, max-age=259200

Folgen Sie zur Maximierung des Cachings den Richtlinien in der Caching-Übersicht. Denken Sie daran, dass die Werte max-age und s-maxage im Metadatenfeld Cache-Control auf folgende Weise interagieren:

  • Die Werte max-age und s-maxage werden in Sekunden gemessen.
  • Der Wert s-maxage gilt nur für freigegebene Caches, nicht für Browser-Caches.
  • Der Wert max-age gilt für alle Caches, sofern er nicht von s-maxage überschrieben wird.

Für Inhalte, die nur selten geändert werden oder die sich zusammen mit anderen Inhalten ändern müssen, ist es oft sinnvoll, eine lange Ablaufzeit in Kombination mit versionierten URLs zu verwenden.

Verwenden Sie versionierte URLs zur Aktualisierung von Inhalten

Bei Verwendung von versionierten Inhalten wird eine andere Version der gleichen Inhalte vom Server angeboten. Dabei werden die älteren Inhalte entfernt und dem Nutzer werden die neuen Inhalte angezeigt, bevor die Speicherdauer im Cache abgelaufen ist. Weil ist die Versionsverwaltung kostenlos. Wir empfehlen Ihnen, diese Version als Standardmethode für die Aktualisierung von Cache-fähigen Inhalten.

Um Inhalte zu versionieren, fügen Sie der URL einen Parameter (beispielsweise eine Versionsnummer) hinzu. Es gibt verschiedene Möglichkeiten, Parameter in URLs einzubinden, z. B:

  • Abfragestring hinzufügen: file.ext?v=100.

    Bei Backend-Buckets müssen alle für die Versionsverwaltung verwendeten Abfragestrings in der Konfiguration für den Backend-Bucket angegeben werden. Weitere Informationen finden Sie unter Abfragestring-Einschlussliste für Cloud Storage-Cache-Schlüssel.

  • Ändern Sie den Dateinamen: file.1.0.0.ext oder file_v100.ext.

  • Ändern Sie den Pfad: /v100/file.ext.

Wenn Sie den Parameter hinzufügen, ändern Sie den Namen der Datei und die URL. Durch diese Änderung ignoriert der Cache sämtliche bereits vorhandenen Cache-Einträge.

Entwertung zum Entfernen von Inhalten sparsam verwenden

Entwertung entfernt Inhalte aus den verteilten Cache-Servern von Cloud CDN, bevor der Cache-Eintrag abläuft. Die Entwertung ist letztendlich konsistent.

Wir empfehlen Ihnen, die Entwertung sparsam und nur als letztes Mittel zu verwenden. Entwertung ist beispielsweise dann nützlich, wenn Sie Inhalte aus rechtlichen Gründen oder aufgrund eines versehentlichen Uploads entfernen müssen. Andernfalls empfehlen wir, wenn möglich die Versionsverwaltung zu nutzen oder zu warten, bis der Inhalt normal abläuft. Cloud CDN-Cache-Server bereinigt regelmäßig Inhalte, auf die selten zugegriffen wird, um Platz für neue Inhalte zu schaffen. Inhalte, auf die 30 Tage lang nicht zugegriffen wurde, werden bedingungslos entfernt.

Cache-Entwertungen sind ratenbegrenzt.

Weitere Informationen zur Entwertung finden Sie unter Cache-Entwertung.

Monitoring und Logging optimieren

Mit den folgenden empfohlenen Vorgehensweisen können Sie das Monitoring optimieren und Logging.

Logging für Cloud CDN muss aktiviert sein

Eine Best Practice für die Verwaltung von Cloud CDN besteht darin, Logging für alle Cloud CDN-fähigen Back-Ends zu aktivieren.

Benutzerdefiniertes Monitoring-Dashboard für Cloud CDN verwenden

Um für eine hohe Zuverlässigkeit und Leistung zu sorgen, sollten Sie regelmäßig Monitoring-Messwerte im Zusammenhang mit Cloud CDN prüfen. Ein guter Ausgangspunkt ist das benutzerdefinierte Monitoring-Dashboard für Cloud CDN.

Leistungstests von Drittanbietern prüfen

Lesen Sie Berichte von Drittanbietern, z. B. Berichte zur Verfügbarkeit, Latenz und zum Durchsatz von Citrix Radar.