Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bereitstellung von Ressourcen mithilfe von Stacks CloudFormation
Um mehrere Controller-Knoten in einem HyperPod Slurm-Cluster einzurichten, stellen Sie AWS Ressourcen über zwei CloudFormation Stacks bereit: und. Bereitstellen von grundlegenden Ressourcen Bereitstellen zusätzlicher Ressourcen zur Unterstützung mehrerer Controller-Knoten
Bereitstellen von grundlegenden Ressourcen
Gehen Sie wie folgt vor, um grundlegende Ressourcen für Ihren Amazon SageMaker HyperPod Slurm-Cluster bereitzustellen.
-
Laden Sie die Vorlagendatei sagemaker-hyperpod.yaml
auf Ihren Computer herunter. Diese YAML-Datei ist eine CloudFormation Vorlage, die die folgenden Ressourcen definiert, die Sie für Ihren Slurm-Cluster erstellen müssen. -
Eine Ausführungs-IAM-Rolle für die Rechenknoten-Instance-Gruppe
-
Ein Amazon-S3-Bucket zum Speichern der Lebenszyklusskripte
-
Öffentliche und private Subnetze (private Subnetze haben Internetzugang über NAT-Gateways)
-
Internet-Gateways Gateway/NAT
-
Zwei Amazon-EC2-Sicherheitsgruppen
-
Ein FSx Amazon-Volume zum Speichern von Konfigurationsdateien
-
-
Führen Sie den folgenden CLI-Befehl aus, um einen CloudFormation Stack mit dem Namen zu erstellen
sagemaker-hyperpod. Definieren Sie die Availability Zone (AZ) IDs für Ihren Cluster inPrimarySubnetAZundBackupSubnetAZ.use1-az4Ist beispielsweise eine AZ-ID für eine Availability Zone in derus-east-1Region. Weitere Informationen finden Sie unter Availability Zone IDs undEinrichtung von Clustern über mehrere SageMaker HyperPod AZs.aws cloudformation deploy \ --template-file/path_to_template/sagemaker-hyperpod.yaml\ --stack-namesagemaker-hyperpod\ --parameter-overrides PrimarySubnetAZ=use1-az4BackupSubnetAZ=use1-az1\ --capabilitiesCAPABILITY_IAMWeitere Informationen finden Sie in der AWS Command Line Interface Referenz unter Bereitstellen. Die Erstellung des Stacks kann einige Minuten in Anspruch nehmen. Wenn der Vorgang abgeschlossen ist, wird in Ihrer Befehlszeilenschnittstelle Folgendes angezeigt.
Waiting for changeset to be created.. Waiting for stack create/update to complete Successfully created/updated stack - sagemaker-hyperpod -
(Optional) Überprüfen Sie den Stack in der CloudFormation -Konsole
. -
Wählen Sie im linken Navigationsbereich Stack aus.
-
Suchen Sie auf der Stack-Seite nach sagemaker-hyperpod und wählen Sie es aus.
-
Wählen Sie die Registerkarten wie Ressourcen und Ergebnisse aus, um die Ressourcen und Ergebnisse zu überprüfen.
-
-
Erstellen Sie Umgebungsvariablen aus den Stack-Ausgaben (
sagemaker-hyperpod). Sie verwenden die Werte dieser Variablen, um Bereitstellen zusätzlicher Ressourcen zur Unterstützung mehrerer Controller-Knoten.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)Wenn Sie aufgefordert werden, Ihre E-Mail-Adresse und Ihren Datenbankbenutzernamen einzugeben, geben Sie Werte wie die folgenden ein.
INPUT YOUR SNSSubEmailAddress HERE:Email_address_to_receive_SNS_notificationsINPUT YOUR DB_USER_NAME HERE:Database_user_name_you_defineVerwenden Sie den
print-Befehl, um Variablenwerte zu überprüfen.$variableprint $REGION us-east-1
Bereitstellen zusätzlicher Ressourcen zur Unterstützung mehrerer Controller-Knoten
Gehen Sie wie folgt vor, um zusätzliche Ressourcen für Ihren Amazon SageMaker HyperPod Slurm-Cluster mit mehreren Controller-Knoten bereitzustellen.
-
Laden Sie die sagemaker-hyperpod-slurm-multiVorlagendatei -headnode.yaml
auf Ihren Computer herunter. Diese zweite YAML-Datei ist eine CloudFormation Vorlage, die die zusätzlichen Ressourcen definiert, die für die Unterstützung mehrerer Controller-Knoten in Ihrem Slurm-Cluster erstellt werden müssen. -
Eine Ausführungs-IAM-Rolle für die Instance-Gruppe des Controller-Knotens
-
Eine Instance von Amazon RDS für MariaDB
-
Ein Amazon-SNS-Thema und -Abonnement
-
AWS Secrets Manager Anmeldeinformationen für Amazon RDS for MariaDB
-
-
Führen Sie den folgenden CLI-Befehl aus, um einen CloudFormation Stack mit dem Namen zu erstellen
sagemaker-hyperpod-mh. Dieser zweite Stack verwendet die CloudFormation Vorlage, um zusätzliche AWS Ressourcen zur Unterstützung der Architektur mit mehreren Controller-Knoten zu erstellen.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_IAMWeitere Informationen finden Sie in der AWS Command Line Interface Referenz unter Deploy. Die Erstellung des Stacks kann einige Minuten in Anspruch nehmen. Wenn der Vorgang abgeschlossen ist, wird in Ihrer Befehlszeilenschnittstelle Folgendes angezeigt.
Waiting for changeset to be created.. Waiting for stack create/update to complete Successfully created/updated stack - sagemaker-hyperpod-mh -
(Optional) Überprüfen Sie den Stack in der Konsole von AWS Cloud Formation
. -
Wählen Sie im linken Navigationsbereich Stack aus.
-
Suchen und wählen Sie auf der Stack-Seite sagemaker-hyperpod-mh.
-
Wählen Sie die Registerkarten wie Ressourcen und Ergebnisse aus, um die Ressourcen und Ergebnisse zu überprüfen.
-
-
Erstellen Sie Umgebungsvariablen aus den Stack-Ausgaben (
sagemaker-hyperpod-mh). Sie verwenden die Werte dieser Variablen, um die Konfigurationsdatei (provisioning_parameters.json) in Vorbereiten und Hochladen von Lebenszyklusskripten zu aktualisieren.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)