View a markdown version of this page

Personnalisation de la synchronisation pour les fichiers S3 - Amazon Simple Storage Service

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.

Personnalisation de la synchronisation pour les fichiers S3

S3 Files vous permet de contrôler le flux de données entre votre système de fichiers et le compartiment S3 lié par le biais d'une configuration de synchronisation. Les paramètres par défaut équilibrent la latence et le coût pour la plupart des charges de travail, mais vous pouvez les ajuster en fonction de vos modèles d'accès. L'importation d'un plus grand nombre de données à l'avance réduit la latence de lecture au prix d'une augmentation des frais de stockage et d'écriture. Importer moins de données permet de réduire les coûts de stockage, mais signifie que davantage de lectures sont effectuées depuis S3 avec une latence plus élevée. Chaque configuration comporte deux éléments : les règles d'importation des données, qui contrôlent quelles données sont copiées dans le système de fichiers et à quel moment, et les règles relatives aux données d'expiration, qui contrôlent la durée pendant laquelle les données inutilisées restent dans le système de fichiers. Vous pouvez mettre à jour ces règles à l'aide de la console AWS de gestion ou de l' PutSynchronizationConfiguration API.

Règles d'importation de données

Les règles d'importation des données contrôlent la manière dont les données sont copiées de votre bucket vers le système de fichiers. Vous pouvez avoir un maximum de 10 règles d'importation de données par système de fichiers. Chaque règle d'importation de données comporte les paramètres suivants :

préfixe — Le préfixe S3 auquel s'applique la règle. Spécifiez une chaîne vide (« ») pour l'ensemble du compartiment (étendue du système de fichiers) ou un préfixe spécifique (par exemple, « data/ml/ ») dans le système de fichiers. Le préfixe doit se terminer par une barre oblique (/), sauf si le compartiment entier est spécifié par « ». Vous devez inclure exactement une règle d'importation pour le répertoire racine. Par défaut : « » (étendue complète du compartiment ou du système de fichiers).

déclencheur — Quand importer des données : ON_DIRECTORY_FIRST_ACCESS ou ON_FILE_ACCESS. Par défaut : ON_DIRECTORY_FIRST_ACCESS.

  • ON_DIRECTORY_FIRST_ACCESS — Les données du fichier sont importées lorsque vous accédez à un répertoire pour la première fois. Par exemple, lorsque vous accédez pour la première fois à un répertoire en listant son contenu ou en y ouvrant un fichier, les données sont importées pour tous les fichiers enfants immédiats de ce répertoire dont la taille est inférieure au sizeLessThan seuil. Cette option est utile pour les charges de travail qui nécessitent une faible latence lors du premier accès aux fichiers.

  • ON_FILE_ACCESS — Les données du fichier ne sont importées que lorsqu'un fichier est lu pour la première fois. Cette option minimise les données importées au prix d'une latence plus élevée lors de la première lecture.

sizeLessThan— Taille maximale du fichier (en octets) à importer automatiquement. Alors que S3 Files importe les métadonnées de tous les fichiers, il importe uniquement les données des fichiers inférieurs à ce seuil. Minimum : 0 octet (aucune donnée importée, les métadonnées seront toujours importées). Maximum : 52 673 613 135 872 octets (48 TiB). Par défaut : 131 072 octets (128 Ko).

Comportement de correspondance des préfixes

Lorsque plusieurs règles d'importation de données correspondent à un fichier, S3 Files applique la règle avec le préfixe le plus spécifique. Supposons, par exemple, que vous ayez trois règles :

  • Règle 1 : préfixe = « » (compartiment entier), sizeLessThan = 64 Ko, déclencheur = ON_FILE_ACCESS

  • Règle 2 : préfixe = « hot/ », = 1 Mo, déclencheur sizeLessThan = ON_DIRECTORY_FIRST_ACCESS

  • Règle 3 : préfixe = « Hot/LargeData/ », = 256 Ko, déclencheur = sizeLessThan ON_DIRECTORY_FIRST_ACCESS

Pour un fichier au hot/largeData/data.txt, S3 Files applies Rule 3. For a file at hot/data.txt, S3 Files applies Rule 2. For a file at cold/data format .txt, S3 Files applique la règle 1 car il n'existe aucune règle spécifique pour le préfixe cold/.

