View a markdown version of this page

GAMESUS01-BP02 Verwenden Sie Lebenszyklusrichtlinien oder TTL-Ablaufzeiten, um nicht benötigte Spielbenutzerdaten, Protokolldateien oder veraltete Inhalte zu löschen - Linse für die Spieleindustrie

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

GAMESUS01-BP02 Verwenden Sie Lebenszyklusrichtlinien oder TTL-Ablaufzeiten, um nicht benötigte Spielbenutzerdaten, Protokolldateien oder veraltete Inhalte zu löschen

Sie können Tags und Datentypen verwenden, um Lebenszyklusrichtlinien oder TTLs zu erstellen, um Daten in den Archivspeicher zu verschieben oder sie vollständig aus dem Dienst zu entfernen. Dazu können temporäre Konfigurationen, abgelaufene archivierte Inhalte und historische Protokolle gehören, die nicht mehr benötigt werden. Die meisten Dienste unterstützen Tagging.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Hoch

Implementierungsleitfaden

Für in S3 gespeicherte Daten können Sie Lebenszyklusrichtlinien verwenden, um die Daten auf Speicherebenen mit seltenem Zugriff und Archivierung zu verschieben. Sie können in einer S3-Lebenszykluskonfiguration Regeln definieren, um Objekte aus einer Speicherklasse zu einer anderen Speicherklasse zu überführen, um Speicherkosten zu sparen. Wenn Sie die Zugriffsmuster Ihrer Objekte nicht kennen oder sich Ihre Zugriffsmuster über die Zeit verändern, können Sie die Objekte zur Speicherklasse S3 Intelligent-Tiering überführen, um automatische Kosteneinsparungen zu erzielen.

Amazon S3 unterstützt das Wasserfallmodell für die Überführung zwischen Speicherklassen wie im folgenden Diagramm gezeigt.

Sie können zu Ihrer S3-Lebenszykluskonfiguration Übertragungsaktionen hinzufügen und Amazon S3 damit anweisen, Objekte am Ende ihrer Lebensdauer zu löschen. Wenn ein Objekt aufgrund seiner Lebenszykluskonfiguration das Ende seiner Lebensdauer erreicht, führt Amazon S3 eine Ablaufaktion aus, die darauf basiert, in welchem S3-Versionierungsstatus sich der Bucket befindet:

  • Bucket ohne Versionierung: Amazon S3 stellt das Objekt zur Entfernung in die Warteschlange und entfernt es asynchron, wodurch das Objekt dauerhaft entfernt wird.

  • Bucket mit aktivierter Versionierung: Wenn es sich bei der aktuellen Objektversion nicht um eine Löschmarkierung handelt, fügt Amazon S3 eine Löschmarkierung mit einer eindeutigen Versions-ID hinzu. Damit ist die aktuelle Version nicht mehr aktuell und die Löschmarkierung wird zur aktuellen Version.

  • Bucket mit angehaltener Versionierung: Amazon S3 erstellt eine Löschmarkierung mit Null als Versions-ID. Diese Löschmarkierung ersetzt eine Objektversion durch eine Null-Versions-ID in der Versionshierarchie, wodurch das Objekt effektiv gelöscht wird.

  • Wenn Sie einem Bucket eine Lebenszykluskonfiguration hinzufügen, gelten die Konfigurationsregeln für vorhandene Objekte und für Objekte, die Sie später hinzufügen. Wenn Sie beispielsweise heute eine Lebenszyklus-Konfigurationsregel mit einer Ablaufaktion hinzufügen, die bewirkt, dass Objekte mit einem bestimmten Präfix 30 Tage nach ihrer Erstellung ablaufen, stellt Amazon S3 eine Warteschlange für die Entfernung vorhandener Objekte, die älter als 30 Tage sind und das angegebene Präfix haben, in die Warteschlange.

