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.
Bonnes pratiques relatives aux fichiers S3
Cette page décrit les meilleures pratiques recommandées pour travailler avec les systèmes de fichiers S3.
Optimisation des performances et des coûts
Parallélisez vos charges de travail — S3 Files est conçu pour prendre en charge des charges de travail hautement parallèles. La distribution des lectures entre plusieurs fichiers et plusieurs instances de calcul permet de maximiser le débit agrégé. Vous pouvez également créer plusieurs systèmes de fichiers dotés de différents préfixes spécifiques au sein d'un même compartiment (au lieu de créer un système de fichiers sur l'ensemble du compartiment) afin d'effectuer une mise à l'échelle horizontale et d'améliorer le débit global.
Étendez votre système de fichiers au plus petit préfixe dont votre charge de travail a besoin pour minimiser l'impact des changements de nom. S3 n'a pas de concept natif de répertoires. Lorsque vous renommez ou déplacez un répertoire, S3 Files doit écrire les données dans un nouvel objet avec la clé mise à jour et supprimer l'original pour chaque fichier de ce répertoire. Le fait de renommer des répertoires contenant des dizaines de millions de fichiers peut augmenter considérablement les coûts des requêtes S3 et le temps de synchronisation. Étendez votre système de fichiers à votre ensemble de données actif ou structurez vos données de manière à ce que les répertoires que vous comptez renommer contiennent moins de fichiers. Pour de plus amples informations, veuillez consulter Comprendre l'impact des opérations de renommage et de déménagement.
Utilisez de grandes tailles d'E/S : S3 Files mesure chaque opération de lecture et d'écriture à un minimum de 32 Ko. L'utilisation de tailles d'E/S plus importantes (1 Mo ou plus) permet d'amortir les frais généraux par opération et est plus rentable que de nombreuses petites opérations de lecture ou d'écriture. Lorsque vous utilisez l'assistant de montage, les tailles de mémoire tampon de lecture et d'écriture NFS par défaut sont définies sur 1 Mo pour des performances optimales.
Ajustez votre sizeLessThan valeur dans la configuration d'importation en fonction de la taille de vos fichiers : par défaut, S3 Files met en cache les données des fichiers de moins de 128 Ko lorsque vous accédez à un répertoire pour la première fois. Les fichiers supérieurs à ce seuil sont lus directement depuis S3. Si votre charge de travail effectue de petites lectures sensibles à la latence sur des fichiers volumineux, augmentez le sizeLessThan seuil pour qu'il corresponde à la taille de fichier dont vous avez besoin sur le stockage haute performance du système de fichiers pour un accès à faible latence. Pour de plus amples informations, veuillez consulter Personnalisation de la synchronisation pour les fichiers S3.
Définissez les fenêtres d'expiration en fonction du cycle de vie de votre charge de travail : les données qui n'ont pas été lues pendant la période d'expiration sont automatiquement supprimées du système de fichiers. Pour les charges de travail de courte durée telles que les tâches par lots ou les sessions de formation, utilisez un délai d'expiration plus court (1 à 7 jours) afin de minimiser les coûts de stockage. Pour les charges de travail qui revisitent les mêmes données pendant des semaines, utilisez une période d'expiration plus longue (30 à 90 jours) pour continuer à bénéficier de la faible latence. Pour de plus amples informations, veuillez consulter Personnalisation de la synchronisation pour les fichiers S3.
Utilisez des règles définies par un préfixe pour les charges de travail mixtes : si votre bucket contient à la fois des données fréquemment consultées et des données rarement consultées, créez des règles d'importation distinctes pour chaque préfixe. Cela vous permet d'importer des données de manière agressive pour les préfixes chauds tout en ne conservant que les métadonnées des préfixes froids. Pour de plus amples informations, veuillez consulter Personnalisation de la synchronisation pour les fichiers S3.
Créez une cible de montage dans chaque zone de disponibilité : nous vous recommandons de créer une cible de montage dans chaque zone de disponibilité dans laquelle vous opérez afin de réduire les coûts de transfert de données entre AZ et d'améliorer les performances. Cela garantit que vos ressources informatiques disposent toujours d'un chemin réseau local vers le système de fichiers, ce qui améliore à la fois la disponibilité et la latence. Lorsque vous créez un système de fichiers à l'aide de la console de AWS gestion, S3 Files crée automatiquement une cible de montage dans chaque zone de disponibilité du VPC sélectionné.
Synchronisation
Comprenez le modèle de cohérence des fichiers S3 — Lorsqu'un fichier du système de fichiers est modifié en même temps que son objet correspondant dans le compartiment S3, S3 Files traite le compartiment S3 comme une source fiable et déplace le fichier vers le répertoire des objets trouvés. Pour éviter les conflits, désignez un chemin (système de fichiers ou S3) comme rédacteur principal.
Surveiller l'état de la synchronisation : utilisez CloudWatch des métriques pour suivre l'état de la synchronisation entre votre système de fichiers et le compartiment S3. Une augmentation
PendingExportsindique que votre charge de travail génère des modifications plus rapidement que le taux de synchronisation, ce qui signifie que la synchronisation prendra plus de temps. UneExportFailuresCloudWatch métrique différente de zéro indique que les fichiers n'ont pas pu être exportés et nécessitent une action. Pour de plus amples informations, veuillez consulter Résolution des problèmes liés aux fichiers S3.
Contrôle d’accès
Respectez le principe du moindre privilège : accordez uniquement les autorisations minimales requises pour chaque rôle IAM et chaque politique de système de fichiers. Par exemple, si une ressource informatique doit uniquement lire les données du système de fichiers, associez la politique
AmazonS3FilesClientReadOnlyAccessgérée à la place deAmazonS3FilesClientFullAccess. En outre, envisagez de créer votre système de fichiers limité à un préfixe spécifique plutôt qu'à l'ensemble du compartiment, afin que les clients puissent uniquement accéder aux données contenues dans ce préfixe.Ne modifiez pas le rôle IAM de S3 Files : ne modifiez ni ne supprimez le rôle IAM que S3 Files suppose de synchroniser avec votre compartiment S3. La modification ou la suppression de ce rôle peut interrompre la synchronisation entre votre système de fichiers et le compartiment S3.
Ne modifiez pas la EventBridge règle S3 Files : S3 Files crée une EventBridge règle (préfixée par DO-NOT-DELETE-S 3-Files) pour détecter les modifications dans votre compartiment S3. Ne désactivez pas, ne modifiez ni ne supprimez cette règle. Le fait de le supprimer empêche S3 Files de détecter des objets nouveaux ou modifiés dans votre compartiment, ce qui rend votre système de fichiers obsolète.
Envisagez de restreindre l'accès aux journaux écrits par
efs-utils:efs-utilsécrit les noms des clés des objets S3 directement dans les journaux qu'il stocke dans le répertoire/var/log/amazon/efs. Si les noms de vos clés S3 contiennent des informations sensibles, vous devez restreindre l'accès à ce répertoire via des autorisations POSIX. Par exemple, vous pouvez restreindre l'accès par le biais de la commandesudo chmod 700 /var/log/amazon/efs.
Contrôle
Définissez des alarmes en cas d'échec de synchronisation : créez
ImportFailuresdes CloudWatch alarmesExportFailurespour être averti en cas d'échec de la synchronisation des fichiers. L'échec des exportations peut indiquer des problèmes d'autorisation, des problèmes de clé de chiffrement ou des limites de longueur de chemin. Pour de plus amples informations, veuillez consulter Résolution des problèmes liés aux fichiers S3.