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 de AWS CLI
En los temas siguientes se proporciona orientación sobre cómo escribir archivos de SageMaker HyperPod API solicitud en JSON formato y ejecutarlos mediante AWS CLI comandos.
Temas
Crea un nuevo clúster
-
Prepare los scripts de configuración del ciclo de vida y cárguelos en un bucket de S3, como
s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
. En el siguiente paso 2, se supone que hay un script de punto de entrada denominadoon_create.sh
en el bucket de S3 especificado.importante
Asegúrese de configurar la ruta S3 para empezar
s3://sagemaker-
. IAMrol para SageMaker HyperPodTiene el administradorAmazonSageMakerClusterInstanceRolePolicy
adjunto, que permite el acceso a los depósitos de S3 con el prefijosagemaker-
específico. -
Prepare un archivo de CreateClusterAPIsolicitud en JSON formato. Debes configurar los grupos de instancias para que coincidan con el clúster de Slurm que diseñaste en el
provisioning_params.json
archivo que se usará durante la creación del clúster como parte de la ejecución de un conjunto de scripts de ciclo de vida. Para obtener más información, consulte SageMaker HyperPod prácticas recomendadas de configuración del ciclo de vida. La siguiente plantilla tiene dos grupos de instancias para cumplir con los requisitos mínimos de un clúster de Slurm: un nodo controlador (principal) y un nodo informático (trabajador). ParaExecutionRole
ello, proporciona el ARN IAM rol que creaste junto con el gestionadoAmazonSageMakerClusterInstanceRolePolicy
de la sección. IAMrol para SageMaker HyperPod// create_cluster.json
{ "ClusterName": "your-hyperpod-cluster
", "InstanceGroups": [ { "InstanceGroupName": "controller-group
", "InstanceType": "ml.m5.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "arn:aws:iam::111122223333
:role/iam-role-for-cluster
",// Optional: Configure an additional storage per instance group.
"InstanceStorageConfigs": [ {// Attach an additional EBS volume to each instance within the instance group.
// The default mount path for the additional EBS volume is /opt/sagemaker.
"EbsVolumeConfig":{// Specify an integer between 1 and 16384 in gigabytes (GB).
"VolumeSizeInGB":integer
, } } ] }, { "InstanceGroupName": "worker-group-1
", "InstanceType": "ml.p4d.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "arn:aws:iam::111122223333
:role/iam-role-for-cluster
" } ], // Optional "Tags": [ { "Key": "string
", "Value": "string
" } ], // Optional "VpcConfig": { "SecurityGroupIds": [ "string
" ], "Subnets": [ "string
" ] } }En función de cómo diseñes la estructura de clústeres a través de tus scripts de ciclo de vida, puedes configurar hasta 20 grupos de instancias con el
InstanceGroups
parámetro.Para el parámetro de
Tags
solicitud, puedes añadir etiquetas personalizadas para administrar el SageMaker HyperPod clúster como AWS recurso. Puede añadir etiquetas a su clúster de la misma manera que las añade a otros AWS servicios que admiten el etiquetado. Para obtener más información sobre el etiquetado AWS recursos en general, consulte Etiquetado AWS Guía del usuario de recursos.Para el parámetro de
VpcConfig
solicitud, especifique la información del parámetro que VPC desee utilizar. Para obtener más información, consulte Configuración SageMaker HyperPod con Amazon VPC. -
Ejecute el comando create-cluster de la siguiente manera.
aws sagemaker create-cluster \ --cli-input-json
file://complete/path/to/create_cluster.json
Esto debería devolver el ARN del nuevo clúster.
Describir un clúster
Ejecute describe-cluster 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 aInService
, continúe con el siguiente paso. De este modoAPI, también puede recuperar los mensajes de error relacionados con la ejecución de otras HyperPod API operaciones.
Enumere los detalles de los nodos del clúster
Ejecute list-cluster-nodespara 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 InstanceId
es lo que necesita usar para iniciar sesión (usaraws ssm
) en ellos.
Describa los detalles de un nodo de clúster
Ejecute describe-cluster-nodepara recuperar los detalles de un nodo de clúster. Puede obtener el ID del nodo del clúster a partir de la list-cluster-nodes salida. Puede especificar el nombre o el ARN del clúster.
aws sagemaker describe-cluster-node \ --cluster-name
your-hyperpod-cluster
\ --node-idi-111222333444555aa
Enumerar clústeres
Ejecuta list-clusters para ver todos los clústeres de tu cuenta.
aws sagemaker list-clusters
También puedes añadir indicadores adicionales para filtrar la lista de clústeres hacia abajo. Para obtener más información sobre lo que ejecuta este comando en un nivel bajo y otros indicadores para filtrar, consulta la ListClustersAPIreferencia.
Actualice la configuración del clúster
Ejecute update-cluster para actualizar la configuración de un clúster.
-
Cree un archivo de
UpdateCluster
solicitud en JSON formato. Asegúrate de especificar el nombre del clúster y el nombre del grupo de instancias correctos para actualizarlos. Puedes 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
ClusterName
ello, especifique el nombre del clúster que desea actualizar. -
En
InstanceGroupName
-
Para actualizar un grupo de instancias existente, especifica el nombre del grupo de instancias que deseas actualizar.
-
Para agregar un nuevo grupo de instancias, especifica un nombre nuevo que no exista en tu clúster.
-
-
En
InstanceType
-
Para actualizar un grupo de instancias existente, debes hacer coincidir el tipo de instancia que especificaste inicialmente con el grupo.
-
Para añadir un nuevo grupo de instancias, especifica el tipo de instancia con el que quieras configurar el grupo.
-
-
En
InstanceCount
-
Para actualizar un grupo de instancias existente, especifica un número entero mayor que el número actual de instancias. Actualmente, solo puedes aumentar el número de instancias.
-
Para añadir un nuevo grupo de instancias, especifica un número entero mayor o igual a 1.
-
-
Pues
LifeCycleConfig
, puedes cambiar ambosSourceS3Uri
OnCreat
valores según desees actualizar el grupo de instancias. -
En
ExecutionRole
-
Para actualizar un grupo de instancias existente, sigue usando el mismo IAM rol que asignaste durante la creación del clúster.
-
Para añadir un nuevo grupo de instancias, especifica IAM el rol que quieras adjuntar.
-
-
En
TreadsPerCore
-
Para actualizar un grupo de instancias existente, sigue usando el mismo valor que especificaste durante la creación del clúster.
-
Para añadir un nuevo grupo de instancias, puedes elegir cualquier valor de las opciones permitidas por tipo de instancia. Para obtener más información, busca el tipo de instancia y consulta la columna Hilos válidos por núcleo en la tabla de referencia en CPUnúcleos y subprocesos por CPU núcleo por tipo de instancia en la Guía del EC2 usuario de Amazon.
-
El siguiente fragmento de código es una plantilla de archivo de JSON solicitud que puedes usar. Para obtener más información sobre la sintaxis de la solicitud y sus parámetrosAPI, consulta la UpdateClusterAPIreferencia.
// update_cluster.json { // Required "ClusterName": "
name-of-cluster-to-update
", // Required "InstanceGroups": [ { "InstanceGroupName": "name-of-instance-group-to-update
", "InstanceType": "ml.m5.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "arn:aws:iam::111122223333
:role/iam-role-for-cluster
",// Optional: Configure an additional storage per instance group.
"InstanceStorageConfigs": [ {// Attach an additional EBS volume to each instance within the instance group.
// The default mount path for the additional EBS volume is /opt/sagemaker.
"EbsVolumeConfig":{// Specify an integer between 1 and 16384 in gigabytes (GB).
"VolumeSizeInGB":integer
, } } ] }, // add more blocks of instance groups as needed { ... } ] } -
-
Ejecute el siguiente
update-cluster
comando para enviar la solicitud.aws sagemaker update-cluster \ --cli-input-json
file://complete/path/to/update_cluster.json
Actualice el software de la SageMaker HyperPod plataforma de un clúster
Ejecute update-cluster-softwarepara actualizar los clústeres existentes con el software y los parches de seguridad proporcionados por el SageMaker HyperPod servicio. Para --cluster-name
ello, especifique el nombre o el ARN del clúster que se va a actualizar.
importante
Tenga en cuenta que debe hacer una copia de seguridad de su trabajo antes de ejecutarloAPI. El proceso de aplicación de parches reemplaza el volumen raíz por el actualizadoAMI, 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. Para obtener más información, consulte Utilice el script de respaldo proporcionado por SageMaker HyperPod.
aws sagemaker update-cluster-software --cluster-name
your-hyperpod-cluster
Este comando llama a. UpdateClusterSoftwareAPI Tras la API llamada, SageMaker HyperPod actualiza las instancias del clúster para que usen las más recientes SageMaker HyperPod DLAMI y ejecuta los scripts de su ciclo de vida en el bucket de S3 que especificó durante la creación o actualización del clúster. El equipo SageMaker HyperPod de servicio lanza nuevas SageMaker HyperPod DLAMI aplicaciones de forma periódica para mejorar la seguridad y la experiencia de los usuarios. Le recomendamos que se mantenga siempre actualizado a la última versión SageMaker HyperPod DLAMI. Para futuras SageMaker HyperPod DLAMI actualizaciones de los parches de seguridad, consulte conNotas de SageMaker HyperPod lanzamiento de Amazon.
sugerencia
Si el parche de seguridad no funciona, puede recuperar los mensajes de error ejecutándolo tal y DescribeCluster
APIcomo se indica en Describir un clúster las instrucciones.
nota
Solo puede ejecutarlo API mediante programación. La funcionalidad de aplicación de parches no está implementada en la interfaz de usuario de la SageMaker HyperPod consola.
Utilice el script de respaldo proporcionado por SageMaker HyperPod
SageMaker HyperPod proporciona un script para realizar copias de seguridad de sus datos y restaurarlos 1.architectures/5.sagemaker-hyperpod/patching-backup.sh
Para hacer una copia de seguridad de los datos en un bucket de S3 antes de aplicar los parches
sudo bash patching-backup.sh --create
<s3-buckup-bucket-path>
Tras ejecutar el comando, el script comprueba squeue
si hay trabajos en cola, detiene Slurm si no hay ningún trabajo en la cola, hace copias de seguridad y copia los elementos locales en el disco como se mariadb
define en la sección. LOCAL_ITEMS
Puede añadir más archivos y directorios a. LOCAL_ITEMS
# Define files and directories to back up. LOCAL_ITEMS=( "/var/spool/slurmd" "/var/spool/slurmctld" "/etc/systemd/system/slurmctld.service" "/home/ubuntu/backup_slurm_acct_db.sql" # ... Add more items as needed )
Además, puede añadir código personalizado al script proporcionado para hacer copias de seguridad de cualquier aplicación según su caso de uso.
Para restaurar los datos de un bucket de S3 después de aplicar un parche
sudo bash patching-backup.sh --restore
<s3-buckup-bucket-path>
Eliminar un clúster
Ejecute delete-cluster para eliminar un clúster. Puede especificar el nombre o el ARN del clúster.
aws sagemaker delete-cluster --cluster-name
your-hyperpod-cluster