View a markdown version of this page

Meilleures pratiques en matière de 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.

Meilleures pratiques en matière de 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 répartition des lectures entre plusieurs fichiers et plusieurs instances de calcul permet d'optimiser le débit global. 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'évoluer horizontalement et d'améliorer le débit agrégé.

  • Étendez votre système de fichiers au plus petit préfixe dont votre charge de travail a besoin pour minimiser l'impact des renommages. 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 souhaitez renommer contiennent moins de fichiers. Pour de plus amples informations, veuillez consulter Comprendre l'impact des opérations de renommage et de déplacement.

  • Utilisez des tailles d'E/S importantes  : 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 coûts 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.

  • Réglez la LessThan valeur de taille 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 dont la taille dépasse ce seuil sont lus directement depuis S3. Si votre charge de travail effectue de petites lectures sensibles à la latence sur des fichiers plus volumineux, augmentez le LessThan seuil de taille 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 des 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 cycles de formation, utilisez une expiration plus courte (1 à 7 jours) afin de minimiser les coûts de stockage. Pour les charges de travail qui consultent les mêmes données plusieurs semaines après plusieurs semaines, utilisez une expiration plus longue (30 à 90 jours) afin de 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 préfixe pour les charges de travail mixtes — Si votre compartiment contient à la fois des données fréquemment utilisé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 inter-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 que vous avez 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 considère le compartiment S3 comme la source de vérité 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.

  • Surveillez 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 PendingExports indique 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. Une ExportFailures CloudWatch métrique différente de zéro indique les fichiers qui n'ont pas pu être exportés et qui nécessitent une action. Pour de plus amples informations, veuillez consulter Dépannage des fichiers S3.

Contrôle d’accès

  • Suivez 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 de calcul n'a besoin que de lire les données du système de fichiers, associez la politique AmazonS3FilesClientReadOnlyAccess gérée à la placeAmazonS3FilesClientFullAccess. En outre, pensez à 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 S3 Files  : ne modifiez ni ne supprimez le rôle IAM que S3 Files assume pour 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-S3-Files) pour détecter les modifications apportées à votre compartiment S3. Ne désactivez, ne modifiez pas et ne supprimez pas cette règle. Sa suppression 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 de 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 par le biais d'autorisations POSIX. Par exemple, vous pouvez restreindre l'accès à l'aide de la commandesudo chmod 700 /var/log/amazon/efs.

Contrôle

  • Définissez des alarmes en cas d'échec de synchronisation — CloudWatch Activez des alarmes ImportFailures et ExportFailures recevez des notifications en cas d'échec de synchronisation des fichiers. L'échec des exportations peut indiquer des problèmes d'autorisation, des problèmes de clé de cryptage ou des limites de longueur de chemin. Pour de plus amples informations, veuillez consulter Dépannage des fichiers S3.

Migration

Pour migrer les données du stockage sur site vers votre compartiment S3 pour la première fois, nous vous recommandons d'utiliser AWS DataSync. DataSync automatise et accélère le transfert de grands ensembles de données et préserve les métadonnées et les autorisations des fichiers pendant la migration. Pour plus d'informations, voir Qu'est-ce que c'est AWS DataSync ? .