

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 CloudFormation
<a name="tutorials_09_cfn-custom-resource-v3"></a>

Aprenda a crear un clúster con un recurso AWS ParallelCluster CloudFormation personalizado. Para obtener más información, consulte [AWS CloudFormation recurso personalizado](cloudformation-v3.md).

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](aws-services-v3.md).

**Requisitos previos:**
+  AWS CLI [Está instalado y configurado.](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ Un [par de claves de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
+ Un rol de IAM con los [permisos](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies) necesarios para ejecutar el CLI [`pcluster`](pcluster-v3.md).

## Creación de clústeres con una pila de creación CloudFormation rápida
<a name="cfn-custom-resource-quick-v3"></a>

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 Consola de administración de AWS.

1. Abre el [enlace CloudFormation de creación rápida](https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?stackName=mycluster&templateURL=https://us-east-1-aws-parallelcluster.s3.amazonaws.com/parallelcluster/3.15.0/templates/1-click/cluster-example.yaml) 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.\]](http://docs.aws.amazon.com/es_es/parallelcluster/latest/ug/images/cfn-quick-create.png)

1. 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.

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

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

1. Seleccione **Creación de pila**.

1. Espere a que la CloudFormation pila alcance el `CREATE_COMPLETE` estado.

## Creación de clústeres con la interfaz de línea de CloudFormation comandos (CLI)
<a name="cfn-custom-resource-cli-v3"></a>

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.

Reemplace*inputs highlighted in red*, por ejemplo*keypair*, con 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.15.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 ]
   ```

1. 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
<a name="cfn-custom-resource-view-v3"></a>

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](https://console.aws.amazon.com/cloudformation/home) y selecciona la pila que incluye tu recurso AWS ParallelCluster personalizado.

1. 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.\]](http://docs.aws.amazon.com/es_es/parallelcluster/latest/ug/images/cfn-outputs.png)

   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](troubleshooting-v3.md).

## Acceso al clúster
<a name="cfn-custom-resource-access-v3"></a>

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 **HeadNodeIp**pará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.

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

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

## Limpieza
<a name="cfn-custom-resource-cleanup-v3"></a>

Elimine 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
   ```

1. Ejecute el siguiente comando para comprobar el estado de la eliminación de la pila.

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