Diese Seite bietet einen Überblick über die Cache-Entwertung in Cloud CDN.
Was ist eine Cache-Entwertung?
Sobald ein Objekt im Cache gespeichert wurde, verbleibt es normalerweise im Cache, bis es abläuft oder gelöscht wird, um Platz für neue Inhalte zu schaffen. Die Ablaufzeit steuern Sie über Standard-HTTP-Header.
Unter Umständen möchten Sie ein Objekt vielleicht vor seiner normalen Ablaufzeit aus dem Cache entfernen. Sie können erzwingen, dass ein Objekt oder Objektsatz vom Cache ignoriert wird, indem Sie eine Cache-Entwertung beantragen.
Es ist wichtig sicherzustellen, dass der Ursprungsserver die korrekten Inhalte zurückgibt, bevor Sie die Cache-Entwertung anfordern. Andernfalls wird möglicherweise der falsche Inhalt im Cache gespeichert, wenn Cloud CDN den Inhalt ein weiteres Mal anfordert.
Pfadmuster
Jeder Antrag auf Entwertung umfasst ein Pfadmuster, das das Objekt oder den Objektsatz identifiziert, das bzw. der entwertet werden soll. Das Pfadmuster kann entweder ein bestimmter Pfad sein, z. B. /cat.jpg
, oder eine gesamte Verzeichnisstruktur, z. B. /pictures/*
. Für Pfadmuster gelten folgende Regeln:
- Das Pfadmuster muss mit
/
beginnen. - Es darf weder
?
noch#
enthalten. - Es darf nicht das Zeichen
*
enthalten, außer als letztes Zeichen nach/
. - Wenn es mit
/*
endet, ist der vorherige String ein Präfix und alle Objekte, deren Pfade mit diesem Präfix beginnen, werden entwertet.
Das Pfadmuster wird mit der Pfadkomponente der URL verglichen. Die Pfadkomponente besteht aus sämtlichen Zeichen zwischen dem Hostnamen und einem eventuell vorhandenen ?
oder #
.
Wenn Sie URLs haben, die einen Abfragestring wie /images.php?image=fred.png
enthalten, können Sie Objekte, die sich nur durch den Abfragestring unterscheiden, nicht selektiv entwerten. Wenn Sie beispielsweise die zwei Bilder /images.php?image=fred.png
und /images.php?image=barney.png
haben, können Sie nicht nur fred.png
entwerten. Verwenden Sie /images.php
als Pfadmuster, um alle von "images.php" bereitgestellten Bilder zu entwerten.
Cache für einen einzelnen Host entwerten
Normalerweise wird bei der Cache-Entwertung der Pfad für alle Ihre Hostnamen entwertet. Wenn beispielsweise example.com
und example2.com
auf denselben Load-Balancer verweisen und Sie /images/cat.jpg
entwerten, werden sowohl example.com/images/cat.jpg
als auch example2.com/images/cat.jpg
entwertet.
Sie können die Entwertung auf nur einen der Hosts beschränken, indem Sie dem Befehl das Flag --host
hinzufügen.
Beschränkungen
Die Entwertung ist nur für außergewöhnliche Umstände vorgesehen und kein Bestandteil Ihres normalen Arbeitsablaufs. Entwertungen wirken sich nicht auf Kopien aus, die in Webbrowser-Caches oder in von Internet-Drittanbietern betriebenen Caches gespeichert sind.
Als Alternative zu routinemäßigen Entwertungen können Sie proaktiv passende Ablaufzeiten für Antworten festlegen oder verschiedene URLs für verschiedene Versionen Ihrer Inhalte verwenden. Weitere Informationen zu Ablaufzeiten finden Sie unter Ablaufzeiten und Validierungsanfragen.
Für Entwertungen gibt es eine Ratenbegrenzung. Sie können höchstens eine Entwertung pro Minute einreichen. Eine Entwertung kann jedoch beliebig groß sein. Die Entwertung von /images/fred.png
zählt als eine Entwertung. Die Entwertung von /images/*
zählt ebenfalls als eine Entwertung.
Führen Sie eine Entwertung möglichst nur dann durch, wenn sie auch notwendig ist, denn eine zu umfangreiche Entwertung kann bei Ihren Instanzen oder Buckets zu einer plötzlichen starken Zunahme von Anfragen führen, die zuvor aus den Caches bedient wurden.
Da es sich bei Cloud CDN um ein dezentrales System handelt, kann die Meldung erscheinen, dass eine Entwertung abgeschlossen wurde, obwohl eine kleine Anzahl an Caches die Entwertungsanfrage noch nicht verarbeitet hat. Diese Situation ist extrem selten und wird automatisch korrigiert.
Cache-Entwertung mit projektübergreifenden Dienstverweisen für freigegebene VPC anfordern
Wenn Sie einen globalen externen Application Load Balancer mit projektübergreifenden Dienstverweisen für freigegebene VPCs verwenden, haben Dienstprojektadministratoren standardmäßig nicht die erforderlichen Berechtigungen, um Cache-Entwertungen anzufordern. Das liegt daran, dass die Cache-Entwertung im Front-End-Projekt konfiguriert ist (d. h. im Projekt mit der Weiterleitungsregel, dem Zielproxy und der URL-Zuordnung des Load-Balancers). Daher können Cache-Entwertungen nur von Hauptkonten ausgegeben werden, die die IAM-Rollen zum Konfigurieren von Load-Balancer-bezogenen Ressourcen in den Front-End-Projekten haben (z. B. die Rolle „Compute-Netzwerkadministrator“).
Dienstadministratoren, die die Bereitstellung der Back-End-Dienste in einem separaten Projekt steuern, müssen mit dem Load-Balancer-Administrator des Front-End-Projekts zusammenarbeiten, um die Cache-Entwertung für ihre projektübergreifenden Dienste durchzuführen.
Nächste Schritte
Mehr zum Entwerten Ihrer im Cache gespeicherten Inhalte in Cloud CDN finden Sie unter Cache-Inhalte entwerten.
Mehr darüber, welche Inhalte im Cache gespeichert werden können und welche nicht, erfahren Sie unter Caching-Details.