

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurando vários nós de controle para um cluster SageMaker HyperPod Slurm
<a name="sagemaker-hyperpod-multihead-slurm-setup"></a>

Este tópico explica como configurar vários nós controladores (principais) em um cluster do SageMaker HyperPod Slurm usando scripts de ciclo de vida. Antes de começar, analise os pré-requisitos listados em [Pré-requisitos para usar SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md) e se familiarize com os scripts de ciclo de vida em [Personalização de SageMaker HyperPod clusters usando scripts de ciclo de vida](sagemaker-hyperpod-lifecycle-best-practices-slurm.md). As instruções neste tópico usam AWS CLI comandos no ambiente Amazon Linux. Observe que as variáveis de ambiente usadas nesses comandos estão disponíveis na sessão atual, a menos que sejam explicitamente preservadas.

**Topics**
+ [Provisionamento de recursos usando pilhas CloudFormation](sagemaker-hyperpod-multihead-slurm-cfn.md)
+ [Criar e anexar uma política do IAM](sagemaker-hyperpod-multihead-slurm-iam.md)
+ [Preparar e fazer upload de scripts de ciclo de vida](sagemaker-hyperpod-multihead-slurm-scripts.md)
+ [Criação de um SageMaker HyperPod cluster](sagemaker-hyperpod-multihead-slurm-create.md)
+ [Observações importantes a serem consideradas](sagemaker-hyperpod-multihead-slurm-notes.md)
+ [Analisar a referência de variáveis de ambiente](sagemaker-hyperpod-multihead-slurm-variables-reference.md)

# Provisionamento de recursos usando pilhas CloudFormation
<a name="sagemaker-hyperpod-multihead-slurm-cfn"></a>

