

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
<a name="sagemaker-hyperpod-eks-ebs"></a>

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.

**Topics**
+ [Capacidades de almacenamiento clave](#sagemaker-hyperpod-eks-ebs-features)
+ [Casos de uso](#sagemaker-hyperpod-eks-ebs-use)
+ [Configuración del controlador CSI de Amazon EBS en SageMaker HyperPod los clústeres de EKS](#sagemaker-hyperpod-eks-ebs-setup)
+ [Uso del APIs](#sagemaker-hyperpod-eks-ebs-setup-apis)

## Capacidades de almacenamiento clave
<a name="sagemaker-hyperpod-eks-ebs-features"></a>

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](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) de Kubernetes para usarlos en sus pods.
+ Aprovisionamiento dinámico: crea automáticamente volúmenes de Amazon EBS y volúmenes persistentes asociados desde [https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims). Se pueden transferir los parámetros mediante [https://kubernetes.io/docs/concepts/storage/storage-classes/](https://kubernetes.io/docs/concepts/storage/storage-classes/) 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 [https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#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](https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/).

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](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) 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](https://kubernetes.io/docs/concepts/storage/) en la *Documentación de Kubernetes*.

## Casos de uso
<a name="sagemaker-hyperpod-eks-ebs-use"></a>

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
<a name="sagemaker-hyperpod-eks-ebs-setup"></a>

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
<a name="sagemaker-hyperpod-eks-ebs-setup-prerequisite"></a>

Antes de comenzar, haga lo siguiente:
+ [Instale y configure el AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)
+ [Cree un SageMaker HyperPod clúster con la orquestación de Amazon EKS](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-create-cluster.html)
+ Instalar el controlador CSI de Amazon EBS con la versión [v1.47.0](https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/CHANGELOG.md#v1470)

### Permisos adicionales
<a name="sagemaker-hyperpod-eks-ebs-setup-permissions"></a>

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](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) 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 del 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
<a name="sagemaker-hyperpod-eks-ebs-setup-apis"></a>

Como alternativa, puede usar las operaciones [AttachClusterNodeVolume](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AttachClusterNodeVolume.html)y [DetachClusterNodeVolume](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DetachClusterNodeVolume.html)API para adjuntar y separar sus volúmenes de Amazon EBS a SageMaker HyperPod las instancias de clúster de EKS.

**Entre los requisitos clave para su uso se 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](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-access-through-terminal.html) para acceder al nodo del clúster y [Hacer que un volumen esté disponible para su uso](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-using-volumes.html) a fin de montarlo.

### Permisos requeridos para las acciones de los `sagemaker:AttachClusterNodeVolume`
<a name="sagemaker-hyperpod-eks-ebs-setup-apis-attach"></a>

------
#### [ 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`
<a name="sagemaker-hyperpod-eks-ebs-setup-apis-detach"></a>

------
#### [ 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
<a name="sagemaker-hyperpod-eks-ebs-setup-apis-kms"></a>

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.