Uso del controlador CSI de Amazon EBS en SageMaker HyperPod clústeres de EKS - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso del controlador CSI de Amazon EBS en SageMaker HyperPod clústeres de EKS

SageMaker HyperPod es compatible con el controlador Container Storage Interface (CSI) de Amazon Elastic Block Store (Amazon EBS), que gestiona el ciclo de vida de los volúmenes de Amazon EBS como almacenamiento para los volúmenes de Kubernetes que cree. Con el controlador CSI de Amazon EBS, puede crear, adjuntar y gestionar sus volúmenes de Amazon EBS para sus cargas de trabajo de aprendizaje automático que se ejecutan en clústeres SageMaker HyperPod con la orquestación de Amazon EKS.

Capacidades de almacenamiento clave

El controlador CSI de Amazon EBS es SageMaker HyperPod compatible con las siguientes capacidades de almacenamiento.

  • Aprovisionamiento estático: asocia los volúmenes de Amazon EBS creados previamente con los volúmenes persistentes de Kubernetes para usarlos en sus pods.

  • Aprovisionamiento dinámico: crea automáticamente volúmenes de Amazon EBS y volúmenes persistentes asociados desde PersistentVolumeClaims. Se pueden transferir los parámetros mediante StorageClass para obtener un control detallado de la creación de volúmenes.

  • Redimensionamiento del volumen: amplía los volúmenes existentes mediante la actualización de la especificación de tamaño de PersistentVolumeClaims sin interrumpir las cargas de trabajo en ejecución. Esto puede resultar esencial para administrar el crecimiento de los repositorios de modelos o para adaptarse a nodos más grandes sin interrumpir el servicio.

  • Instantáneas de volúmenes: crea point-in-time instantáneas de volúmenes para realizar copias de seguridad, recuperación y control de versiones de datos.

  • Volúmenes de bloques: proporciona acceso sin procesar a dispositivos de bloques para aplicaciones de alto rendimiento que requieren acceso directo al almacenamiento.

  • Modificación del volumen: cambia las propiedades del volumen, como el tipo, las operaciones de entrada o salida por segundo (IOPS) o el rendimiento usando clases de atributos de volumen.

Para obtener más información sobre el controlador CSI de Amazon EBS, consulte Uso del almacenamiento de volúmenes de Kubernetes con Amazon EBS en la Guía del usuario de Amazon EKS.

Para obtener más información sobre el almacenamiento en los pods de su clúster, consulte Almacenamiento en la Documentación de Kubernetes.

Casos de uso

La integración del controlador CSI de Amazon EBS permite varios casos de uso clave para cargas de trabajo de formación e inferencia en clústeres de EKS. SageMaker HyperPod

Cargas de trabajo de entrenamiento

  • Almacenamiento de conjuntos de datos: aprovisione volúmenes para los conjuntos de datos de entrenamiento que persisten tras el reinicio del pod

  • Almacenamiento de puntos de comprobación: guarde los puntos de comprobación del modelo y los resultados de los entrenamientos intermedios

  • Artefactos compartidos: acceda a conjuntos de datos y artefactos de modelo comunes en varios trabajos de entrenamiento

Cargas de trabajo de inferencia

  • Almacenamiento de modelos: aprovisione dinámicamente volúmenes del tamaño adecuado en función de los requisitos del modelo

  • Almacenamiento en caché de contenedores: cree un almacenamiento efímero para mejorar el rendimiento de las inferencias

  • Registro de eventos: almacene los resultados y registros de inferencias con un almacenamiento persistente

Configuración del controlador CSI de Amazon EBS en SageMaker HyperPod los clústeres de EKS

El controlador de la interfaz de almacenamiento de contenedores (CSI) de Amazon Elastic Block Store (Amazon EBS) le permite aprovisionar y gestionar dinámicamente los volúmenes de Amazon EBS para sus cargas de trabajo en contenedores que se ejecutan en clústeres con la orquestación EKS. SageMaker HyperPod En esta sección, se explica cómo instalar y configurar el controlador CSI de Amazon EBS para habilitar el almacenamiento persistente para sus cargas de trabajo de machine learning.

Requisitos previos

Antes de comenzar, haga lo siguiente:

Permisos adicionales

Para configurar el complemento del controlador CSI de Amazon EBS, siga las instrucciones de Uso del almacenamiento de volúmenes de Kubernetes con Amazon EBS en la Guía del usuario de Amazon EKS. También debe añadir los siguientes permisos adicionales al rol de IAM utilizado para ejecutar el complemento del controlador. Tenga en cuenta que esta es la función de IAM especificada en la configuración de su cuenta de servicio para el complemento de controlador, no la función de ejecución del HyperPod clúster.

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" } ] }

Uso del APIs

Como alternativa, puede usar las operaciones AttachClusterNodeVolumey DetachClusterNodeVolumeAPI para adjuntar y separar sus volúmenes de Amazon EBS a SageMaker HyperPod las instancias de clúster de EKS.

Los requisitos clave para su uso APIs incluyen los siguientes.

  • Tanto el volumen de Amazon EBS como el clúster de SageMaker HyperPod EKS deben ser propiedad del mismo Cuenta de AWS propietario.

  • La entidad principal que realiza la llamada necesita unos permisos mínimos específicos para realizar correctamente la operación de asociación o desasociación. Para obtener más información sobre los permisos mínimos, consulte las siguientes secciones.

  • Después de adjuntar un volumen a su HyperPod nodo, siga las instrucciones de Acceder a los nodos del SageMaker HyperPod clúster para acceder al nodo del clúster y Hacer que un volumen esté disponible para su uso a fin de montarlo.

Permisos requeridos para las acciones de los 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/*" } ] }

Permisos requeridos para las acciones de los 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/*" } ] }

Permisos necesarios para las claves AWS KMS

Agregue los siguientes AWS KMS permisos solo si utiliza claves de KMS administradas por el cliente para cifrar los volúmenes de Amazon EBS conectados a los nodos HyperPod del clúster. Estos permisos no son necesarios si utiliza claves de KMS administradas por AWS (la opción de cifrado predeterminada).

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" ] } } } ] }
nota

Estos AWS KMS permisos no son necesarios para sagemaker:DetachClusterNodeVolume separar un volumen de Cluster Auto Volume Attachment (CAVA) cifrado con claves KMS administradas por el cliente.