

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.

# Administrar los clústeres de SageMaker HyperPod EKS mediante el AWS CLI
<a name="sagemaker-hyperpod-eks-operate-cli-command"></a>

Los siguientes temas proporcionan orientación sobre cómo escribir archivos de solicitudes de SageMaker HyperPod API en formato JSON y ejecutarlos mediante los AWS CLI comandos.

**Topics**
+ [Crear un SageMaker HyperPod clúster](sagemaker-hyperpod-eks-operate-cli-command-create-cluster.md)
+ [Recuperando los detalles del clúster SageMaker HyperPod](sagemaker-hyperpod-eks-operate-cli-command-cluster-details.md)
+ [Actualización de la configuración del SageMaker HyperPod clúster](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md)
+ [Actualización del software de SageMaker HyperPod la plataforma](sagemaker-hyperpod-eks-operate-cli-command-update-cluster-software.md)
+ [Acceder a los nodos SageMaker HyperPod del clúster](sagemaker-hyperpod-eks-operate-access-through-terminal.md)
+ [Reducir la escala de un SageMaker HyperPod clúster](smcluster-scale-down.md)
+ [Eliminar un SageMaker HyperPod clúster](sagemaker-hyperpod-eks-operate-cli-command-delete-cluster.md)

# Crear un SageMaker HyperPod clúster
<a name="sagemaker-hyperpod-eks-operate-cli-command-create-cluster"></a>

Aprenda a crear SageMaker HyperPod clústeres orquestados por Amazon EKS mediante. AWS CLI

1. Antes de crear un SageMaker HyperPod clúster:

   1. Asegúrese de disponer de un clúster de Amazon EKS existente y en funcionamiento. Para obtener instrucciones sobre cómo configurar un clúster de Amazon EKS, consulte [Creación de un clúster de Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) en la *Guía del usuario de Amazon EKS*.

   1. Instale el gráfico de Helm, tal y como se indica en [Instalación de paquetes en el clúster de Amazon EKS mediante Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md). Si crea un [ SageMaker HyperPod clúster de Amazon Nova](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-hp-cluster.html), necesitará un diagrama de Helm independiente.

1. Prepare un script de configuración del ciclo de vida y cárguelo en un bucket de Amazon S3, como, por ejemplo, `s3://amzn-s3-demo-bucket/Lifecycle-scripts/base-config/`.

   Para empezar rápidamente, descargue el script [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts/base-config/on_create.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts/base-config/on_create.sh)de muestra del GitHub repositorio AWS ome Distributed Training y cárguelo en el bucket de S3. También puede incluir instrucciones de configuración adicionales, una serie de scripts de configuración o comandos para que se ejecuten durante la etapa de aprovisionamiento del HyperPod clúster.
**importante**  
Si crea un [Función de IAM para SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) que se asocia únicamente a las [https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html) administradas, el clúster tendrá acceso a los buckets de Amazon S3 con el prefijo específico `sagemaker-`.

   Si crea un grupo de instancias restringido, no tendrá que descargar ni ejecutar el script de ciclo de vida. En su lugar, deberá ejecutar `install_rig_dependencies.sh`. 

   Los requisitos previos para ejecutar el script `install_rig_dependencies.sh` son:
   + AWS Tanto Node (CNI) como CoreDNS deben estar habilitados. Se trata de complementos de EKS estándar que no son gestionados por el SageMaker HyperPod Helm estándar, pero que se pueden activar fácilmente en la consola de EKS en la sección Complementos.
   +  Se debe instalar el gráfico de SageMaker HyperPod Helm estándar antes de ejecutar este script.

   El script `install_rig_dependencies.sh` realiza las siguientes acciones. 
   + `aws-node` (CNI): se ha creado un nuevo `rig-aws-node` Daemonset; se ha parcheado el `aws-node` existente para evitar los nodos RIG.
   + `coredns`: Convertido a Daemonset RIGs para admitir el uso de varios equipos y evitar la sobrecarga.
   + training-operators: se ha actualizado con las tolerancias de taint de trabajo de RIG y con nodeAffinity para favorecer las instancias que no son RIG.
   + Elastic Fabric Adapter (EFA): se ha actualizado para tolerar las propiedades taint de trabajo de RIG y utilizar las imágenes de contenedores correctas para cada región.

