View a markdown version of this page

Creazione di un cluster con CloudFormation - AWS ParallelCluster

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un cluster con CloudFormation

Scopri come creare un cluster con una risorsa AWS ParallelCluster CloudFormation personalizzata. Per ulteriori informazioni, consulta AWS CloudFormation risorsa personalizzata.

Quando si utilizza AWS ParallelCluster, si pagano solo le AWS risorse create quando si creano o si aggiornano AWS ParallelCluster immagini e cluster. Per ulteriori informazioni, consulta AWS servizi usati da AWS ParallelCluster.

Prerequisiti:

Creazione di cluster con uno CloudFormation stack di creazione rapida

In questo tutorial, utilizzi uno stack di creazione rapida per distribuire un CloudFormation modello che crea un cluster e le seguenti risorse: AWS

  • Uno CloudFormation stack principale creato utilizzando uno stack di creazione rapida. CloudFormation

  • CloudFormation Stack annidati che includono policy predefinite, configurazione VPC predefinita e un provider di risorse personalizzato.

  • Uno stack di AWS ParallelCluster cluster di esempio e un cluster a cui è possibile accedere ed eseguire processi.

Crea un cluster con AWS CloudFormation

  1. Accedi alla Console di gestione AWS.

  2. Apri il link di CloudFormation creazione rapida per creare le seguenti risorse nella CloudFormation console:

    • Uno CloudFormation stack annidato con un VPC con una sottorete pubblica e privata per l'esecuzione rispettivamente del nodo principale del cluster e dei nodi di calcolo.

    • Uno CloudFormation stack annidato con una risorsa AWS ParallelCluster personalizzata per la gestione del cluster.

    • Uno CloudFormation stack annidato con le politiche predefinite per la gestione del cluster.

    • Uno CloudFormation stack principale per gli stack annidati.

    • Un AWS ParallelCluster cluster con lo Slurm scheduler e un numero definito di nodi di calcolo.

    L'interfaccia utente per la creazione CloudFormation rapida della console.
  3. Nella sezione Parametri di creazione rapida dello stack, inserisci i valori per i seguenti parametri:

    1. Per KeyName, inserisci il nome della tua coppia di chiavi Amazon EC2.

    2. Per AvailabilityZone, scegli un AZ per i nodi del tuo cluster, ad esempio,us-east-1a.

  4. Seleziona le caselle per riconoscere ciascuna delle funzionalità di accesso nella parte inferiore della pagina.

  5. Seleziona Crea stack.

  6. Attendi che lo CloudFormation stack raggiunga lo CREATE_COMPLETE stato.

Creazione del cluster con CloudFormation Interfaccia a riga di comando (CLI)

In questo tutorial, si utilizza l'interfaccia a riga di AWS comando (CLI) CloudFormation per distribuire un CloudFormation modello che crea un cluster.

Utilizza i seguenti file AWS risorse:
  • Uno CloudFormation stack principale creato utilizzando uno stack di CloudFormation creazione rapida.

  • CloudFormation Stack annidati che includono policy predefinite, configurazione VPC predefinita e un provider di risorse personalizzato.

  • Uno stack di AWS ParallelCluster cluster di esempio e un cluster a cui è possibile accedere ed eseguire processi.

Sostituisciinputs highlighted in red, ad esempiokeypair, con i tuoi valori.

Crea un cluster con AWS CloudFormation

  1. Crea un CloudFormation modello denominato cluster_template.yaml con il seguente contenuto:

    AWSTemplateFormatVersion: '2010-09-09' Description: > AWS ParallelCluster CloudFormation Template Parameters: KeyName: Description: KeyPair to login to the head node Type: AWS::EC2::KeyPair::KeyName AvailabilityZone: Description: Availability zone where instances will be launched Type: AWS::EC2::AvailabilityZone::Name Default: us-east-2a Mappings: ParallelCluster: Constants: Version: 3.16.1 Resources: PclusterClusterProvider: Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/custom_resource/cluster.yaml - { Version: !FindInMap [ParallelCluster, Constants, Version] } PclusterVpc: Type: AWS::CloudFormation::Stack Properties: Parameters: PublicCIDR: 10.0.0.0/24 PrivateCIDR: 10.0.16.0/20 AvailabilityZone: !Ref AvailabilityZone TemplateURL: !Sub - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/networking/public-private-${Version}.cfn.json - { Version: !FindInMap [ParallelCluster, Constants, Version ] } PclusterCluster: Type: Custom::PclusterCluster Properties: ServiceToken: !GetAtt [ PclusterClusterProvider , Outputs.ServiceToken ] ClusterName: !Sub 'c-${AWS::StackName}' ClusterConfiguration: Image: Os: alinux2023 HeadNode: InstanceType: t2.medium Networking: SubnetId: !GetAtt [ PclusterVpc , Outputs.PublicSubnetId ] Ssh: KeyName: !Ref KeyName Scheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-cr0 InstanceType: t2.micro Networking: SubnetIds: - !GetAtt [ PclusterVpc , Outputs.PrivateSubnetId ] Outputs: HeadNodeIp: Description: The Public IP address of the HeadNode Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ]
  2. Esegui il seguente comando AWS CLI per distribuire lo CloudFormation stack per la creazione e la gestione dei cluster.

    $ aws cloudformation deploy --template-file ./cluster_template.yaml \ --stack-name mycluster \ --parameter-overrides KeyName=keypair \ AvailabilityZone=us-east-2b \ --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND

Visualizza CloudFormation l'output del cluster

Visualizza l'output del CloudFormation cluster per ottenere dettagli utili sul cluster. La ValidationMessages proprietà aggiunta fornisce l'accesso ai messaggi di convalida delle operazioni di creazione e aggiornamento del cluster.

  1. Accedi alla CloudFormation console e seleziona lo stack che include la tua risorsa AWS ParallelCluster personalizzata.

  2. Scegli i dettagli dello stack e seleziona la scheda Output.

    La console CloudFormation emette una tabella che mostra i valori per HeadNodeIp e. ValidationMessages

    I messaggi di convalida potrebbero essere troncati. Per ulteriori informazioni su come recuperare i log, vedere. AWS ParallelCluster risoluzione dei problemi

Accedi al tuo cluster

Accedi al cluster.

ssh nel nodo principale del cluster
  1. Una volta completata la distribuzione CloudFormation dello stack, ottieni l'indirizzo IP del nodo principale con il seguente comando:

    $ HEAD_NODE_IP=$(aws cloudformation describe-stacks --stack-name=mycluster --query "Stacks|[0].Outputs[?OutputKey=='HeadNodeIp']|[0].OutputValue" --output=text)

    Puoi anche recuperare l'indirizzo IP del nodo principale dal HeadNodeIp parametro nella scheda Outputs dello stack del cluster nella console. CloudFormation

    Puoi trovare l'indirizzo IP del nodo principale qui perché è stato aggiunto nella Outputs sezione del CloudFormation modello di cluster, specificamente per questo cluster di esempio.

  2. Connettiti al nodo principale del cluster eseguendo il comando seguente:

    $ ssh -i keyname.pem ec2-user@$HEAD_NODE_IP

Eliminazione

Elimina il cluster.

  1. Esegui il seguente comando AWS CLI per eliminare CloudFormation lo stack e il cluster.

    $ aws cloudformation delete-stack --stack-name=mycluster
  2. Controlla lo stato di eliminazione dello stack eseguendo il comando seguente.

    $ aws cloudformation describe-stacks --stack-name=mycluster