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 wichtige Bereiche unterteilt.

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

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 derzeit nicht mit der Verwendung von Ursprungs-Cachesteuerungsheadern vertraut sind, empfiehlt es sich, Cloud CDN zu erlauben, 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 kann Cloud CDN gängige statische Inhaltstypen im Cache speichern, wenn der Ursprung keine Caching-Anweisungen in den Antwortheadern angibt. 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.

Cloud CDN-Schlüssel-Wert-Datenbank
Cloud CDN-Speicher für Schlüssel/Wert-Paare

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 Back-End-Dienst mit dem Logo anpassen, entfernen Sie das Häkchen aus dem Kästchen Protokoll, damit Anfragen über HTTP und HTTPS als Übereinstimmungen für den Cache-Eintrag des Logos gezählt werden.

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

Leistung optimieren

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

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 starke Garantie, dass die Anfrage nur von Ihrem eigenen konfigurierten Back-End-Dienst kommt. Außerdem bietet es Schutz für die Anfrage während der Übertragung und schützt vor der Wiederverwendung des signierten Teils der Anfrage.

Wir empfehlen die Authentifizierung des privaten Ursprungs für Amazon S3-Buckets oder kompatible Objektspeicher. Durch die Authentifizierung des privaten Ursprungs wird sichergestellt, dass nur vertrauenswürdige Verbindungen auf Inhalte Ihrer privaten Ursprünge zugreifen und Nutzer nicht direkt darauf zugreifen.

Wenn Ursprungsfirewalls den Zugriff auf den Ursprung verhindern, verwenden Sie außerdem IP-Zulassungslisten, um sicherzustellen, dass eine Anfrage von Cloud CDN oder dem externen Application Load Balancer stammt. Dies verhindert jedoch nicht, dass andere Media CDN-Kunden versuchen, auf Ihre Inhalte zuzugreifen, indem sie Ihren Ursprung in ihrer Konfiguration angeben.

Cache optimieren

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

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. Die Versionsverwaltung ist kostenlos und einfach zu verwenden. Sie sollte daher standardmäßig für die Aktualisierung von cachefähigen Inhalten genutzt werden.

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.

  • Dateinamen ändern: file.1.0.0.ext oder file_v100.ext.

  • Dateipfad ändern: /v100/file.ext.

Wenn Sie den Parameter hinzufügen, ändern Sie den Namen der Datei und die URL. Durch diese Änderung wird der Cache gezwungen, alle vorhandenen Cache-Einträge zu ignorieren.

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 Monitoring und Logging optimieren.

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.