1. Prepare un archivo de solicitud [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)de API en formato JSON. En `ExecutionRole`, proporcione el ARN del rol de IAM que ha creado con la `AmazonSageMakerClusterInstanceRolePolicy` administrada de la sección [Función de IAM para SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod).
**nota**  
Asegúrese de que el SageMaker HyperPod clúster esté implementado en la misma Nube Privada Virtual (VPC) que el clúster de Amazon EKS. Las subredes y los grupos de seguridad especificados en la configuración del SageMaker HyperPod clúster deben permitir la conectividad de red y la comunicación con el punto final del servidor API del clúster de Amazon EKS.

   ```
   // create_cluster.json
   {
       "ClusterName": "string",
       "InstanceGroups": [{
           "InstanceGroupName": "string",
           "InstanceType": "string",
           "InstanceCount": number,
           "LifeCycleConfig": {
               "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker/lifecycle-script-directory/src/",
               "OnCreate": "on_create.sh"
           },
           "ExecutionRole": "string",
           "ThreadsPerCore": number,
           "OnStartDeepHealthChecks": [
               "InstanceStress", "InstanceConnectivity"
           ]
       }],
       "RestrictedInstanceGroups": [ 
         { 
            "EnvironmentConfig": { 
               "FSxLustreConfig": { 
                  "PerUnitStorageThroughput": number,
                  "SizeInGiB": number
               }
            },
            "ExecutionRole": "string",
            "InstanceCount": number,
            "InstanceGroupName": "string",
            "InstanceStorageConfigs": [ 
               { ... }
            ],
            "InstanceType": "string",
            "OnStartDeepHealthChecks": [ "string" ],
            "OverrideVpcConfig": { 
               "SecurityGroupIds": [ "string" ],
               "Subnets": [ "string" ]
            },
            "ScheduledUpdateConfig": { 
               "DeploymentConfig": { 
                  "AutoRollbackConfiguration": [ 
                     { 
                        "AlarmName": "string"
                     }
                  ],
                  "RollingUpdatePolicy": { 
                     "MaximumBatchSize": { 
                        "Type": "string",
                        "Value": number
                     },
                     "RollbackMaximumBatchSize": { 
                        "Type": "string",
                        "Value": number
                     }
                  },
                  "WaitIntervalInSeconds": number
               },
               "ScheduleExpression": "string"
            },
            "ThreadsPerCore": number,
            "TrainingPlanArn": "string"
         }
      ],
       "VpcConfig": {
           "SecurityGroupIds": ["string"],
           "Subnets": ["string"]
       },
       "Tags": [{
           "Key": "string",
           "Value": "string"
       }],
       "Orchestrator": {
           "Eks": {
               "ClusterArn": "string",
               "KubernetesConfig": {
                   "Labels": {
                       "nvidia.com/mig.config": "all-3g.40gb"
                   }
               }
           }
       },
       "NodeRecovery": "Automatic"
   }
   ```

   Tenga en cuenta lo siguiente al configurar la creación de un nuevo SageMaker HyperPod clúster que se asocie a un clúster de EKS.
   + Puede configurar hasta 20 grupos de instancias con el parámetro `InstanceGroups`.
   + En `Orchestator.Eks.ClusterArn`, especifique el ARN del clúster de EKS que desea usar como orquestador.
   + En `OnStartDeepHealthChecks`, añada `InstanceStress` y `InstanceConnectivity` para habilitar [Comprobaciones de estado exhaustivas](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md).
   + Para`NodeRecovery`, especifique si desea `Automatic` habilitar la recuperación automática de nodos. SageMaker HyperPod reemplaza o reinicia las instancias (nodos) cuando el agente de supervisión del estado detecta problemas.
   + Para el `Tags` parámetro, puede agregar etiquetas personalizadas para administrar el SageMaker HyperPod clúster como un AWS recurso. Puede añadir etiquetas al clúster del mismo modo que las añadiría a otros servicios de AWS que admitan el etiquetado. Para obtener más información sobre el etiquetado de recursos de AWS en general, consulte [Tagging AWS Resources User Guide](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).
   + En el parámetro `VpcConfig`, especifique la información de la VPC utilizada en el clúster de EKS. Las subredes deben ser privadas.
   + Si lo desea`Orchestrator.Eks.KubernetesConfig.Labels`, puede especificar las etiquetas de Kubernetes para aplicarlas a los nodos. Para habilitar la partición de la GPU con una GPU de instancias múltiples (MIG), añada la `nvidia.com/mig.config` etiqueta con el perfil MIG deseado. Por ejemplo, `"nvidia.com/mig.config": "all-3g.40gb"` configura todo GPUs con el perfil de partición de 3g.40 gb. Para obtener más información sobre la partición de la GPU y los perfiles disponibles, consulte. [Uso de particiones de GPU en Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md)

