Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
GAMESUS01-BP02 Utilisez des politiques de cycle de vie ou une expiration TTL pour supprimer les jeux, les données utilisateur, les fichiers journaux ou les actifs obsolètes inutiles
Vous pouvez utiliser des balises et des types de données pour créer des politiques de cycle de vie ou des TTL pour déplacer les données vers un stockage d'archives ou les supprimer complètement du service. Cela peut inclure des configurations temporaires, du contenu archivé expiré et des journaux historiques qui ne sont plus nécessaires. La plupart des services prennent en charge le balisage.
Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : élevé
Directives d’implémentation
Pour les données stockées dans S3, vous pouvez utiliser des politiques de cycle de vie pour déplacer les données vers des niveaux de stockage d'accès et d'archivage peu fréquents. Dans une configuration de cycle de vie S3, vous pouvez définir des règles afin d’effectuer la transition d’objets d’une classe de stockage vers une autre et économiser les coûts de stockage. Lorsque vous ne connaissez pas les modèles d'accès de vos objets, ou si ceux-ci évoluent au fil du temps, vous pouvez faire passer les objets à la classe de Intelligent-Tiering stockage S3 pour réaliser des économies automatiques.
Amazon S3 prend en charge un modèle en cascade pour la transition entre classes de stockage, comme illustré dans le schéma suivant.
Vous pouvez ajouter des actions de transition à une configuration du cycle de vie S3 afin d’indiquer à Amazon S3 de supprimer les objets à la fin de leur durée de vie. Lorsqu'un objet atteint la fin de sa durée de vie en fonction de la configuration de son cycle de vie, Amazon S3 effectue une action d'expiration en fonction de l'état de version S3 dans lequel se trouve le compartiment :
-
Non-versioned bucket : Amazon S3 met l'objet en file d'attente pour suppression et le supprime de manière asynchrone, le supprimant définitivement.
-
Versioning-enabled bucket : si la version actuelle de l'objet n'est pas un marqueur de suppression, Amazon S3 ajoute un marqueur de suppression avec un identifiant de version unique. Cela définit la version actuelle comme ancienne et le marqueur de suppression devient la version actuelle.
-
Versioning-suspendedbucket : Amazon S3 crée un marqueur de suppression avec null comme ID de version. Ce marqueur de suppression remplace la version d'un objet par un ID de version nul dans la hiérarchie des versions, ce qui supprime effectivement l'objet.
-
Quand vous ajoutez une configuration de cycle de vie dans un compartiment, les règles de configuration s’appliquent à la fois aux objets existants et à ceux que vous ajouterez ultérieurement. Par exemple, si vous ajoutez aujourd'hui une règle de configuration du cycle de vie avec une action d'expiration qui entraîne l'expiration des objets dotés d'un préfixe spécifique 30 jours après leur création, Amazon S3 mettra en file d'attente pour supprimer les objets existants qui datent de plus de 30 jours et qui ont le préfixe spécifié.
La durée de vie (TTL) de DynamoDB est une méthode économique pour supprimer les éléments qui ne sont plus pertinents. Elle vous permet de définir un horodatage d’expiration par élément pour indiquer quand cet élément n’est plus nécessaire. DynamoDB supprime automatiquement les éléments ayant expiré quelques jours après leur date d’expiration, sans consommer de débit d’écriture.
-
Pour utiliser la TTL, activez-la d’abord sur une table, puis définissez un attribut spécifique pour stocker l’horodatage d’expiration de la TTL. L’horodatage doit être stocké au format d’heure epoch Unix
avec une granularité de quelques secondes. Chaque fois qu’un élément est créé ou mis à jour, vous pouvez calculer le délai d’expiration et l’enregistrer dans l’attribut TTL. -
Les éléments dont les attributs TTL sont valides et expirés peuvent être supprimés par le système, généralement quelques jours après leur expiration. Vous pouvez à tout moment mettre à jour les éléments ayant expiré qui sont en attente de suppression, notamment en modifiant ou en supprimant leurs attributs TTL. Lors de la mise à jour d’un élément ayant expiré, nous vous recommandons d’utiliser une expression conditionnelle pour vous assurer que l’élément n’a pas été supprimé ultérieurement. Utilisez des expressions de filtre pour supprimer les éléments ayant expiré des résultats Scan et Query.
-
Les éléments supprimés fonctionnent de la même manière que ceux supprimés par le biais d’opérations de suppression classiques. Une fois supprimés, les éléments sont transférés dans DynamoDB Streams sous forme de suppressions de services au lieu d'être supprimés par l'utilisateur et sont supprimés des index secondaires locaux et des index secondaires globaux, comme les autres opérations de suppression.
Avec ElastiCache for Redis, vous pouvez contrôler la fraîcheur de vos données mises en cache en utilisant des TTL ou l'expiration des clés mises en cache. Une fois le délai défini écoulé, la clé est supprimée du cache et l'accès au magasin de données d'origine est requis pour accéder aux données mises à jour.
-
Deux principes déterminent les TTL appropriés à appliquer et les types de modèles de mise en cache à implémenter. Tout d'abord, il est important que vous compreniez le taux de variation des données sous-jacentes. Ensuite, il est important que vous évaluiez le risque que des données obsolètes soient renvoyées à votre application plutôt qu'à leur équivalent mis à jour.
-
Dans le cas de données dynamiques qui changent souvent, vous souhaiterez peut-être appliquer des TTL plus faibles qui expirent les données à un taux de modification correspondant à celui de la base de données principale. Cela réduit le risque de renvoyer des données obsolètes tout en fournissant une mémoire tampon pour décharger les demandes de base de données.
-
Il est également important de savoir que, même si vous ne mettez en cache des données que pendant des minutes ou des secondes au lieu de périodes plus longues, l'application appropriée de TTL à vos clés mises en cache peut améliorer les performances et améliorer globalement l'expérience de jeu des joueurs.
Étapes d’implémentation
-
Utilisez les politiques de cycle de vie d'Amazon S3 pour transférer les objets vers des niveaux d'accès peu fréquents ou d'archivage et configurez des actions d'expiration pour supprimer les objets inutiles en fonction des règles de cycle de vie.
-
Activez Time to Live (TTL) dans les tables DynamoDB pour supprimer automatiquement les éléments arrivés à expiration sans consommer de débit d'écriture, en définissant l'horodatage d'expiration en fonction de l'époque Unix.
-
Définissez des TTL appropriés pour les ElastiCache clés en fonction des taux de modification des données et de la tolérance au risque pour les données obsolètes, afin de faciliter l'actualisation des données mises en cache et d'améliorer l'expérience des joueurs.