Règles relatives aux données d'expiration

Les règles relatives aux données d'expiration contrôlent le moment où les données inutilisées sont supprimées du système de fichiers afin d'optimiser les coûts de stockage. S3 Files supprime les données lorsqu'elles n'ont pas été lues pendant une durée spécifiée et que leurs modifications ont déjà été synchronisées avec le compartiment S3. Chaque fois qu'un fichier est lu, son délai d'expiration est réinitialisé, prolongeant ainsi la durée pendant laquelle les données restent dans le système de fichiers. Vous pouvez spécifier le paramètre suivant dans les règles relatives aux données d'expiration :

daysAfterLastAccès : nombre de jours après la dernière lecture pendant lesquels les données sont supprimées du système de fichiers. Minimum : 1 jour Maximum : 365 jours. Par défaut : 30 jours.

Si vous avez des charges de travail de longue durée qui accèdent fréquemment aux mêmes données, envisagez des périodes d'expiration plus longues (30 à 90 jours). Pour les données temporaires, envisagez des périodes plus courtes (1 à 7 jours).

Exemples de configuration

Partage de fichiers à usage général (configuration par défaut) — Une équipe de développeurs et de data scientists monte un système de fichiers S3 pour partager du code, des fichiers de configuration et de petits ensembles de données. La plupart des fichiers ont une taille inférieure à 128 Ko et sont lus à plusieurs reprises tout au long de la journée. La configuration par défaut fonctionne bien pour cette charge de travail : ON_DIRECTORY_FIRST_ACCESS importe les métadonnées et les données de petits fichiers lors du premier accès à un fichier d'un répertoire, ce qui fonctionne bien lorsque les fichiers du même répertoire sont susceptibles d'être consultés ensemble, tels que les fichiers source d'un projet ou les fichiers de configuration d'un déploiement. L'accès ultérieur par n'importe quel utilisateur est rapide. Lorsqu'un utilisateur ouvre un fichier volumineux tel qu'une archive de journal, S3 Files le diffuse automatiquement directement depuis S3 pour un débit élevé. Le délai d'expiration de 30 jours permet de conserver les fichiers utilisés activement dans le système de fichiers sans nettoyage manuel.

Entraînement au machine learning avec lectures répétées : une tâche de formation lit des milliers de petits fichiers (<10 Mo) à plusieurs reprises à plusieurs époques. Pour minimiser la latence, définissez un sizeLessThan seuil élevé (par exemple, 10 Mo) avec ON_DIRECTORY_FIRST_ACCESS afin que les données des fichiers soient préchargées lorsque le script d'entraînement répertorie chaque répertoire pour la première fois. Définissez un délai d'expiration court (par exemple, 3 jours) afin que les données soient supprimées du système de fichiers rapidement après la fin de la tâche de formation.

Charges de travail agentiques associées à la découverte de fichiers à grande échelle : un agent d'intelligence artificielle explore un vaste référentiel de documents, de code ou de fichiers de base de connaissances pour répondre aux requêtes, en lisant de nombreux petits fichiers une seule fois pendant qu'il recherche le contexte pertinent. Définissez cette valeur sur 0 sizeLessThan afin qu'aucune donnée ne soit importée dans le système de fichiers. L'agent peut parcourir l'arborescence complète des répertoires avec une faible latence pour découvrir des fichiers, tandis que chaque fichier lu est diffusé directement depuis S3. Cela permet de réduire les coûts pour les charges de travail qui concernent de nombreux fichiers de manière imprévisible mais qui revisitent rarement le même fichier, et évolue naturellement à mesure que vous ajoutez de nouveaux agents lisant en parallèle.

Préfixes chauds et froids : un système de fichiers contient à la fois des fichiers de configuration fréquemment consultés sous config/ et des données d'archive rarement consultées sous. archive/ Créez deux règles d'importation : l'une pour config/ les valeurs élevées sizeLessThan et ON_DIRECTORY_FIRST_ACCESS, et l'autre pour archive/ les règles définies à 0 et ON_FILE_ACCESS. sizeLessThan Cela permet de conserver les fichiers de configuration dans le système de fichiers pour un accès rapide tout en évitant les coûts de stockage pour les données d'archive rarement lues.