Direkt zum Inhalt

Warum stellt CloudFront veraltete Inhalte von Amazon S3 bereit?

Lesedauer: 4 Minute
0

Ich verwende Amazon CloudFront, um in Amazon Simple Storage Service (Amazon S3) gespeicherte Objekte bereitzustellen. Ich habe meine Objekte in Amazon S3 aktualisiert, meine CloudFront-Distribution stellt jedoch immer noch die vorherigen Versionen dieser Dateien bereit.

Kurzbeschreibung

Standardmäßig speichert CloudFront eine Antwort von Amazon S3 24 Stunden lang im Cache (Standard-TTL von 86.400 Sekunden). Wenn Ihre Anfrage an einem Edge-Standort landet, der die Amazon S3-Antwort innerhalb von 24 Stunden bereitgestellt hat, verwendet CloudFront die zwischengespeicherte Antwort. Dies passiert auch dann, wenn du den Inhalt in Amazon S3 aktualisiert hast.

Verwende eine der folgenden Methoden, um die aktualisierten Amazon S3-Inhalte von CloudFront zu übertragen:

Lösung

Amazon S3-Objekte für ungültig erklären

Du kannst ein Amazon S3-Objekt ungültig machen, um es aus dem Cache der CloudFront-Distribution zu entfernen. Nachdem du das Objekt aus dem Cache entfernst, ruft die nächste Anfrage das Objekt direkt von Amazon S3 ab.

Hinweis:

  • Du kannst bestimmte Versionen eines Objekts, das Cookies oder Header verwendet, um die Antwort zu variieren, nicht ungültig machen. CloudFront macht in diesem Fall alle Versionen des Objekts ungültig.
  • Jedem AWS-Konto stehen 1.000 kostenlose Invalidierungspfade pro Monat zur Verfügung. Weitere Informationen finden Sie unter Amazon CloudFront-Preise.

Wenn du eine Invalidierung erstellst, stelle sicher, dass die Objektpfade die folgenden Anforderungen erfüllen:

  • Die Objektpfade müssen für einzelne Objekte gelten oder die Pfade müssen mit dem Platzhalterzeichen (*) enden. Beispielsweise kannst du keine Invalidierung für einen Pfad ausführen, der /images/*.jpeg ähnelt. Dies liegt daran, dass der Pfad nicht für ein einzelnes Objekt bestimmt ist und nicht mit einem Platzhalterzeichen endet.
  • Der angegebene Pfad muss genau mit der Groß- und Kleinschreibung des Pfads des Objekts übereinstimmen. Bei Invalidierungsanfragen wird zwischen Groß- und Kleinschreibung unterschieden.
  • Um bestimmte Versionen eines Objekts zu entfernen, die auf einer Abfragezeichenfolge basieren, füge Abfragezeichenfolge-Parameter in den Invalidierungspfad ein.

Die Objektinvalidierung dauert in der Regel 10–100 Sekunden. Um den Status einer Invalidierung zu überprüfen, sieh dir die Distribution von der CloudFront-Konsole aus an.

Dateiversionsverwaltung verwenden

Wenn du Inhalte häufig aktualisierst, dann empfiehlt es sich, die Dateiversionsverwaltung zu verwenden, um den Cache der CloudFront-Distribution zu leeren. Bei häufigen Cache-Aktualisierungen kostet die Dateiversionsverwaltung möglicherweise weniger als die Invalidierung.

Gehe wie folgt vor, um die Dateiversionsverwaltung zu verwenden:

  • Speichere neue Versionen des Objekts am Ursprung mit der Versionsnummer im Schlüsselnamen. Wenn du beispielsweise /image_v1.png aktualisierst, speichere eine neue Version des Objekts als /image_v2.png.
  • Aktualisiere das Objekt am Ursprung, speichere es jedoch auf der Grundlage einer Abfragezeichenfolge mit der Dateiversion. Beispielsweise wird die Abfragezeichenfolge von /image.png?ver=1 zu /image.png?ver=2 aktualisiert. Du kannst eine Cache-Richtlinie verwenden, um festzulegen, welche Abfragezeichenfolgen in den Cacheschlüssel- und Ursprungsanfragen enthalten sind.
    Hinweis: Du kannst weiterhin die vorherige Version anfordern (/image.png? ver=1), solange diese im CloudFront-Cache verfügbar ist.

Beachte die folgenden Vor- und Nachteile der einzelnen Methoden der Dateiversionsverwaltung:

  • Du kannst neue Versionen des Objekts am Ursprung speichern, um Änderungen an früheren Versionen rückgängig zu machen, die noch unter den vorherigen Namen verfügbar sind. Wenn du jedoch mehrere Versionen eines Objekts speicherst, können sich die Speicherkosten erhöhen.
  • Objektaktualisierungen am Ursprung und das Zwischenspeichern auf der Grundlage der Abfragezeichenfolge können die Speicherkosten senken. Um sich auf etwaige Rollbacks vorzubereiten, empfiehlt es sich, frühere Dateiversionen offline zu lassen.

Hinweis: Angegebene versionierte Datei- oder Verzeichnisnamen beziehen sich nicht auf die S3-Versionsverwaltung. Die S3-Versionsverwaltung aktualisiert Inhalte nicht automatisch. Stelle sicher, dass du die Dateipfade korrekt angibst, da du eine Invalidierungsanforderung nicht stornieren kannst, nachdem sie gestartet wurde.

Ähnliche Informationen

Verweildauer von Inhalten im Cache (Ablauf) verwalten

Weiterleitung und Zwischenspeicherung von Abfragezeichenfolgen

AWS OFFICIALAktualisiert vor 5 Monaten