View a markdown version of this page

Volumes de fichiers Amazon S3 - AWS Batch

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.

Volumes de fichiers Amazon S3

S3 Files fournit un accès direct au système de fichiers aux données stockées dans des compartiments Amazon Simple Storage Service (Amazon S3). Avec AWS Batch, vous pouvez définir des volumes de fichiers S3 dans vos définitions de tâches afin que vos conteneurs puissent lire et écrire des données Amazon S3 à l'aide d'opérations de fichiers standard.

Pour utiliser les volumes S3 Files, vous avez besoin d'un système de fichiers S3 et d'une cible de montage configurés dans le même VPC que votre environnement AWS Batch informatique. Pour obtenir des instructions de configuration complètes, y compris la configuration des compartiments, les rôles IAM, la création du système de fichiers et les cibles de montage, consultez les conditions requises pour S3 Files dans le guide de l'utilisateur Amazon S3 et la configuration des fichiers S3 pour Amazon ECS dans le guide du développeur Amazon Elastic Container Service.

Considérations relatives au volume Amazon S3 Files

Tenez compte des points suivants lorsque vous utilisez des volumes S3 Files :

  • Important

    Les fichiers S3 ne sont pas pris en charge sur le type de lancement Amazon EC2 pour le moment. Si vous configurez un système de fichiers S3 dans une définition de tâche et que vous tentez de l'exécuter sur le type de lancement Amazon EC2, la tâche échouera au lancement. La prise en charge du type de lancement d'Amazon EC2 est prévue pour une future version.

  • Le chiffrement du transit est toujours activé pour les volumes S3 Files. Vous pouvez éventuellement spécifier le port à l'aide du transitEncryptionPort paramètre. La valeur par défaut du port est 2049.

  • Le rôle de travail (équivalent au rôle de tâche Amazon ECS) doit disposer s3files:ClientMount d's3files:ClientWriteautorisations sur le système de fichiers. Pour les lectures directes depuis Amazon S3, le rôle a également besoin s3:GetObject d's3:ListBucketautorisations et d'autorisations sur le compartiment. s3:GetObjectVersion

  • La cible de montage du système de fichiers S3 doit se trouver dans le même VPC et être accessible depuis les sous-réseaux de votre AWS Batch environnement informatique. Le groupe de sécurité cible de montage doit autoriser le trafic NFS entrant (port TCP 2049) en provenance du groupe de sécurité de l'environnement informatique.

Utiliser les points d'accès Amazon S3 Files

Les points d'accès aux fichiers S3 sont des points d'entrée spécifiques à une application dans un système de fichiers qui imposent une identité d'utilisateur POSIX et un répertoire racine pour toutes les demandes du système de fichiers. Vous pouvez utiliser des points d'accès pour isoler les locataires afin que chaque tâche ne puisse accéder qu'à son propre répertoire au sein d'un système de fichiers partagé.

Note

Lorsque vous spécifiez un point d'accès à l'aide du accessPointArn paramètre, celui-ci rootDirectory doit être omis ou défini sur. / Le point d'accès applique son propre chemin de répertoire racine.

Pour plus d'informations sur la création et la gestion des points d'accès, consultez la section Création de points d'accès pour un système de fichiers S3 dans le guide de l'utilisateur Amazon S3. Pour plus d'informations sur l'utilisation de politiques de système de fichiers pour renforcer l'isolation des points d'accès, consultez Comment S3 Files works with IAM dans le guide de l'utilisateur Amazon S3.

Spécifiez un système de fichiers Amazon S3 Files dans votre définition de tâche

Pour utiliser les volumes S3 Files pour vos conteneurs, vous devez spécifier les configurations de volume et de point de montage dans votre définition de tâche. L'extrait JSON de définition de tâche suivant montre la syntaxe des mountPoints objets volumes et d'un conteneur :

{ "ecsProperties": { "taskProperties": [ { ..., "taskRoleArn": "arn:aws:iam::<account>:role/<job-role-name>", "containers": [ { ..., "mountPoints": [ { "sourceVolume": "myS3FilesVolume", "containerPath": "/mnt/s3data", "readOnly": false } ] } ], "volumes": [ { "name": "myS3FilesVolume", "s3filesVolumeConfiguration": { "fileSystemArn": "arn:aws:s3files:<region>:<account>:file-system/<fs-id>", "rootDirectory": "/keypath/in/s3" } } ] } ] } }
s3filesVolumeConfiguration

Type : objet

Obligatoire : non

Ce paramètre est spécifié lors de l'utilisation de volumes S3 Files.

fileSystemArn

Type : Chaîne

Obligatoire : oui

L'ARN complet du système de fichiers S3 à utiliser.

rootDirectory

Type : chaîne

Obligatoire : non

Le répertoire du système de fichiers S3 à monter en tant que répertoire racine sur l'hôte. Si ce paramètre est omis, la racine du système de fichiers est utilisée. La spécification de / a le même effet que l'omission de ce paramètre. Il peut comporter jusqu'à 4 096 caractères.

Important

Si un point d'accès S3 Files est spécifié dans leaccessPointArn, le paramètre du répertoire racine doit être omis ou défini sur. / Cela applique le chemin défini sur le point d'accès.

transitEncryptionPort

Type : Integer

Obligatoire : non

Port à utiliser lors de l'envoi de données chiffrées entre l' AWS Batch hôte et le serveur de fichiers S3. Si vous ne spécifiez aucun port de chiffrement de transit, la valeur par défaut de 2049 est utilisée. La valeur doit être comprise entre 0 et 65 535. Le chiffrement du transit est toujours activé pour les volumes S3 Files.

accessPointArn

Type : chaîne

Obligatoire : non

L'ARN du point d'accès S3 Files à utiliser. Si un point d'accès est spécifié, la valeur du répertoire racine s3filesVolumeConfiguration doit être omise ou définie sur. / Cela applique le chemin défini sur le point d'accès. Les points d'accès renforcent l'identité d'un utilisateur POSIX et peuvent restreindre l'accès à des répertoires spécifiques du système de fichiers. Pour plus d'informations, consultez la section Création de points d'accès pour un système de fichiers S3 dans le guide de l'utilisateur Amazon S3.

Utiliser des volumes S3 Files avec Amazon EKS AWS Batch et Amazon EKS

Pour les tâches qui utilisent les ressources Amazon EKS, AWS Batch prend en charge les volumes S3 Files via une configuration de volume intégrée persistentVolumeClaim à la définition des tâches EKS. Vous devez créer au préalable le volume persistant et la réclamation de volume persistant dans votre cluster Amazon EKS avant de le référencer dans votre définition de tâche.

L'extrait de définition de tâche suivant montre comment faire référence à une réclamation de volume persistant S3 Files :

{ "eksProperties": { "podProperties": { ..., "containers": [ { ..., "volumeMounts": [ { "name": "s3files-vol", "mountPath": "/mnt/s3data" } ] } ], "volumes": [ { "name": "s3files-vol", "persistentVolumeClaim": { "claimName": "<s3files-pvc-name>" } } ] } } }

Pour plus d'informations sur la configuration de fichiers S3 avec Amazon EKS, consultez la section Montage de systèmes de fichiers S3 dans Amazon EKS dans le guide de l'utilisateur Amazon S3. Pour la référence complète des paramètres de volume, voir EksVolumela référence de l'AWS Batch API.