Crear un clúster con AWS CloudFormation - AWS ParallelCluster

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crear un clúster con AWS CloudFormation

Obtén información sobre cómo crear un clúster con un recurso AWS ParallelCluster CloudFormation personalizado. Para obtener más información, consulte AWS CloudFormation recurso personalizado.

Al usarlo AWS ParallelCluster, solo pagas por los AWS recursos que se crean al crear o actualizar AWS ParallelCluster imágenes y clústeres. Para obtener más información, consulte AWS servicios utilizados por AWS ParallelCluster.

Requisitos previos:

Creación de clústeres con una pila de creación CloudFormation rápida

En este tutorial, utilizarás una pila de creación rápida para implementar una CloudFormation plantilla que cree un clúster y los siguientes recursos: AWS

  • Una CloudFormation pila raíz creada mediante una pila de creación CloudFormation rápida.

  • Pilas anidadas CloudFormation que incluyen políticas predeterminadas, configuración de VPC predeterminada y un proveedor de recursos personalizado.

  • Un ejemplo de pila de AWS ParallelCluster clústeres y un clúster en el que puedes iniciar sesión y ejecutar trabajos.

Cree un clúster con AWS CloudFormation

  1. Inicie sesión en AWS Management Console.

  2. Abre el enlace CloudFormation de creación rápida para crear los siguientes recursos en la CloudFormation consola:

    • Una CloudFormation pila anidada con una VPC con una subred pública y privada para ejecutar el nodo principal del clúster y los nodos de cómputo, respectivamente.

    • Una CloudFormation pila anidada con un recurso AWS ParallelCluster personalizado para administrar el clúster.

    • Una CloudFormation pila anidada con las políticas predeterminadas para administrar el clúster.

    • Una CloudFormation pila raíz para las pilas anidadas.

    • Un AWS ParallelCluster clúster con el Slurm planificador y un número definido de nodos de procesamiento.

    La interfaz de usuario de CloudFormation creación rápida de la consola.
  3. En la sección Parámetros Creación rápida de pila, proporcione valores para los parámetros siguientes:

    1. Para KeyName, introduzca el nombre de su par de claves de Amazon EC2.

    2. Para AvailabilityZone, elija una zona de disponibilidad para los nodos de su clúster, por ejemplo,us-east-1a.

  4. Elija las casillas de verificación para confirmar las capacidades de acceso en la parte inferior de la página.

  5. Seleccione Crear pila.

  6. Espere a que la CloudFormation pila alcance el CREATE_COMPLETE estado.

Creación de clústeres con la interfaz de línea de AWS CloudFormation comandos (CLI)

En este tutorial, utilizará la interfaz de línea de AWS comandos (CLI) CloudFormation para implementar una CloudFormation plantilla que cree un clúster.

Cree los siguientes AWS recursos:
  • Una CloudFormation pila raíz creada mediante una pila de CloudFormation creación rápida.

  • Pilas anidadas CloudFormation que incluyen políticas predeterminadas, configuración de VPC predeterminada y un proveedor de recursos personalizado.

  • Un ejemplo de pila de AWS ParallelCluster clústeres y un clúster en los que puedes iniciar sesión y ejecutar trabajos.

Sustituya las entradas resaltadas en rojo, como el par de claves, por sus propios valores.

Cree un clúster con AWS CloudFormation

  1. Cree una CloudFormation plantilla denominada cluster_template.yaml con el siguiente contenido:

    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.7.0 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: alinux2 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. Ejecute el siguiente comando AWS CLI para implementar la CloudFormation pila para la creación y administración del clúster.

    $ 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

Vea la salida CloudFormation del clúster

Vea la salida del CloudFormation clúster para obtener detalles útiles sobre el clúster. La propiedad ValidationMessages agregada proporciona acceso a los mensajes de validación de las operaciones de creación y actualización del clúster.

  1. Ve a la CloudFormation consola y selecciona la pila que incluye tu recurso AWS ParallelCluster personalizado.

  2. Elija los detalles de la pila y a continuación, seleccione la pestaña Salidas.

    La tabla de CloudFormation resultados de la consola muestra los valores para HeadNodeIp y ValidationMessages.

    Es posible que los mensajes de validación queden truncados. Para obtener más información acerca de la recuperación de registros, consulte AWS ParallelCluster solución de problemas.

Acceso al clúster

Acceso al clúster

ssh en el nodo principal del clúster.
  1. Una vez completada la implementación de la CloudFormation pila, obtenga la dirección IP del nodo principal con el siguiente comando:

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

    También puede recuperar la dirección IP del nodo principal a partir del HeadNodeIpparámetro de la pestaña Salidas de la pila de clústeres de la CloudFormation consola.

    Puede encontrar la dirección IP del nodo principal aquí porque se agregó en la Outputs sección de la CloudFormation plantilla de clúster, específicamente para este clúster de ejemplo.

  2. Conéctese al nodo principal del clúster ejecutando el siguiente comando:

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

Limpieza

Eliminar el clúster.

  1. Ejecute el siguiente comando AWS CLI para eliminar la CloudFormation pila y el clúster.

    $ aws cloudformation delete-stack --stack-name=mycluster
  2. Ejecute el siguiente comando para comprobar el estado de la eliminación de la pila.

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