1. Ejecute el comando [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html) de la siguiente manera.
**importante**  
Al ejecutar el comando `create-cluster` con el parámetro `--cli-input-json`, debe incluir el prefijo `file://` delante de la ruta completa al archivo JSON. Este prefijo es necesario para garantizar que AWS CLI reconozca la entrada como una ruta de archivo. Si se omite el prefijo `file://`, se genera un error de análisis de parámetros.

   ```
   aws sagemaker create-cluster \
       --cli-input-json file://complete/path/to/create_cluster.json
   ```

   Esto debería devolver el ARN del nuevo clúster.
**importante**  
Puede usar la operación [update-cluster](https://docs.aws.amazon.com//cli/latest/reference/ecs/update-cluster.html) para eliminar un grupo de instancias restringido (RIG). Cuando un RIG se reduce a 0, el sistema de archivos FSx de Lustre no se eliminará. Para eliminar por completo el FSx sistema de archivos de Lustre, debe eliminar el RIG por completo.   
Al eliminar un RIG, no se elimina ningún artefacto almacenado en el bucket de Amazon S3 administrado por el servicio. Sin embargo, debe asegurarse de que todos los artefactos del sistema de archivos de FSx for Lustre estén completamente sincronizados con Amazon S3 antes de eliminarlos. Recomendamos esperar al menos 30 minutos después de finalizar el trabajo para garantizar la sincronización completa de todos los artefactos del sistema de archivos de Lustre con el bucket de Amazon S3 administrado FSx por el servicio.
**importante**  
Si utilizas una reserva de capacidad bajo demanda (ODCR) integrada, debes asignar tu grupo de instancias al mismo ID de zona de disponibilidad (AZ ID) que la ODCR, configurándolo `OverrideVpcConfig` con una subred en el ID AZ correspondiente.  
FUNDAMENTAL: Verifica la `OverrideVpcConfig` configuración antes de la implementación para evitar incurrir en cargos duplicados tanto por la ODCR como por la capacidad bajo demanda.

# Recuperando los detalles del clúster SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-cli-command-cluster-details"></a>

Aprenda a recuperar los detalles SageMaker HyperPod del clúster mediante el AWS CLI.

## Describir un clúster
<a name="sagemaker-hyperpod-eks-operate-cli-command-describe-cluster"></a>

Ejecute [describe-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster.html) para comprobar el estado del clúster. Puede especificar el nombre o el ARN del clúster.

```
aws sagemaker describe-cluster --cluster-name your-hyperpod-cluster
```

Cuando el estado del clúster cambie a **InService**, continúe con el siguiente paso. Con esta API, también puedes recuperar los mensajes de error relacionados con la ejecución de otras operaciones de la HyperPod API.

## Enumeración de los detalles de los nodos del clúster
<a name="sagemaker-hyperpod-eks-operate-cli-command-list-cluster-nodes"></a>

Ejecute [list-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html)para comprobar la información clave de los nodos del clúster.

```
aws sagemaker list-cluster-nodes --cluster-name your-hyperpod-cluster
```

Esto devuelve una respuesta, y el `InstanceId` es lo que necesita usar para iniciar sesión (mediante `aws ssm`) en ellos.

## Descripción de los detalles de un nodo de clúster
<a name="sagemaker-hyperpod-eks-operate-cli-command-describe-cluster-node"></a>

Ejecute [describe-cluster-node](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster-node.html)para recuperar los detalles de un nodo del clúster. Puede obtener el ID del nodo del clúster a partir del list-cluster-nodes resultado. Puede especificar el nombre o el ARN del clúster.

```
aws sagemaker describe-cluster-node \
    --cluster-name your-hyperpod-cluster \
    --node-id i-111222333444555aa
```

## Enumerar clústeres
<a name="sagemaker-hyperpod-eks-operate-cli-command-list-clusters"></a>

Ejecute [list-clusters](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-clusters.html) para ver una lista de todos los clústeres de la cuenta.

```
aws sagemaker list-clusters
```

También puede añadir indicadores adicionales para filtrar la lista de clústeres. Para obtener más información sobre lo que este comando ejecuta en un nivel bajo y otros indicadores de filtrado, consulta la referencia de la [ListClusters](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusters.html)API.

# Actualización de la configuración del SageMaker HyperPod clúster
<a name="sagemaker-hyperpod-eks-operate-cli-command-update-cluster"></a>

Ejecute [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) para actualizar la configuración de un clúster.

**nota**  
Consideraciones importantes:  
No puede cambiar la información del clúster de EKS a la que está asociado su HyperPod clúster una vez creado el clúster. 
Si se están realizando comprobaciones de estado exhaustivas en el clúster, esta API no funcionará según lo previsto. Es posible que aparezca un mensaje de error que indique que se están realizando comprobaciones de estado exhaustivas. Para actualizar el clúster, debe esperar a que finalicen las comprobaciones de estado exhaustivas.

1. Cree un archivo de solicitud de la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html) en formato JSON. Asegúrese de especificar el nombre del clúster y el nombre del grupo de instancias correctos para actualizarlos. Puede cambiar el tipo de instancia, el número de instancias, el script de punto de entrada de la configuración del ciclo de vida y la ruta al script para cada grupo de instancias.
**nota**  
Puedes usarlo `UpdateCluster` para reducir o eliminar grupos de instancias completos del SageMaker HyperPod clúster. Para obtener instrucciones adicionales sobre cómo reducir verticalmente o eliminar grupos de instancias, consulte [Reducir la escala de un SageMaker HyperPod clúster](smcluster-scale-down.md).

   1. En `ClusterName`, especifique el nombre del clúster que desea actualizar.

   1. En `InstanceGroupName`

      1. Para actualizar un grupo de instancias existente, especifique el nombre del grupo de instancias que desea actualizar.

      1. Para añadir un nuevo grupo de instancias, especifique un nombre nuevo que no exista en el clúster.

   1. En `InstanceType`

      1. Para actualizar un grupo de instancias existente, debe hacer coincidir el tipo de instancia que ha especificado inicialmente con el grupo.

      1. Para añadir un nuevo grupo de instancias, especifique el tipo de instancia con el que desea configurar el grupo.

   1. En `InstanceCount`

      1. Para actualizar un grupo de instancias existente, especifique un número entero que corresponda al número de instancias deseado. Puede indicar un valor mayor o menor (hasta 0) para escalar el grupo de instancias hacia arriba o hacia abajo.

      1. Para añadir un nuevo grupo de instancias, especifique un número entero mayor o igual a 1. 

   1. En `LifeCycleConfig`, puede cambiar los valores tanto de `SourceS3Uri` como de `OnCreate` como desee para actualizar el grupo de instancias.

   1. En `ExecutionRole`

      1. Para actualizar un grupo de instancias existente, siga usando el mismo rol de IAM que ha asociado durante la creación del clúster.

      1. Para añadir un nuevo grupo de instancias, especifique el rol de IAM que desee asociar.

   1. En `ThreadsPerCore`

      1. Para actualizar un grupo de instancias existente, siga usando el mismo valor que ha especificado durante la creación del clúster.

      1. Para añadir un nuevo grupo de instancias, puede elegir cualquier valor de las opciones permitidas por tipo de instancia. Para obtener más información, busque el tipo de instancia y consulte la columna **Subprocesos válidos por núcleo** de la tabla de referencia de [Núcleos de CPU y subprocesos por núcleo de CPU por tipo de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html) en la *Guía del usuario de Amazon EC2*.

   1. En `OnStartDeepHealthChecks`, añada `InstanceStress` y `InstanceConnectivity` para habilitar [Comprobaciones de estado exhaustivas](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md).

   1. Para`NodeRecovery`, especifique si `Automatic` desea habilitar la recuperación automática de nodos. SageMaker HyperPod reemplaza o reinicia las instancias (nodos) cuando el agente de supervisión del estado detecta problemas.

   El siguiente fragmento de código es una plantilla de archivo de solicitud JSON que puede utilizar. Para obtener más información sobre la sintaxis y los parámetros de las solicitudes de esta API, consulta la referencia de la [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)API.

   ```
   // update_cluster.json
   {
       // Required
       "ClusterName": "name-of-cluster-to-update",
       // Required
       "InstanceGroups": [{
           "InstanceGroupName": "string",
           "InstanceType": "string",
           "InstanceCount": number,
           "LifeCycleConfig": {
               "SourceS3Uri": "string",
               "OnCreate": "string"
           },
           "ExecutionRole": "string",
           "ThreadsPerCore": number,
           "OnStartDeepHealthChecks": [
               "InstanceStress", "InstanceConnectivity"
           ]
       }],
       "NodeRecovery": "Automatic"
   }
   ```

