Implantação de um sistema de arquivos do Lustre para processamento de dados de alta performance usando o Terraform e a DRA - Recomendações da AWS

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

Implantação de um sistema de arquivos do Lustre para processamento de dados de alta performance usando o Terraform e a DRA

Arun Bagal e Ishwar Chauthaiwale, Amazon Web Services

Resumo

Esse padrão implanta automaticamente um sistema de arquivos Lustre AWS e o integra ao Amazon Elastic Compute Cloud (Amazon) EC2 e ao Amazon Simple Storage Service (Amazon S3).

Esta solução auxilia na configuração rápida de um ambiente de computação de alta performance (HPC) com armazenamento integrado, recursos de computação e acesso aos dados do Amazon S3. Ele combina os recursos de armazenamento do Lustre com as opções de computação flexíveis fornecidas pela Amazon EC2 e o armazenamento de objetos escalável no Amazon S3, para que você possa lidar com cargas de trabalho com uso intenso de dados em aprendizado de máquina, HPC e análise de big data.

O padrão usa um módulo HashiCorp Terraform e o Amazon for Lustre FSx para simplificar o seguinte processo:

  • Provisionamento de um sistema de arquivos do Lustre

  • Estabelecendo uma associação de repositório de dados (DRA) entre FSx o Lustre e um bucket do S3 para vincular o sistema de arquivos Lustre aos objetos do Amazon S3

  • Criação de uma EC2 instância

  • Montagem do sistema de arquivos Lustre com o DRA vinculado ao Amazon S3 na instância EC2

Entre os benefícios desta solução, destacam-se:

  • Design modular. Você pode gerenciar e atualizar de forma simples cada componente desta solução.

  • Escalabilidade. Você pode implantar rapidamente ambientes consistentes em Contas da AWS nossas regiões.

  • Flexibilidade. Você pode personalizar a implantação para atender às suas necessidades específicas.

  • Práticas recomendadas. Esse padrão usa módulos pré-configurados que seguem as AWS melhores práticas.

Para obter mais informações sobre sistemas de arquivos do Lustre, consulte o site do Lustre.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS

  • Uma política de privilégios mínimos AWS Identity and Access Management (IAM) (consulte as instruções)

Limitações

FSx for Lustre limita o sistema de arquivos Lustre a uma única zona de disponibilidade, o que pode ser uma preocupação se você tiver requisitos de alta disponibilidade. Caso a zona de disponibilidade em que o sistema de arquivos está localizado falhe, o acesso ao sistema será interrompido até a recuperação. Para garantir alta disponibilidade, é possível usar a DRA para vincular o sistema de arquivos do Lustre ao Amazon S3 e transferir dados entre zonas de disponibilidade.

Versões do produto

Arquitetura

O diagrama a seguir mostra a arquitetura do Lustre e a complementar Serviços da AWS no Nuvem AWS. FSx

FSx para implantação do Lustre com AWS KMS, Amazon EC2, Amazon Logs e CloudWatch Amazon S3.

A arquitetura inclui o seguinte:

  • Um bucket do S3 é usado como local de armazenamento durável, escalável e econômico para os dados. A integração entre FSx o Lustre e o Amazon S3 fornece um sistema de arquivos de alto desempenho que está perfeitamente vinculado ao Amazon S3.

  • FSx for Lustre executa e gerencia o sistema de arquivos Lustre.

  • O Amazon CloudWatch Logs coleta e monitora dados de log do sistema de arquivos. Esses logs fornecem insights sobre a performance, a integridade e a atividade do sistema de arquivos do Lustre.

  • A Amazon EC2 é usada para acessar sistemas de arquivos Lustre usando o cliente Lustre de código aberto. EC2 as instâncias podem acessar sistemas de arquivos de outras zonas de disponibilidade dentro da mesma nuvem privada virtual (VPC). A configuração de rede permite o acesso entre sub-redes dentro da VPC. Depois que o sistema de arquivos do Lustre é montado na instância, você pode trabalhar com arquivos e diretórios como se fossem parte de um sistema de arquivos local.

  • AWS Key Management Service (AWS KMS) aumenta a segurança do sistema de arquivos fornecendo criptografia para dados em repouso.

Automação e escala

O Terraform facilita a implantação, o gerenciamento e a escalabilidade dos seus sistemas de arquivos do Lustre em diferentes ambientes. No FSx Lustre, um único sistema de arquivos tem limitações de tamanho, então talvez seja necessário escalar horizontalmente criando vários sistemas de arquivos. É possível usar o Terraform para provisionar vários sistemas de arquivos do Lustre de acordo com as necessidades da sua workload.

Ferramentas

Serviços da AWS

Repositório de código

O código desse padrão está disponível no sistema de arquivos GitHub Provision FSx for Lustre usando o repositório Terraform.

