Criação de um cluster com AWS CloudFormation - AWS ParallelCluster

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

Criação de um cluster com AWS CloudFormation

Saiba como criar um cluster com um recurso AWS ParallelCluster CloudFormation personalizado. Para ter mais informações, consulte AWS CloudFormation recurso personalizado.

Ao usar AWS ParallelCluster, você paga apenas pelos AWS recursos criados ao criar ou atualizar AWS ParallelCluster imagens e clusters. Para ter mais informações, consulte Serviços AWS usados por AWS ParallelCluster.

Pré-requisitos:

Criação de clusters com uma pilha de criação CloudFormation rápida

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 AWS Management Console.

  2. Abra o link CloudFormation de criação rápida 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.
  3. 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 key pair do EC2.

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

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

  5. Selecione Criar pilha.

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

Criação de clusters com a interface de linha de AWS CloudFormation comando (CLI)

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 as entradas destacadas em vermelho, como ketpair, 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.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. 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

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 e selecione a pilha que inclui seu recurso AWS ParallelCluster personalizado.

  2. Escolha Stack details (Detalhes da pilha) e selecione a guia Outputs (Saídas).

    A tabela CloudFormation de saída do console mostrando valores para HeadNodeIp e. ValidationMessages

    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.

Acessar seu cluster

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 HeadNodeIpparâ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.

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

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

Limpeza

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
  2. Verifique o status de exclusão da pilha executando o seguinte comando.

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