View a markdown version of this page

Einen Cluster erstellen mit CloudFormation - AWS ParallelCluster

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.

Einen Cluster erstellen mit CloudFormation

Erfahren Sie, wie Sie einen Cluster mit einer AWS ParallelCluster CloudFormation benutzerdefinierten Ressource erstellen. Weitere Informationen finden Sie unter AWS CloudFormation benutzerdefinierte Ressource.

Bei Verwendung AWS ParallelCluster zahlen Sie nur für die AWS Ressourcen, die beim Erstellen oder Aktualisieren von AWS ParallelCluster Images und Clustern erstellt oder aktualisiert werden. Weitere Informationen finden Sie unter AWS Dienste, die von verwendet werden AWS ParallelCluster.

Voraussetzungen:

Cluster-Erstellung mit einem Stack, der CloudFormation schnell erstellt werden kann

In diesem Tutorial verwenden Sie einen Stack, der schnell erstellt werden kann, um eine CloudFormation Vorlage bereitzustellen, die einen Cluster und die folgenden Ressourcen erstellt: AWS

  • Ein CloudFormation Root-Stack, der mithilfe eines Stacks mit CloudFormation Schnellerstellung erstellt wurde.

  • Verschachtelte CloudFormation Stacks, die Standardrichtlinien, eine Standard-VPC-Einrichtung und einen benutzerdefinierten Ressourcenanbieter enthalten.

  • Ein AWS ParallelCluster Beispiel-Cluster-Stack und ein Cluster, bei dem Sie sich anmelden und Jobs ausführen können.

Erstellen Sie einen Cluster mit AWS CloudFormation

  1. Melden Sie sich bei der an AWS-Managementkonsole.

  2. Öffnen Sie den Link zur CloudFormation Schnellerstellung, um die folgenden Ressourcen in der CloudFormation Konsole zu erstellen:

    • Ein verschachtelter CloudFormation Stack mit einer VPC mit einem öffentlichen und einem privaten Subnetz für den Betrieb des Cluster-Hauptknotens bzw. der Rechenknoten.

    • Ein verschachtelter CloudFormation Stack mit einer AWS ParallelCluster benutzerdefinierten Ressource für die Verwaltung des Clusters.

    • Ein verschachtelter CloudFormation Stack mit den Standardrichtlinien für die Verwaltung des Clusters.

    • Ein CloudFormation Root-Stack für die verschachtelten Stacks.

    • Ein AWS ParallelCluster Cluster mit dem Slurm Scheduler und einer definierten Anzahl von Rechenknoten.

    Die Benutzeroberfläche für die CloudFormation Schnellerstellung der Konsole.
  3. Geben Sie im Abschnitt Quick Create Stack Parameters Werte für die folgenden Parameter ein:

    1. Geben Sie für KeyName den Namen Ihres Amazon EC2-Schlüsselpaars ein.

    2. Wählen Sie AvailabilityZone beispielsweise eine AZ für Ihre Clusterknoten aus. us-east-1a

  4. Markieren Sie die Kästchen, um die einzelnen Zugriffsmöglichkeiten unten auf der Seite zu bestätigen.

  5. Wählen Sie Stack erstellen aus.

  6. Warten Sie, bis der CloudFormation Stapel den CREATE_COMPLETE Status erreicht hat.

Cluster-Erstellung mit dem CloudFormation Befehlszeilenschnittstelle (CLI)

In diesem Tutorial verwenden Sie die AWS Befehlszeilenschnittstelle (CLI) CloudFormation , um eine CloudFormation Vorlage bereitzustellen, die einen Cluster erstellt.

Erstellen Sie die folgenden AWS Ressourcen:
  • Ein CloudFormation Root-Stack, der mithilfe eines Stacks mit CloudFormation Schnellerstellung erstellt wurde.

  • Verschachtelte CloudFormation Stacks, die Standardrichtlinien, ein Standard-VPC-Setup und einen benutzerdefinierten Ressourcenanbieter enthalten.

  • Ein AWS ParallelCluster Beispiel-Cluster-Stack und ein Cluster, bei dem Sie sich anmelden und Jobs ausführen können.

Ersetzen Sie inputs highlighted in red z. keypair B. durch Ihre eigenen Werte.

Erstellen Sie einen Cluster mit AWS CloudFormation

  1. Erstellen Sie eine CloudFormation Vorlage cluster_template.yaml mit dem folgenden Namen:

    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. Führen Sie den folgenden AWS CLI-Befehl aus, um den CloudFormation Stack für die Clustererstellung und -verwaltung bereitzustellen.

    $ 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

CloudFormation Cluster-Ausgabe anzeigen

Sehen Sie sich die CloudFormation Cluster-Ausgabe an, um nützliche Cluster-Details zu erhalten. Die hinzugefügte ValidationMessages Eigenschaft ermöglicht den Zugriff auf Validierungsmeldungen aus Cluster-Erstellungs- und Aktualisierungsvorgängen.

  1. Navigieren Sie zur CloudFormation Konsole und wählen Sie den Stack aus, der Ihre AWS ParallelCluster benutzerdefinierte Ressource enthält.

  2. Wählen Sie Stack-Details und dann die Registerkarte Ausgaben aus.

    Die CloudFormation Konsolenausgabetabelle mit Werten für HeadNodeIp und ValidationMessages.

    Validierungsnachrichten werden möglicherweise gekürzt. Weitere Hinweise zum Abrufen von Protokollen finden Sie unterAWS ParallelCluster Fehlerbehebung.

Greifen Sie auf Ihren Cluster zu

Greifen Sie auf den Cluster zu.

SSH in den Cluster-Kopfknoten
  1. Nachdem die CloudFormation Stack-Bereitstellung abgeschlossen ist, rufen Sie die IP-Adresse des Hauptknotens mit dem folgenden Befehl ab:

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

    Sie können die IP-Adresse des Hauptknotens auch aus dem HeadNodeIp Parameter auf der Registerkarte Cluster-Stack-Ausgaben in der CloudFormation Konsole abrufen.

    Die IP-Adresse des Kopfknotens finden Sie hier, da sie speziell für diesen Beispielcluster im Outputs Abschnitt der CloudFormation Clustervorlage hinzugefügt wurde.

  2. Stellen Sie eine Verbindung zum Cluster-Hauptknoten her, indem Sie den folgenden Befehl ausführen:

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

Bereinigen

Löschen Sie den Cluster.

  1. Führen Sie den folgenden AWS CLI-Befehl aus, um den CloudFormation Stack und den Cluster zu löschen.

    $ aws cloudformation delete-stack --stack-name=mycluster
  2. Überprüfen Sie den Status des Stack-Löschens, indem Sie den folgenden Befehl ausführen.

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