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 la AWS CLI
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.
Temas
Crea un clúster nuevo
-
Prepare los scripts de configuración del ciclo de vida y cárguelos en un bucket de S3, como
s3://sagemaker-<your-s3-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-
. Función de IAM para SageMaker HyperPodTiene el administradorAmazonSageMakerClusterInstanceRolePolicy
adjunto, que permite el acceso a los depósitos de S3 con el prefijosagemaker-
específico. -
Prepare un archivo CreateClusterde solicitud de API en formato JSON. Debes configurar los grupos de instancias para que coincidan con el clúster de Slurm que diseñes 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
, proporciona el ARN del rol de IAM que creaste con el gestionadoAmazonSageMakerClusterInstanceRolePolicy
de la sección. Función de IAM para SageMaker HyperPod// create_cluster.json
{ "ClusterName": "your-hyperpod-cluster
", "InstanceGroups": [ { "InstanceGroupName": "controller-group
", "InstanceType": "ml.m5.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<your-s3-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-<your-s3-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 agregar etiquetas personalizadas para administrar el SageMaker HyperPod clúster como un AWS recurso. Puede agregar etiquetas a su clúster de la misma manera que las agrega en otros AWS servicios que admiten el etiquetado. Para obtener más información sobre el etiquetado de AWS los recursos en general, consulte la Guía del usuario de AWS los recursos de etiquetado.Para el parámetro de
VpcConfig
solicitud, especifique la información de la VPC que desee utilizar. Para obtener más información, consulte (Opcional) Configúrelo SageMaker HyperPod con su Amazon VPC. -
Ejecute el siguiente comando para enviar la solicitud de
CreateCluster
API.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. Con esta API, también puedes recuperar los mensajes de error relacionados con la ejecución de otras operaciones de la HyperPod API.
Enumere los detalles de los nodos del clúster
Ejecute list-cluster-nodes
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 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-node
para 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
Ejecute list-clusters
para enumerar todos los clústeres de su 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 de filtrado, consulta la referencia de la ListClustersAPI.
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 formato JSON. 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 la misma función de IAM que asignaste durante la creación del clúster.
-
Para añadir un nuevo grupo de instancias, especifica el rol de IAM 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, busque el tipo de instancia y consulte la columna Hilos válidos por núcleo de la tabla de referencia en Núcleos de CPU y subprocesos por núcleo de CPU por tipo de instancia en la Guía del usuario de Amazon EC2.
-
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 la solicitud de esta API, consulta la referencia de la UpdateClusterAPI.
// 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-<your-s3-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 { ... } ] } -
-
Ejecuta 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-software
para actualizar los clústeres existentes con el software y los parches de seguridad proporcionados por el SageMaker HyperPod servicio. Para--cluster-name
, 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 ejecutar 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. 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 la API de UpdateClustersoftware. Tras la llamada a la API, 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 depósito 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 SageMaker HyperPod DLAMI. Para futuras actualizaciones de SageMaker HyperPod DLAMI para parches de seguridad, consulte con. Notas de SageMaker HyperPod lanzamiento de Amazon
sugerencia
Si el parche de seguridad no funciona, puede recuperar los mensajes de error ejecutando la DescribeCluster
API tal y como se indica en las instrucciones. Describir un clúster
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 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