1. Ejecute el siguiente comando `update-cluster` para enviar la solicitud. 

   ```
   aws sagemaker update-cluster \
       --cli-input-json file://complete/path/to/update_cluster.json
   ```

# Actualización del software de SageMaker HyperPod la plataforma
<a name="sagemaker-hyperpod-eks-operate-cli-command-update-cluster-software"></a>

Al crear el SageMaker HyperPod clúster, SageMaker HyperPod selecciona una imagen de máquina de Amazon (AMI) correspondiente a la versión de Kubernetes del clúster de Amazon EKS.

Ejecute [update-cluster-software](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster-software.html)para actualizar los clústeres existentes con el software y los parches de seguridad proporcionados por el servicio. SageMaker HyperPod En `--cluster-name`, especifique el nombre o el ARN del clúster que desea actualizar.

**importante**  
Cuando se llama a esta API, SageMaker HyperPod no agota ni redistribuye los trabajos (pods) que se ejecutan en los nodos. Asegúrese de comprobar si hay algún trabajo en ejecución en los nodos antes de llamar a esta API.
El proceso de aplicación de parches reemplaza el volumen raíz por la AMI actualizada, lo que significa que se perderán los datos anteriores almacenados en el volumen raíz de la instancia. Asegúrese de hacer una copia de seguridad de los datos del volumen raíz de la instancia en Amazon S3 o Amazon FSx for Lustre.
Todos los nodos del clúster experimentan tiempos de inactividad (los nodos aparecen como `<NotReady>` en el resultado de `kubectl get node`) mientras se realiza la aplicación de parches. Le recomendamos que finalice todas las cargas de trabajo antes de aplicar los parches y que las reanude una vez finalizado el proceso.   
Si se produce un error en el parche de seguridad, puede recuperar los mensajes de error ejecutando la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html), tal y como se indica en las instrucciones de [Describir un clúster](sagemaker-hyperpod-eks-operate-cli-command-cluster-details.md#sagemaker-hyperpod-eks-operate-cli-command-describe-cluster).

```
aws sagemaker update-cluster-software --cluster-name your-hyperpod-cluster
```

 Al llamar a la `UpdateClusterSoftware` API, SageMaker HyperPod actualiza la versión de Kubernetes de los nodos seleccionando la más reciente en [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) función de la versión de Kubernetes del clúster de Amazon EKS. A continuación, ejecuta los scripts del ciclo de vida en el bucket de Amazon S3 que ha especificado durante la creación o actualización del clúster. 

Para verificar la versión de kubelet de un nodo, ejecute el comando `kubectl describe node`.

La versión de Kubernetes de los nodos del SageMaker HyperPod clúster no se actualiza automáticamente al actualizar la versión del clúster de Amazon EKS. Tras actualizar la versión de Kubernetes para su clúster de Amazon EKS, debe usar la `UpdateClusterSoftware` API para actualizar los nodos del SageMaker HyperPod clúster a la misma versión de Kubernetes.

 Se recomienda actualizar el SageMaker HyperPod clúster después de actualizar los nodos de Amazon EKS y evitar que haya más de una diferencia de versión entre la versión del clúster de Amazon EKS y la versión de los nodos del SageMaker HyperPod clúster.

El equipo SageMaker HyperPod de servicio lanza nuevas [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) versiones periódicamente para mejorar la seguridad y la experiencia de los usuarios. Le recomendamos que se mantenga siempre actualizado a la última SageMaker HyperPod DLAMI. Para futuras actualizaciones de SageMaker HyperPod DLAMI para parches de seguridad, consulte con. [Notas de SageMaker HyperPod lanzamiento de Amazon](sagemaker-hyperpod-release-notes.md)

**nota**  
Solo puede ejecutar esta API mediante programación. La funcionalidad de aplicación de parches no está implementada en la interfaz de usuario de la consola. SageMaker HyperPod 

# Acceder a los nodos SageMaker HyperPod del clúster
<a name="sagemaker-hyperpod-eks-operate-access-through-terminal"></a>

Puede acceder directamente a los nodos de un SageMaker HyperPod clúster en servicio mediante los AWS CLI comandos for AWS Systems Manager (SSM). Ejecute `aws ssm start-session` con el nombre de host del nodo en el formato de `sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]`. Puedes recuperar el ID del clúster, el ID de instancia y el nombre del grupo de instancias desde la [SageMaker HyperPod consola](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters) o ejecutando `describe-cluster` y `list-cluster-nodes` desde los [AWS CLI comandos for SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes). Por ejemplo, si el ID del clúster es`aa11bbbbb222`, el nombre del nodo del clúster es `controller-group` y el ID del nodo del clúster es `i-111222333444555aa`, el comando `start-session` de SSM debería ser el siguiente.

**nota**  
Si no lo has configurado AWS Systems Manager, sigue las instrucciones que se proporcionan en[Configurar AWS Systems Manager y ejecutar como para el control de acceso de los usuarios del clúster](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-ssm).

```
$ aws ssm start-session \
    --target sagemaker-cluster:aa11bbbbb222_controller-group-i-111222333444555aa \
    --region us-west-2
Starting session with SessionId: s0011223344aabbccdd
root@ip-111-22-333-444:/usr/bin#
```

# Reducir la escala de un SageMaker HyperPod clúster
<a name="smcluster-scale-down"></a>

Puedes reducir el número de instancias que se ejecutan en tu SageMaker HyperPod clúster de Amazon. Puede reducir verticalmente un clúster por varios motivos, como rebajar el uso de los recursos o para optimizar los costos.

En la página siguiente se describen dos enfoques principales para reducir verticalmente:
+ **Reducir verticalmente en el grupo de instancias:** este enfoque usa la API `UpdateCluster`, con la que puede:
  + Reducir verticalmente el número de instancias para grupos de instancias específicos de forma independiente. SageMaker La IA gestiona la terminación de los nodos de forma que alcance los nuevos recuentos de instancias objetivo que hayas establecido para cada grupo. Consulte [Reducción vertical de un grupo de instancias](#smcluster-scale-down-updatecluster).
  + Elimine los grupos de instancias de su clúster por completo. Consulte [Eliminación de grupos de instancias](#smcluster-remove-instancegroup).
+ **Reducir verticalmente en la instancia:** este enfoque utiliza la API `BatchDeleteClusterNodes`, con la que puede especificar los nodos individuales que quiere terminar. Consulte [Reducción vertical en la instancia](#smcluster-scale-down-batchdelete).

**nota**  
Al reducir verticalmente en la instancia con `BatchDeleteCusterNodes`, solo puede terminar un máximo de 99 instancias a la vez. `UpdateCluster` admite la terminación de cualquier número de instancias.

## Consideraciones importantes
<a name="smcluster-scale-down-considerations"></a>
+ Al reducir verticalmente un clúster, debe asegurarse de que los recursos restantes sean suficientes para gestionar su carga de trabajo y de que cualquier migración o reequilibrio de datos necesarios se gestione adecuadamente para evitar interrupciones. 
+ Asegúrese de hacer una copia de seguridad de sus datos en Amazon S3 o en un sistema de archivos de FSx for Lustre antes de invocar la API en un grupo de nodos de trabajo. Esto puede ayudar a evitar cualquier posible pérdida de datos del volumen raíz de la instancia. Para obtener más información sobre las copias de seguridad, consulte [Utilice el script de respaldo proporcionado por SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup).
+ Para invocar esta API en un clúster existente, primero debe aplicar un parche al clúster ejecutando la API. [ UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html) Para obtener más información sobre la aplicación de parches a clústeres, consulte [Actualice el software de la SageMaker HyperPod plataforma de un clúster](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software).
+ La medición y la facturación de las instancias bajo demanda se detendrán automáticamente tras la reducción vertical. Para dejar de medir las instancias reservadas reducidas, ponte en contacto con tu equipo de AWS cuentas para solicitar asistencia.
+ Puede utilizar la capacidad liberada de las instancias reservadas reducidas para ampliar otro clúster. SageMaker HyperPod 

## Reducción vertical en el grupo de instancias
<a name="smcluster-scale-down-or-delete"></a>

La [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)operación te permite realizar cambios en la configuración del SageMaker HyperPod clúster, como reducir la cantidad de instancias de un grupo de instancias o eliminar grupos de instancias completos. Esto puede resultar útil si quiere adaptar los recursos asignados a su clúster en función de los cambios en su carga de trabajo, optimizar los costos o cambiar el tipo de instancia de un grupo de instancias.

### Reducción vertical de un grupo de instancias
<a name="smcluster-scale-down-updatecluster"></a>

Use este enfoque cuando tenga un grupo de instancias inactivo y sea seguro terminar cualquiera de las instancias para llevar a cabo la reducción vertical. Cuando envías una `UpdateCluster` solicitud de reducción, eliges las instancias de HyperPod forma aleatoria para terminarlas y las reduces hasta alcanzar la cantidad de nodos especificada para el grupo de instancias.

**nota**  
Al reducir el número de instancias de un grupo de instancias a 0, se terminan todas las instancias de ese grupo. Sin embargo, el propio grupo de instancias seguirá existiendo como parte del SageMaker HyperPod clúster. Puede volver a escalar el grupo de instancias más adelante con la misma configuración de grupo de instancias.   
También puede optar por eliminar un grupo de instancias de forma permanente. Para obtener más información, consulte [Eliminación de grupos de instancias](#smcluster-remove-instancegroup).

**Cómo reducir verticalmente con `UpdateCluster`**

1. Siga los pasos que se indican en [Actualización de la configuración del SageMaker HyperPod clúster](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md). Cuando llegues al paso **1.d**, en el que especificas el **InstanceCount**campo, introduce un número que sea menor que el número actual de instancias para reducir el clúster.

1. Ejecuta el AWS CLI comando [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) para enviar la solicitud.

A continuación se muestra un ejemplo de un objeto JSON `UpdateCluster`: Piense en una situación en la que su grupo de instancias tiene 2 instancias en ejecución. Si estableces el **InstanceCount**campo en 1, como se muestra en el ejemplo, selecciona HyperPod aleatoriamente una de las instancias y la finaliza.

```
{
  "ClusterName": "name-of-cluster-to-update",
  "InstanceGroups": [
    {
      "InstanceGroupName": "training-instances",
      "InstanceType": "instance-type",
      "InstanceCount": 1,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://amzn-s3-demo-bucket/training-script.py",
        "OnCreate": "s3://amzn-s3-demo-bucket/setup-script.sh"
      },
      "ExecutionRole": "arn:aws:iam::123456789012:role/SageMakerRole",
      "ThreadsPerCore": number-of-threads,
      "OnStartDeepHealthChecks": [
        "InstanceStress",
        "InstanceConnectivity"
      ]
    }
  ],
  "NodeRecovery": "Automatic"
}
```

### Eliminación de grupos de instancias
<a name="smcluster-remove-instancegroup"></a>

Puedes usar la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)operación para eliminar grupos de instancias completos del SageMaker HyperPod clúster cuando ya no los necesites. Esto va más allá de una simple reducción vertical, pues le permite eliminar por completo grupos de instancias específicos de la configuración del clúster. 

**nota**  
Al eliminar un grupo de instancias:  
Se terminan todas las instancias del grupo objetivo.
Se elimina toda la configuración del grupo del clúster.
Se detienen todas las cargas de trabajo que se ejecuten en ese grupo de instancias.

**Cómo eliminar grupos de instancias con `UpdateCluster`**

1. Al seguir los pasos descritos en [Actualización de la configuración del SageMaker HyperPod clúster](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md):

   1. Configure el parámetro `InstanceGroupsToDelete` opcional en su JSON `UpdateCluster` y pase la lista de nombres de grupos de instancias separados por comas que desea eliminar.

   1.  Cuando especifique la lista `InstanceGroups`, asegúrese de que las especificaciones de los grupos de instancias que va a eliminar ya no se incluyan en la lista `InstanceGroups`.

1. Ejecuta el AWS CLI comando [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) para enviar la solicitud.

**importante**  
El SageMaker HyperPod clúster debe mantener siempre al menos un grupo de instancias.
Asegúrese de hacer una copia de seguridad de todos los datos importantes antes de eliminarlos.
El proceso de eliminación no se puede deshacer.

A continuación se muestra un ejemplo de un objeto JSON `UpdateCluster`: Piense en una situación en la que un clúster tiene 3 grupos de instancias: un grupo *training*, uno *prototype-training* y uno *inference-serving*. Desea eliminar el grupo *prototype-training*.

```
{
  "ClusterName": "name-of-cluster-to-update",
  "InstanceGroups": [
    {
      "InstanceGroupName": "training",
      "InstanceType": "instance-type",
      "InstanceCount": ,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://amzn-s3-demo-bucket/training-script.py",
        "OnCreate": "s3://amzn-s3-demo-bucket/setup-script.sh"
      },
      "ExecutionRole": "arn:aws:iam::123456789012:role/SageMakerRole",
      "ThreadsPerCore": number-of-threads,
      "OnStartDeepHealthChecks": [
        "InstanceStress",
        "InstanceConnectivity"
      ]
    },
    {
      "InstanceGroupName": "inference-serving",
      "InstanceType": "instance-type",
      "InstanceCount": 2,
      [...]
    },
  ],
  "InstanceGroupsToDelete": [ "prototype-training" ],
  "NodeRecovery": "Automatic"
}
```

## Reducción vertical en la instancia
<a name="smcluster-scale-down-batchdelete"></a>

La `BatchDeleteClusterNodes` operación te permite reducir la escala de un SageMaker HyperPod clúster especificando los nodos individuales que quieres terminar. `BatchDeleteClusterNodes`proporciona un control más detallado para la eliminación de nodos específicos y la optimización del clúster. Por ejemplo, puede utilizar `BatchDeleteClusterNodes` para eliminar los nodos de destino con fines de mantenimiento, para actualizaciones continuas o para reequilibrar los recursos geográficamente.

**Solicitud y respuesta de la API**

Al enviar una `BatchDeleteClusterNodes` solicitud, SageMaker HyperPod elimina los nodos por instancia IDs. La API acepta una solicitud con el nombre del clúster y una lista de los nodos IDs que se van a eliminar. 

La respuesta incluye dos secciones: 
+  `Failed`: una lista de tipos de error `[ BatchDeleteClusterNodesError ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BatchDeleteClusterNodesError.html)`: uno por ID de instancia.
+  `Successful`: La lista de instancias finalizó IDs correctamente. 

**Validación y gestión de errores**

La API realiza varias validaciones, como:
+ Verificar el formato de ID del nodo (prefijo `i-` y estructura de ID de instancia de Amazon EC2). 
+ Comprobar la longitud de la lista de nodos, con un límite de 99 nodos o menos IDs en una sola `BatchDeleteClusterNodes` solicitud.
+ Asegúrese de que haya un SageMaker HyperPod clúster válido con el nombre del clúster introducido y de que no se esté realizando ninguna operación a nivel de clúster (actualización, actualización del sistema, aplicación de parches o eliminación).
+ Gestionar los casos en los que no se encuentran instancias, que tienen un estado no válido o que están en uso.

**Códigos de respuesta de la API**
+  La API devuelve un código de estado `200` para las solicitudes correctas (por ejemplo, todos los nodos de entrada se han validado correctamente) o parcialmente correctas (por ejemplo, si algunos nodos de entrada no se han validado). 
+  Si todas estas validaciones fallan (por ejemplo, si no se validad ningún nodo de entrada), la API devolverá una respuesta a una solicitud `400` errónea con los mensajes y códigos de error correspondientes. 

**Ejemplo**

El siguiente es un ejemplo de **reducción vertical de un clúster en la instancia** usando la AWS CLI:

```
aws sagemaker batch-delete-cluster-nodes --cluster-name "cluster-name" --node-ids '["i-111112222233333", "i-111112222233333"]'
```

# Eliminar un SageMaker HyperPod clúster
<a name="sagemaker-hyperpod-eks-operate-cli-command-delete-cluster"></a>

Ejecute [delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-cluster.html) para eliminar un clúster. Puede especificar el nombre o el ARN del clúster.

```
aws sagemaker delete-cluster --cluster-name your-hyperpod-cluster
```

Esta API solo limpia los SageMaker HyperPod recursos y no elimina ningún recurso del clúster de EKS asociado. Esto incluye el clúster de Amazon EKS, las identidades de los pods de EKS, FSx los volúmenes de Amazon y los complementos de EKS. Esto también incluye la configuración inicial que ha añadido al clúster de EKS. Si desea limpiar todos los recursos, asegúrese de limpiar también los recursos de EKS de forma independiente. 

Asegúrese de eliminar primero los SageMaker HyperPod recursos y, a continuación, los recursos de EKS. Si se realiza la eliminación en el orden inverso, es posible que los recursos se queden bloqueados.

**importante**  
Cuando se llama a esta API, SageMaker HyperPod no agota ni redistribuye los trabajos (pods) que se ejecutan en los nodos. Asegúrese de comprobar si hay algún trabajo en ejecución en los nodos antes de llamar a esta API.