Para configurar vários nós controladores em um cluster HyperPod Slurm, provisione AWS recursos por meio de duas CloudFormation pilhas: e. [Provisionar recursos básicos](#sagemaker-hyperpod-multihead-slurm-cfn-basic) [Provisionar recursos adicionais para atender a vários nós controladores](#sagemaker-hyperpod-multihead-slurm-cfn-multihead)

## Provisionar recursos básicos
<a name="sagemaker-hyperpod-multihead-slurm-cfn-basic"></a>

Siga estas etapas para provisionar recursos básicos para seu cluster Amazon SageMaker HyperPod Slurm.

1. Baixe o arquivo de modelo [sagemaker-hyperpod.yaml](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/sagemaker-hyperpod.yaml) na sua máquina. Esse arquivo YAML é um CloudFormation modelo que define os seguintes recursos a serem criados para seu cluster do Slurm.
   + Um perfil de execução do IAM para o grupo de instâncias do nó de computação.
   + Um bucket do Amazon S3 para armazenar os scripts de ciclo de vida.
   + Sub-redes públicas e privadas (as sub-redes privadas têm acesso à internet por meio de gateways NAT).
   +  Gateway/NAT Gateways de Internet
   + Dois grupos de segurança do Amazon EC2.
   + Um FSx volume da Amazon para armazenar arquivos de configuração

1. Execute o seguinte comando da CLI para criar uma CloudFormation pilha chamada. `sagemaker-hyperpod` Defina a Zona de Disponibilidade (AZ) IDs para seu cluster em `PrimarySubnetAZ` `BackupSubnetAZ` e. Por exemplo, *use1-az4* é uma ID AZ para uma zona de disponibilidade na `us-east-1` região. Para obter mais informações, consulte [Zona de disponibilidade IDs](https://docs.aws.amazon.com//ram/latest/userguide/working-with-az-ids.html) [Configurando SageMaker HyperPod clusters em vários AZs](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-multiple-availability-zones) e.

   ```
   aws cloudformation deploy \
   --template-file /path_to_template/sagemaker-hyperpod.yaml \
   --stack-name sagemaker-hyperpod \
   --parameter-overrides PrimarySubnetAZ=use1-az4 BackupSubnetAZ=use1-az1 \
   --capabilities CAPABILITY_IAM
   ```

   Para obter mais informações, consulte [implantar](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/deploy/) a partir da AWS Command Line Interface Referência. A criação da pilha pode levar alguns minutos para ser concluída. Quando estiver concluída, você verá o seguinte na interface de linha de comandos:

   ```
   Waiting for changeset to be created..
   Waiting for stack create/update to complete
   Successfully created/updated stack - sagemaker-hyperpod
   ```

1. (Opcional) Verifique a pilha no [console do CloudFormation](https://console.aws.amazon.com/cloudformation/home).
   + No painel de navegação à esquerda, escolha **Pilha**.
   + Na página **Pilha**, encontre e escolha **sagemaker-hyperpod**.
   + Escolha guias como **Recursos** e **Saídas** para analisar recursos e saídas.

1. Crie variáveis de ambiente com base nas saídas da pilha (`sagemaker-hyperpod`). Você usará os valores dessas variáveis para [Provisionar recursos adicionais para atender a vários nós controladores](#sagemaker-hyperpod-multihead-slurm-cfn-multihead).

   ```
   source .env
   PRIMARY_SUBNET=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`PrimaryPrivateSubnet`].OutputValue' --output text)
   BACKUP_SUBNET=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`BackupPrivateSubnet`].OutputValue' --output text)
   EMAIL=$(bash -c 'read -p "INPUT YOUR SNSSubEmailAddress HERE: " && echo $REPLY')
   DB_USER_NAME=$(bash -c 'read -p "INPUT YOUR DB_USER_NAME HERE: " && echo $REPLY')
   SECURITY_GROUP=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`SecurityGroup`].OutputValue' --output text)
   ROOT_BUCKET_NAME=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`AmazonS3BucketName`].OutputValue' --output text)
   SLURM_FSX_DNS_NAME=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`FSxLustreFilesystemDNSname`].OutputValue' --output text)
   SLURM_FSX_MOUNT_NAME=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`FSxLustreFilesystemMountname`].OutputValue' --output text)
   COMPUTE_NODE_ROLE=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`AmazonSagemakerClusterExecutionRoleArn`].OutputValue' --output text)
   ```

   Ao receber solicitações para fornecer seu endereço de e-mail e nome de usuário do banco de dados, insira valores como os seguintes:

   ```
   INPUT YOUR SNSSubEmailAddress HERE: Email_address_to_receive_SNS_notifications
   INPUT YOUR DB_USER_NAME HERE: Database_user_name_you_define
   ```

   Para verificar os valores das variáveis, use o comando `print $variable`.

   ```
   print $REGION
   us-east-1
   ```

## Provisionar recursos adicionais para atender a vários nós controladores
<a name="sagemaker-hyperpod-multihead-slurm-cfn-multihead"></a>

Siga estas etapas para provisionar recursos adicionais para seu cluster Amazon SageMaker HyperPod Slurm com vários nós controladores.

1. Baixe o arquivo [sagemaker-hyperpod-slurm-multide modelo -headnode.yaml](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/sagemaker-hyperpod-slurm-multi-headnode.yaml) para sua máquina. Esse segundo arquivo YAML é um CloudFormation modelo que define os recursos adicionais a serem criados para o suporte de vários nós controladores em seu cluster do Slurm.
   + Um perfil de execução do IAM para o grupo de instâncias do nó controlador
   + Uma instância para o Amazon RDS para MariaDB
   + Um tópico e assinatura do Amazon SNS
   + AWS Secrets Manager credenciais do Amazon RDS for MariaDB

1. Execute o seguinte comando da CLI para criar uma CloudFormation pilha chamada. `sagemaker-hyperpod-mh` Essa segunda pilha usa o CloudFormation modelo para criar AWS recursos adicionais para dar suporte à arquitetura de vários nós do controlador.

   ```
   aws cloudformation deploy \
   --template-file /path_to_template/slurm-multi-headnode.yaml \
   --stack-name sagemaker-hyperpod-mh \
   --parameter-overrides \
   SlurmDBSecurityGroupId=$SECURITY_GROUP \
   SlurmDBSubnetGroupId1=$PRIMARY_SUBNET \
   SlurmDBSubnetGroupId2=$BACKUP_SUBNET \
   SNSSubEmailAddress=$EMAIL \
   SlurmDBUsername=$DB_USER_NAME \
   --capabilities CAPABILITY_NAMED_IAM
   ```

   Para obter mais informações, consulte [implantar](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/deploy/) a partir da AWS Command Line Interface Referência. A criação da pilha pode levar alguns minutos para ser concluída. Quando estiver concluída, você verá o seguinte na interface de linha de comandos:

   ```
   Waiting for changeset to be created..
   Waiting for stack create/update to complete
   Successfully created/updated stack - sagemaker-hyperpod-mh
   ```

1. (Opcional) Verifique a pilha no [console do AWS Cloud Formation](https://console.aws.amazon.com/cloudformation/home).
   + No painel de navegação à esquerda, escolha **Pilha**.
   + Na página **Stack**, encontre e escolha **sagemaker-hyperpod-mh**.
   + Escolha guias como **Recursos** e **Saídas** para analisar recursos e saídas.

1. Crie variáveis de ambiente com base nas saídas da pilha (`sagemaker-hyperpod-mh`). Você usará os valores dessas variáveis para atualizar o arquivo de configuração (`provisioning_parameters.json`) em [Preparar e fazer upload de scripts de ciclo de vida](sagemaker-hyperpod-multihead-slurm-scripts.md).

   ```
   source .env
   SLURM_DB_ENDPOINT_ADDRESS=$(aws --region us-east-1 cloudformation describe-stacks --stack-name $MULTI_HEAD_SLURM_STACK --query 'Stacks[0].Outputs[?OutputKey==`SlurmDBEndpointAddress`].OutputValue' --output text)
   SLURM_DB_SECRET_ARN=$(aws --region us-east-1 cloudformation describe-stacks --stack-name $MULTI_HEAD_SLURM_STACK --query 'Stacks[0].Outputs[?OutputKey==`SlurmDBSecretArn`].OutputValue' --output text)
   SLURM_EXECUTION_ROLE_ARN=$(aws --region us-east-1 cloudformation describe-stacks --stack-name $MULTI_HEAD_SLURM_STACK --query 'Stacks[0].Outputs[?OutputKey==`SlurmExecutionRoleArn`].OutputValue' --output text)
   SLURM_SNS_FAILOVER_TOPIC_ARN=$(aws --region us-east-1 cloudformation describe-stacks --stack-name $MULTI_HEAD_SLURM_STACK --query 'Stacks[0].Outputs[?OutputKey==`SlurmFailOverSNSTopicArn`].OutputValue' --output text)
   ```

# Criar e anexar uma política do IAM
<a name="sagemaker-hyperpod-multihead-slurm-iam"></a>

Esta seção explica como criar uma política do IAM e anexá-la ao perfil de execução que você criou em [Provisionar recursos adicionais para atender a vários nós controladores](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-multihead).

1. Baixe o [exemplo da política do IAM](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/1.AmazonSageMakerClustersExecutionRolePolicy.json) para sua máquina a partir do GitHub repositório.

1. Crie uma política do IAM com o exemplo baixado, usando o comando da [create-policy](https://docs.aws.amazon.com//cli/latest/reference/iam/create-policy.html) da CLI.

   ```
   aws --region us-east-1 iam create-policy \
       --policy-name AmazonSagemakerExecutionPolicy \
       --policy-document file://1.AmazonSageMakerClustersExecutionRolePolicy.json
   ```

   Exemplo de saída do comando.

   ```
   {
       "Policy": {
           "PolicyName": "AmazonSagemakerExecutionPolicy",
           "PolicyId": "ANPAXISIWY5UYZM7WJR4W",
           "Arn": "arn:aws:iam::111122223333:policy/AmazonSagemakerExecutionPolicy",
           "Path": "/",
           "DefaultVersionId": "v1",
           "AttachmentCount": 0,
           "PermissionsBoundaryUsageCount": 0,
           "IsAttachable": true,
           "CreateDate": "2025-01-22T20:01:21+00:00",
           "UpdateDate": "2025-01-22T20:01:21+00:00"
       }
   }
   ```

1. Anexe a política `AmazonSagemakerExecutionPolicy` à função de execução do Slurm que você criou usando [Provisionar recursos adicionais para atender a vários nós controladores](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-multihead) o comando CLI [attach-role-policy](https://docs.aws.amazon.com//cli/latest/reference/iam/attach-role-policy.html).

   ```
   aws --region us-east-1 iam attach-role-policy \
       --role-name AmazonSagemakerExecutionRole \
       --policy-arn arn:aws:iam::111122223333:policy/AmazonSagemakerExecutionPolicy
   ```

   Esse comando não retorna nenhuma saída.

   (Opcional) Se você usa variáveis de ambiente, veja abaixo os comandos de exemplo.
   + Como obter o nome do perfil e o nome da política 

     ```
     POLICY=$(aws --region $REGION iam list-policies --query 'Policies[?PolicyName==AmazonSagemakerExecutionPolicy].Arn' --output text)
     ROLENAME=$(aws --region $REGION iam list-roles --query "Roles[?Arn=='${SLURM_EXECUTION_ROLE_ARN}'].RoleName" —output text)
     ```
   + Para anexar a política 

     ```
     aws  --region us-east-1 iam attach-role-policy \
          --role-name $ROLENAME --policy-arn $POLICY
     ```

Para obter mais informações, consulte [Função do IAM para SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod).

# Preparar e fazer upload de scripts de ciclo de vida
<a name="sagemaker-hyperpod-multihead-slurm-scripts"></a>

Depois de criar todos os recursos necessários, você precisará configurar [scripts de ciclo](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts) de vida para seu SageMaker HyperPod cluster. Esses [scripts de ciclo de vida](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts) fornecem uma [configuração básica](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config) que você pode usar para criar um cluster HyperPod Slurm básico.

## Preparar os scripts de ciclo de vida
<a name="sagemaker-hyperpod-multihead-slurm-prepare-scripts"></a>

Siga estas etapas para obter os scripts de ciclo de vida.

1. Baixe os [scripts do ciclo de vida](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts) do GitHub repositório para sua máquina.

1. Faça upload dos [scripts de ciclo de vida](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts) no bucket do Amazon S3 que você criou em [Provisionar recursos básicos](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-basic), usando o comando [cp](https://docs.aws.amazon.com//cli/latest/reference/s3/cp.html) da CLI.

   ```
   aws s3 cp --recursive LifeCycleScripts/base-config s3://${ROOT_BUCKET_NAME}/LifeCycleScripts/base-config
   ```

## Criar arquivos de configuração
<a name="sagemaker-hyperpod-multihead-slurm-update-config-file"></a>

Siga estas etapas para criar o arquivo de configuração e carregá-lo no mesmo bucket do Amazon S3 em que você armazena os scripts de ciclo de vida.

1. Crie um arquivo de configuração chamado `provisioning_parameters.json` com o conteúdo a seguir. Observe que `slurm_sns_arn` é opcional. Se não for fornecido, não HyperPod configurará as notificações do Amazon SNS.

   ```
   cat <<EOF > /tmp/provisioning_parameters.json
   {
     "version": "1.0.0",
     "workload_manager": "slurm",
     "controller_group": "$CONTOLLER_IG_NAME",
     "login_group": "my-login-group",
     "worker_groups": [
       {
         "instance_group_name": "$COMPUTE_IG_NAME",
         "partition_name": "dev"
       }
     ],
     "fsx_dns_name": "$SLURM_FSX_DNS_NAME",
     "fsx_mountname": "$SLURM_FSX_MOUNT_NAME",
     "slurm_configurations": {
       "slurm_database_secret_arn": "$SLURM_DB_SECRET_ARN",
       "slurm_database_endpoint": "$SLURM_DB_ENDPOINT_ADDRESS",
       "slurm_shared_directory": "/fsx",
       "slurm_database_user": "$DB_USER_NAME",
       "slurm_sns_arn": "$SLURM_SNS_FAILOVER_TOPIC_ARN"
     }
   }
   EOF
   ```

1. Faça upload do arquivo `provisioning_parameters.json` no mesmo bucket do Amazon S3 em que você armazena os scripts de ciclo de vida.

   ```
   aws s3 cp /tmp/provisioning_parameters.json s3://${ROOT_BUCKET_NAME}/LifeCycleScripts/base-config/provisioning_parameters.json
   ```
**nota**  
Se você estiver usando uma configuração orientada por API, o `provisioning_parameters.json` arquivo não será necessário. Com a configuração orientada por API, você define os tipos de nós, partições e FSx montagem do Slurm diretamente na carga útil da API. CreateCluster Para obter detalhes, consulte [Introdução ao SageMaker HyperPod uso do AWS CLI](smcluster-getting-started-slurm-cli.md).

## Verificar arquivos no bucket do Amazon S3
<a name="sagemaker-hyperpod-multihead-slurm-verify-s3"></a>

Depois de fazer upload de todos os scripts de ciclo de vida e do arquivo `provisioning_parameters.json`, o bucket do Amazon S3 deve ter a aparência a seguir.

![\[Imagem mostrando todos os scripts de ciclo de vida enviados ao bucket do Amazon S3 no console do Amazon Simple Storage Service.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/hyperpod/hyperpod-lifecycle-scripts-s3.png)


Para obter mais informações, consulte [Comece com scripts de ciclo de vida básicos fornecidos](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.html) por. HyperPod

# Criação de um SageMaker HyperPod cluster
<a name="sagemaker-hyperpod-multihead-slurm-create"></a>

Depois de configurar todos os recursos necessários e fazer upload dos scripts no bucket do Amazon S3, você pode criar um cluster.

1. Para criar um cluster, execute o [https://docs.aws.amazon.com//cli/latest/reference/sagemaker/create-cluster.html](https://docs.aws.amazon.com//cli/latest/reference/sagemaker/create-cluster.html) AWS CLI comando. O processo de criação pode levar até 15 minutos.

   ```
   aws --region $REGION sagemaker create-cluster \
       --cluster-name $HP_CLUSTER_NAME \
       --vpc-config '{
           "SecurityGroupIds":["'$SECURITY_GROUP'"],
           "Subnets":["'$PRIMARY_SUBNET'", "'$BACKUP_SUBNET'"]
       }' \
       --instance-groups '[{                  
       "InstanceGroupName": "'$CONTOLLER_IG_NAME'",
       "InstanceType": "ml.t3.medium",
       "InstanceCount": 2,
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://'$BUCKET_NAME'",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "'$SLURM_EXECUTION_ROLE_ARN'",
       "ThreadsPerCore": 1
   },
   {
       "InstanceGroupName": "'$COMPUTE_IG_NAME'",          
       "InstanceType": "ml.c5.xlarge",
       "InstanceCount": 2,
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://'$BUCKET_NAME'",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "'$COMPUTE_NODE_ROLE'",
       "ThreadsPerCore": 1
   }]'
   ```

   Se a execução for bem-sucedida, o comando exibirá o ARN do cluster da forma a seguir.

   ```
   {
       "ClusterArn": "arn:aws:sagemaker:us-east-1:111122223333:cluster/cluster_id"
   }
   ```

1. (Opcional) Para verificar o status do seu cluster, você pode usar o console SageMaker AI ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)). No painel de navegação à esquerda, escolha **HyperPod Clusters** e, em seguida, selecione **Gerenciamento de Clusters**. Escolha um nome de cluster para abrir a página de detalhes do cluster. Se seu cluster for criado com sucesso, você verá que o status do cluster é **InService**.  
![\[Imagem mostrando um cluster HyperPod Slurm com vários nós controladores no console Amazon SageMaker AI.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/hyperpod/hyperpod-lifecycle-multihead-cluster.png)

# Observações importantes a serem consideradas
<a name="sagemaker-hyperpod-multihead-slurm-notes"></a>

Esta seção apresenta várias observações importantes que podem ser úteis para você. 

1. Para migrar para um cluster do Slurm com vários controladores, conclua as etapas seguir.

   1. Siga as instruções em [Provisionamento de recursos usando pilhas CloudFormation](sagemaker-hyperpod-multihead-slurm-cfn.md) para provisionar todos os recursos necessários.

   1. Siga as instruções em [Preparar e fazer upload de scripts de ciclo de vida](sagemaker-hyperpod-multihead-slurm-scripts.md) para fazer upload dos scripts de ciclo de vida atualizados. Ao atualizar o arquivo `provisioning_parameters.json`, mova o grupo de controladores existente para a seção `worker_groups` e adicione um novo nome de grupo de controladores na seção `controller_group`.

   1. Execute a chamada de API [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) para criar um grupo de controladores e manter os grupos de instâncias de computação e o grupo de controladores originais.

1. Para reduzir a escala verticalmente do número de nós controladores, use o comando [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) da CLI. Para cada grupo de instâncias do controlador, o número mínimo de nós controladores para o qual você pode reduzir a escala verticalmente é 1. Isso significa que não é possível reduzir a escala verticalmente do número de nós controladores para 0.
**Importante**  
Para clusters criados antes de 24 de janeiro de 2025, você deve primeiro atualizar seu software de cluster usando a [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API antes de executar o comando da [CLI update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html).

   Veja a seguir um exemplo de comando da CLI para reduzir a escala verticalmente do número de nós controladores.

   ```
   aws sagemaker update-cluster \
       --cluster-name my_cluster \
       --instance-groups '[{                  
       "InstanceGroupName": "controller_ig_name",
       "InstanceType": "ml.t3.medium",
       "InstanceCount": 3,
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://amzn-s3-demo-bucket1",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "slurm_execution_role_arn",
       "ThreadsPerCore": 1
   },
   {
       "InstanceGroupName": "compute-ig_name",       
       "InstanceType": "ml.c5.xlarge",
       "InstanceCount": 2,
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://amzn-s3-demo-bucket1",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "compute_node_role_arn",
       "ThreadsPerCore": 1
   }]'
   ```

1. Para excluir em lote os nós do controlador, use o comando [batch-delete-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/batch-delete-cluster-nodes.html)CLI. Para cada grupo de instâncias do controlador, você deve manter pelo menos um nó controlador. Se você quiser excluir em lote todos os nós controladores, a operação de API não funcionará.
**Importante**  
Para clusters criados antes de 24 de janeiro de 2025, você deve primeiro atualizar seu software de cluster usando a [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API antes de executar o comando da [batch-delete-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/batch-delete-cluster-nodes.html)CLI.

   Veja a seguir um exemplo de comando da CLI para excluir os nós controladores.

   ```
   aws sagemaker batch-delete-cluster-nodes --cluster-name my_cluster --node-ids instance_ids_to_delete
   ```

1. Para solucionar seus problemas de criação de cluster, verifique a mensagem de falha na página de detalhes do cluster em seu console de SageMaker IA. Você também pode usar CloudWatch registros para solucionar problemas de criação de clusters. No CloudWatch console, escolha **Grupos de registros**. Em seguida, pesquise `clusters` para ver a lista de grupos de logs relacionados à criação do seu cluster.  
![\[Imagem mostrando grupos de log de SageMaker HyperPod clusters da Amazon no CloudWatch console.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/hyperpod/hyperpod-lifecycle-multihead-logs.png)

# Analisar a referência de variáveis de ambiente
<a name="sagemaker-hyperpod-multihead-slurm-variables-reference"></a>

As seguintes variáveis de ambiente são definidas e usadas no tutorial [Configurando vários nós de controle para um cluster SageMaker HyperPod Slurm](sagemaker-hyperpod-multihead-slurm-setup.md). Essas variáveis de ambiente só estão disponíveis na sessão atual, a menos que sejam explicitamente preservadas. Elas são definidas usando a sintaxe `$variable_name`. Variáveis com key/value pares representam recursos AWS criados, enquanto variáveis sem chaves são definidas pelo usuário.


**Referência de variáveis de ambiente**  

| Variável | Description | 
| --- | --- | 
| \$1BACKUP\$1SUBNET |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1COMPUTE\$1IG\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1COMPUTE\$1NODE\$1ROLE |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1CONTOLLER\$1IG\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1DB\$1USER\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1EMAIL |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1PRIMARY\$1SUBNET |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1POLICY |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1REGION |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1ROOT\$1BUCKET\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SECURITY\$1GROUP |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1DB\$1ENDPOINT\$1ADDRESS |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1DB\$1SECRET\$1ARN |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1EXECUTION\$1ROLE\$1ARN |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1FSX\$1DNS\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1FSX\$1MOUNT\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1SNS\$1FAILOVER\$1TOPIC\$1ARN |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 