Utilisation du pilote Amazon EBS CSI sur SageMaker HyperPod les clusters EKS - Amazon SageMaker AI

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.

Utilisation du pilote Amazon EBS CSI sur SageMaker HyperPod les clusters EKS

SageMaker HyperPod prend en charge le pilote Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI), qui gère le cycle de vie des volumes Amazon EBS en tant que stockage pour les volumes Kubernetes que vous créez. Avec le pilote Amazon EBS CSI, vous pouvez créer, associer et gérer vos volumes Amazon EBS pour vos charges de travail d'apprentissage automatique exécutées sur des clusters SageMaker HyperPod avec l'orchestration Amazon EKS.

Fonctionnalités de stockage clés

Le pilote Amazon EBS CSI activé SageMaker HyperPod prend en charge les fonctionnalités de stockage suivantes.

  • Provisionnement statique : associe des volumes Amazon EBS précréés à des volumes persistants Kubernetes à utiliser dans vos pods.

  • Provisionnement dynamique : crée automatiquement des volumes Amazon EBS et des volumes persistants associés à partir de PersistentVolumeClaims. Les paramètres peuvent être transmis via StorageClass pour un contrôle précis de la création de volumes.

  • Redimensionnement des volumes : étend les volumes existants en mettant à jour la spécification de taille PersistentVolumeClaims sans interrompre les charges de travail en cours d’exécution. Cela peut être essentiel pour gérer des référentiels de modèles en pleine croissance ou pour s’adapter à des nœuds plus importants sans interruption de service.

  • Instantanés de volumes : crée des point-in-time instantanés de volumes à des fins de sauvegarde, de restauration et de gestion des versions des données.

  • Volumes de blocs : fournit un accès brut aux périphériques de stockage en mode bloc pour les applications hautes performances nécessitant un accès direct au stockage.

  • Modification du volume : modifie les propriétés du volume telles que le type, les opérations d’entrée ou de sortie par seconde (IOPS) ou le débit à l’aide de classes d’attributs de volume.

Pour plus d’informations sur le pilote CSI Amazon EBS, consultez Utilisation du stockage en volume Kubernetes avec Amazon EBS dans le Guide de l’utilisateur Amazon EKS.

Pour plus d’informations sur le stockage dans les pods de votre cluster, consultez Stockage dans la documentation Kubernetes.

Cas d’utilisation

L'intégration du pilote Amazon EBS CSI permet plusieurs cas d'utilisation clés pour les charges de travail de formation et d'inférence sur les clusters EKS. SageMaker HyperPod

Charges de travail d’entraînement

  • Stockage de jeux de données : provisionnez des volumes pour les jeux de données d’entraînement qui persistent après le redémarrage du pod

  • Stockage des points de contrôle : enregistrez les points de contrôle du modèle et les résultats d’entraînement intermédiaires

  • Artefacts partagés : accédez aux jeux de données et aux artefacts de modèles communs dans le cadre de plusieurs tâches d’entraînement

Charges de travail d’inférence

  • Stockage de modèles : provisionnez dynamiquement des volumes de taille appropriée en fonction des exigences du modèle

  • Mise en cache des conteneurs : créez un stockage éphémère pour améliorer les performances d’inférence

  • Enregistrement des événements : stockez les résultats d’inférence et les journaux grâce à un stockage persistant

Configuration du pilote Amazon EBS CSI sur SageMaker HyperPod les clusters EKS

Le pilote Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) vous permet de provisionner et de gérer dynamiquement des volumes Amazon EBS pour vos charges de travail conteneurisées exécutées sur des clusters avec une orchestration EKS. SageMaker HyperPod Cette section vous guide pour installer et configurer le pilote CSI Amazon EBS afin d’activer le stockage persistant pour vos charges de travail de machine learning.

Conditions préalables

Avant de commencer, vous devez exécuter les actions suivantes :

Autorisations supplémentaires

Pour configurer le module complémentaire du pilote CSI Amazon EBS, suivez les instructions fournies dans Utilisation du stockage de volumes Kubernetes avec Amazon EBS dans le Guide de l’utilisateur Amazon EKS. Vous devez également ajouter les autorisations supplémentaires suivantes au rôle IAM utilisé pour exécuter le module complémentaire de pilote. Notez qu'il s'agit du rôle IAM spécifié dans la configuration de votre compte de service pour le module complémentaire de pilote, et non du rôle d'exécution du HyperPod cluster.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:AttachClusterNodeVolume", "sagemaker:DetachClusterNodeVolume" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name" } ] }

À l'aide du APIs

Vous pouvez également utiliser les opérations AttachClusterNodeVolumeet DetachClusterNodeVolumeAPI pour associer et détacher vos volumes Amazon EBS aux instances de cluster SageMaker HyperPod EKS.

Les principales exigences relatives à leur utilisation APIs sont les suivantes.

  • Le volume Amazon EBS et le cluster SageMaker HyperPod EKS doivent appartenir à la même Compte AWS entité.

  • Le principal appelant a besoin d’autorisations minimales spécifiques pour effectuer correctement l’opération d’attachement ou de détachement. Pour plus d’informations sur les autorisations minimales, consultez les sections suivantes.

  • Après avoir attaché un volume à votre HyperPod nœud, suivez les instructions des sections SageMaker HyperPod Accès aux nœuds de cluster pour accéder au nœud de cluster et Rendre un volume disponible pour le montage du volume attaché.

Autorisations nécessaires pour les sagemaker:AttachClusterNodeVolume

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:AttachClusterNodeVolume" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name" }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DescribeVolumes" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*" } ] }

Autorisations nécessaires pour les sagemaker:DetachClusterNodeVolume

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:DetachClusterNodeVolume" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name" }, { "Effect": "Allow", "Action": [ "ec2:DetachVolume", "ec2:DescribeVolumes" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*" } ] }

Autorisations requises pour les AWS KMS clés

Ajoutez les AWS KMS autorisations suivantes uniquement si vous utilisez des clés KMS gérées par le client pour chiffrer vos volumes Amazon EBS attachés à des nœuds de HyperPod cluster. Ces autorisations ne sont pas requises si vous utilisez des clés KMS gérées par AWS (option de chiffrement par défaut).

JSON
{ "Version":"2012-10-17", "Id": "key-default-1", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/caller-role" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/caller-role" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "111122223333", "kms:ViaService": "ec2.us-east-1.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:ebs:id" }, "Bool": { "kms:GrantIsForAWSResource": true }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt" ] } } } ] }
Note

Ces AWS KMS autorisations ne sont pas requises sagemaker:DetachClusterNodeVolume lors du détachement d'un volume CAVA (Cluster Auto Volume Attachment) chiffré à l'aide de clés KMS gérées par le client.