

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criando um cluster com CloudFormation
<a name="tutorials_09_cfn-custom-resource-v3"></a>

Saiba como criar um cluster com um recurso AWS ParallelCluster CloudFormation personalizado. Para obter mais informações, consulte [AWS CloudFormation recurso personalizado](cloudformation-v3.md).

Ao usar AWS ParallelCluster, você paga apenas pelos AWS recursos criados ao criar ou atualizar AWS ParallelCluster imagens e clusters. Para obter mais informações, consulte [AWS serviços usados por AWS ParallelCluster](aws-services-v3.md).

**Pré-requisitos:**
+ O AWS CLI [está instalado e configurado.](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ Um [par de chaves do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
+ Um perfil do IAM com as [permissões](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies) necessárias para executar a [`pcluster`](pcluster-v3.md) CLI.

## Criação de clusters com uma pilha de criação CloudFormation rápida
<a name="cfn-custom-resource-quick-v3"></a>

Neste tutorial, você usa uma pilha de criação rápida para implantar um CloudFormation modelo que cria um cluster e os seguintes recursos: AWS 
+ Uma CloudFormation pilha raiz criada usando uma pilha de criação CloudFormation rápida.
+  CloudFormation Pilhas aninhadas que incluem políticas padrão, configuração padrão de VPC e um provedor de recursos personalizado.
+ Um exemplo AWS ParallelCluster de pilha de clusters e um cluster no qual você pode fazer login e executar trabalhos.

**Crie um cluster com AWS CloudFormation**

1. Faça login no Console de gerenciamento da AWS.

1. Abra o [link CloudFormation de criação 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 criar os seguintes recursos no CloudFormation console:
   + Uma CloudFormation pilha aninhada com uma VPC com uma sub-rede pública e privada para executar o nó principal do cluster e os nós de computação, respectivamente.
   + Uma CloudFormation pilha aninhada com um recurso AWS ParallelCluster personalizado para gerenciar o cluster.
   + Uma CloudFormation pilha aninhada com as políticas padrão para gerenciar o cluster.
   + Uma CloudFormation pilha raiz para as pilhas aninhadas.
   + Um AWS ParallelCluster cluster com o Slurm agendador e um número definido de nós de computação.  
![\[A interface de usuário de CloudFormation criação rápida do console.\]](http://docs.aws.amazon.com/pt_br/parallelcluster/latest/ug/images/cfn-quick-create.png)

1. Na seção **Parâmetros** de **pilha de criação rápida**, insira valores para os seguintes parâmetros:

   1. Para **KeyName**, insira o nome do seu par de chaves do Amazon EC2.

   1. Para **AvailabilityZone**, escolha uma AZ para seus nós de cluster, por exemplo,`us-east-1a`.

1. Na parte inferior da página, marque as caixas de seleção que reconhecem cada um dos recursos de acesso.

1. Selecione **Criar pilha**.

1. Aguarde até que a CloudFormation pilha alcance o `CREATE_COMPLETE` estado.

## Criação de clusters com a interface de linha de CloudFormation comando (CLI)
<a name="cfn-custom-resource-cli-v3"></a>

Neste tutorial, você usa a interface de linha de AWS comando (CLI) para CloudFormation implantar um CloudFormation modelo que cria um cluster.

**Crie os seguintes AWS recursos:**
+ Uma CloudFormation pilha raiz criada usando uma pilha de criação CloudFormation rápida.
+  CloudFormation Pilhas aninhadas que incluem políticas padrão, configuração padrão de VPC e um provedor de recursos personalizado.
+ Um exemplo AWS ParallelCluster de pilha de clusters e um cluster no qual você pode fazer login e executar trabalhos.

Substitua*inputs highlighted in red*, por exemplo*keypair*, por seus próprios valores.

**Crie um cluster com AWS CloudFormation**

1. Crie um CloudFormation modelo chamado `cluster_template.yaml` com o seguinte conteúdo:

   ```
   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. Execute o seguinte comando da AWS CLI para implantar a CloudFormation pilha para criação e gerenciamento de clusters.

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

## Exibir saída CloudFormation do cluster
<a name="cfn-custom-resource-view-v3"></a>

Visualize a saída do CloudFormation cluster para obter detalhes úteis do cluster. A propriedade `ValidationMessages` adicionada fornece acesso às mensagens de validação das operações de criação e atualização do cluster.

1. Navegue até o [CloudFormation console](https://console.aws.amazon.com/cloudformation/home) e selecione a pilha que inclui seu recurso AWS ParallelCluster personalizado.

1. Escolha **Detalhes da pilha** e selecione a guia **Saídas**.  
![\[A tabela CloudFormation de saída do console mostrando valores para HeadNodeIp e. ValidationMessages\]](http://docs.aws.amazon.com/pt_br/parallelcluster/latest/ug/images/cfn-outputs.png)

   As mensagens de validação poderão estar truncadas. Para obter mais informações sobre recuperação de logs, consulte [AWS ParallelCluster solução de problemas](troubleshooting-v3.md).

## Acessar seu cluster
<a name="cfn-custom-resource-access-v3"></a>

Acessar o cluster.

**`ssh` no nó principal do cluster**

1. Depois que a implantação da CloudFormation pilha for concluída, obtenha o endereço IP do nó principal com o seguinte comando:

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

   Você também pode recuperar o endereço IP do nó principal a partir do **HeadNodeIp**parâmetro na guia **Saídas** da pilha de clusters no console. CloudFormation 

   Você pode encontrar o endereço IP do nó principal aqui porque ele foi adicionado na `Outputs` seção do CloudFormation modelo de cluster, especificamente para este exemplo de cluster.

1. Conecte-se ao nó principal do cluster executando o comando a seguir:

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

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

Excluir o cluster.

1. Execute o seguinte comando da AWS CLI para excluir a CloudFormation pilha e o cluster.

   ```
   $ aws cloudformation delete-stack --stack-name=mycluster
   ```

1. Verifique o status de exclusão da pilha executando o seguinte comando.

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