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á.
Provisionamento de recursos usando pilhas CloudFormation
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 Provisionar recursos adicionais para atender a vários nós controladores
Provisionar recursos básicos
Siga estas etapas para provisionar recursos básicos para seu cluster Amazon SageMaker HyperPod Slurm.
-
Baixe o arquivo de modelo 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
-
-
Execute o seguinte comando da CLI para criar uma CloudFormation pilha chamada.
sagemaker-hyperpodDefina a Zona de Disponibilidade (AZ) IDs para seu cluster emPrimarySubnetAZBackupSubnetAZe. Por exemplo,use1-az4é uma ID AZ para uma zona de disponibilidade naus-east-1região. Para obter mais informações, consulte Zona de disponibilidade IDs Configurando SageMaker HyperPod clusters em vários AZs e.aws cloudformation deploy \ --template-file/path_to_template/sagemaker-hyperpod.yaml\ --stack-namesagemaker-hyperpod\ --parameter-overrides PrimarySubnetAZ=use1-az4BackupSubnetAZ=use1-az1\ --capabilitiesCAPABILITY_IAMPara obter mais informações, consulte implantar 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 -
(Opcional) Verifique a pilha no console do CloudFormation
. -
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.
-
-
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.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_notificationsINPUT YOUR DB_USER_NAME HERE:Database_user_name_you_definePara verificar os valores das variáveis, use o comando
print.$variableprint $REGION us-east-1
Provisionar recursos adicionais para atender a vários nós controladores
Siga estas etapas para provisionar recursos adicionais para seu cluster Amazon SageMaker HyperPod Slurm com vários nós controladores.
-
Baixe o arquivo sagemaker-hyperpod-slurm-multide modelo -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
-
-
Execute o seguinte comando da CLI para criar uma CloudFormation pilha chamada.
sagemaker-hyperpod-mhEssa 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-namesagemaker-hyperpod-mh\ --parameter-overrides \ SlurmDBSecurityGroupId=$SECURITY_GROUP \ SlurmDBSubnetGroupId1=$PRIMARY_SUBNET \ SlurmDBSubnetGroupId2=$BACKUP_SUBNET \ SNSSubEmailAddress=$EMAIL \ SlurmDBUsername=$DB_USER_NAME \ --capabilitiesCAPABILITY_NAMED_IAMPara obter mais informações, consulte implantar 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 -
(Opcional) Verifique a pilha no console do AWS Cloud Formation
. -
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.
-
-
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.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)