Práticas recomendadas

  • As variáveis apresentadas a seguir definem o sistema de arquivos do Lustre. Certifique-se de que essas configurações estejam corretas de acordo com o ambiente, seguindo as instruções apresentadas na seção Épicos.

    • storage_capacity— A capacidade de armazenamento do sistema de arquivos Lustre, em GiBs. O valor mínimo e padrão é 1.200 GiB.

    • deployment_type: o tipo de implantação do sistema de arquivos do Lustre. Para obter uma explicação das duas opções PERSISTENT_1 e PERSISTENT_2 (padrão), consulte a documentação do FSx Lustre.

    • per_unit_storage_throughput— A taxa de transferência de leitura e gravação, em MBs por segundo por TiB.  

    • subnet_id— O ID da sub-rede privada em que você deseja FSx implantar o Lustre.

    • vpc_id— O ID da sua nuvem privada virtual AWS onde você deseja FSx implantar o Lustre.

    • data_repository_path: o caminho para o bucket do S3 que será vinculado ao sistema de arquivos do Lustre.

    • iam_instance_profile— O perfil da instância do IAM a ser usado para iniciar a EC2 instância.

    • kms_key_id— O Amazon Resource Name (ARN) da AWS KMS chave que será usada para criptografia de dados.

  • Garanta o acesso adequado à rede e o posicionamento correto na VPC usando as variáveis security_group e vpc_id.

  • Execute o comando terraform plan, conforme descrito na seção Épicos, para obter uma visualização prévia e verificar as alterações antes de aplicá-las. Esse procedimento auxilia na detecção de problemas potenciais e assegura que você tenha ciência do que será implantado.

  • Use o comando terraform validate, conforme descrito na seção Épicos, para verificar erros de sintaxe e confirmar se a configuração está correta.

Épicos

TarefaDescriptionHabilidades necessárias

Instale o Terraform.

Para instalar o Terraform em sua máquina local, siga as instruções apresentadas na documentação do Terraform.

AWS DevOps, DevOps engenheiro

Configure as AWS credenciais.

Para configurar o perfil AWS Command Line Interface (AWS CLI) para a conta, siga as instruções na AWS documentação.

AWS DevOps, DevOps engenheiro

Clone o GitHub repositório.

Para clonar o GitHub repositório, execute o comando:

git clone https://github.com/aws-samples/provision-fsx-lustre-with-terraform.git
AWS DevOps, DevOps engenheiro
TarefaDescriptionHabilidades necessárias

Atualize a configuração de implantação.

  1. No repositório clonado em sua máquina local, acesse o diretório fsx_deployment:

    cd fsx_deployment
  2. Abra o arquivo terraform.tfvars e atualize os valores das seguintes variáveis:

    • vpc_id

    • subnet_id

    • data_repository_path

    • iam_instance_profile

    • kms_key_id

    Para obter descrições dessas variáveis, consulte a seção Práticas recomendadas.

  3. No mesmo diretório, abra o arquivo locals.tf e atualize os intervalos de CIDR das variáveis de grupo de segurança fsx_inress e fsx_egress.

  4. Se necessário, abra o arquivo variables.tf e atualize os valores padrão das seguintes variáveis:

    • storage_capacity

    • deployment_type

    • per_unit_storage_throughput

    Para obter descrições dessas variáveis, consulte a seção Práticas recomendadas.

AWS DevOps, DevOps engenheiro

Realize a inicialização do ambiente do Terraform.

Para inicializar o ambiente e executar o módulo do Terraform fsx_deployment, execute:

terraform init
AWS DevOps, DevOps engenheiro

Valide a sintaxe do Terraform.

Para verificar erros de sintaxe e confirmar que a configuração está correta, execute:

terraform validate
AWS DevOps, DevOps engenheiro

Valide a configuração do Terraform.

Para criar um plano de execução do Terraform e visualizar previamente a implantação, execute:

terraform plan -var-file terraform.tfvars
AWS DevOps, DevOps engenheiro

Realize a implantação do módulo do Terraform.

Para implantar os recursos do FSx for Lustre, execute:

terraform apply -var-file terraform.tfvars
AWS DevOps, DevOps engenheiro
TarefaDescriptionHabilidades necessárias

Remova AWS os recursos.

Depois de terminar de usar seu ambiente FSx for Lustre, você pode remover os AWS recursos implantados pelo Terraform para evitar cobranças desnecessárias. O módulo do Terraform fornecido no repositório de código automatiza essa limpeza.

  1. No seu repositório local, acesse o diretório fsx_deployment:

    cd fsx_deployment
  2. Execute o comando :

    terraform destroy -var-file terraform.tfvars
AWS DevOps, DevOps engenheiro

Solução de problemas

ProblemaSolução

FSx for Lustre retorna erros.

Para obter ajuda com FSx problemas do Lustre, consulte Solução de problemas do Amazon FSx for Lustre na documentação do FSx for Lustre.

Recursos relacionados