Time To Live (TTL) für DynamoDB ist eine kosteneffiziente Methode zum Löschen von Elementen, die nicht mehr relevant sind. TTL ermöglicht es Ihnen, einen Ablaufzeitstempel pro Element zu definieren, um festzulegen, wann ein Element nicht mehr benötigt wird. DynamoDB löscht abgelaufene Elemente automatisch innerhalb weniger Tage nach ihrem Ablauftermin, ohne dass dafür Schreibdurchsatz verbraucht wird.

  • Um TTL zu verwenden, aktivieren Sie es zunächst in einer Tabelle. Definieren Sie dann ein bestimmtes Attribut zum Speichern des TTL-Ablaufzeitstempels. Der Zeitstempel muss im Unix-Zeitformat in Sekunden gespeichert werden. Immer, wenn ein Element erstellt oder aktualisiert wird, können Sie die Ablaufzeit berechnen und sie im TTL-Attribut speichern.

  • Elemente mit gültigen, abgelaufenen TTL-Attributen können vom System gelöscht werden, normalerweise innerhalb weniger Tage nach ihrem Ablauf. Sie können die abgelaufenen Elemente, deren Löschung noch aussteht, weiterhin aktualisieren. Dazu gehören auch das Ändern oder Entfernen ihrer TTL-Attribute. Wenn Sie ein abgelaufenes Element aktualisieren, empfiehlt es sich, einen Bedingungsausdruck zu verwenden, um sicherzustellen, dass das Element anschließend nicht gelöscht wurde. Verwenden Sie Filterausdrücke, um abgelaufene Elemente aus Scan- und Abfrageergebnissen zu entfernen.

  • Gelöschte Elemente funktionieren ähnlich wie Objekte, die bei typischen Löschvorgängen gelöscht wurden. Nach dem Löschen gehen Elemente als Dienstlöschungen statt als Benutzerlöschungen in DynamoDB Streams und werden genau wie andere Löschvorgänge aus lokalen Sekundärindizes und globalen Sekundärindizes entfernt. 

Mit ElastiCache for Redis können Sie die Aktualität Ihrer zwischengespeicherten Daten kontrollieren, indem Sie zwischengespeicherte Schlüssel oder deren Ablauf verwenden. TTLs Nach Ablauf der festgelegten Zeit wird der Schlüssel aus dem Cache gelöscht, und der Zugriff auf den Quelldatenspeicher ist ebenso erforderlich wie der Zugriff auf die aktualisierten Daten. 

  • Zwei Prinzipien bestimmen, welche Caching-Muster geeignet TTLs sind und welche Typen von zu implementieren sind. Zunächst ist es wichtig, dass Sie die Änderungsrate der zugrunde liegenden Daten verstehen. Zweitens ist es wichtig, dass Sie das Risiko abwägen, dass veraltete Daten an Ihre Anwendung zurückgegeben werden und nicht die aktualisierten Daten.

  • Bei dynamischen Daten, die sich häufig ändern, sollten Sie möglicherweise niedrigere Werte anwenden TTLs , sodass die Daten mit einer Änderungsrate ablaufen, die der der Primärdatenbank entspricht. Dadurch wird das Risiko verringert, dass veraltete Daten zurückgegeben werden, während gleichzeitig ein Puffer zum Auslagern von Datenbankanforderungen bereitgestellt wird.

  •  Es ist auch wichtig zu wissen, dass, auch wenn Sie Daten nur für Minuten oder Sekunden zwischenspeichern und nicht für längere Zeiträume, eine angemessene Anwendung Ihrer zwischengespeicherten Schlüssel TTLs zu einer Leistungssteigerung und einem insgesamt besseren Spielerlebnis mit Ihrem Spiel führen kann. 

Implementierungsschritte

  • Verwenden Sie Amazon S3 Lifecycle-Richtlinien, um Objekte auf seltene Zugriffs- oder Archivierungsstufen umzustellen und Ablaufaktionen zu konfigurieren, um unnötige Objekte auf der Grundlage von Lebenszyklusregeln zu löschen.

  • Aktivieren Sie Time to Live (TTL) in DynamoDB-Tabellen, um abgelaufene Elemente automatisch zu löschen, ohne den Schreibdurchsatz zu beanspruchen, und definieren Sie den Ablaufzeitstempel in der Unix-Epochenzeit.

  • Je nach Datenänderungsrate und Risikotoleranz TTLs für veraltete Daten werden die ElastiCache Schlüssel entsprechend eingestellt, sodass die Aktualität der zwischengespeicherten Daten gewährleistet und das Spielerlebnis verbessert wird.