Déployez un système de fichiers Lustre pour un traitement des données performant à l'aide de Terraform et DRA - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déployez un système de fichiers Lustre pour un traitement des données performant à l'aide de Terraform et DRA

Créée par Arun Bagal (AWS) et Ishwar Chauthaiwale (AWS)

Récapitulatif

Ce modèle déploie automatiquement un système de fichiers Lustre AWS et l'intègre à Amazon Elastic Compute Cloud (Amazon EC2) et Amazon Simple Storage Service (Amazon S3).

Cette solution vous permet de configurer rapidement un environnement de calcul haute performance (HPC) avec stockage intégré, ressources de calcul et accès aux données Amazon S3. Il combine les capacités de stockage de Lustre aux options de calcul flexibles proposées par Amazon EC2 et au stockage d'objets évolutif d'Amazon S3, afin que vous puissiez gérer les charges de travail gourmandes en données dans les domaines de l'apprentissage automatique, du HPC et de l'analyse des mégadonnées.

Le modèle utilise un module HashiCorp Terraform et Amazon FSx for Lustre pour rationaliser le processus suivant :

  • Approvisionnement d'un système de fichiers Lustre

  • Établissement d'une association de référentiel de données (DRA) entre FSx for Lustre et un compartiment S3 afin de relier le système de fichiers Lustre aux objets Amazon S3

  • Création d'une EC2 instance

  • Montage du système de fichiers Lustre avec le DRA lié à Amazon S3 sur l'instance EC2

Les avantages de cette solution incluent :

  • Conception modulaire. Vous pouvez facilement gérer et mettre à jour les différents composants de cette solution.

  • Scalabilité. Vous pouvez rapidement déployer des environnements cohérents entre Comptes AWS nos régions.

  • Flexibilité. Vous pouvez personnaliser le déploiement en fonction de vos besoins spécifiques.

  • Les meilleures pratiques. Ce modèle utilise des modules préconfigurés qui suivent les AWS meilleures pratiques.

Pour plus d'informations sur les systèmes de fichiers Lustre, consultez le site Web de Lustre.

Conditions préalables et limitations

Prérequis

  • Un actif Compte AWS

  • Une politique de moindre privilège AWS Identity and Access Management (IAM) (voir les instructions)

Limites

FSx for Lustre limite le système de fichiers Lustre à une seule zone de disponibilité, ce qui peut poser problème si vous avez des exigences de haute disponibilité. En cas de défaillance de la zone de disponibilité contenant le système de fichiers, l'accès au système de fichiers est perdu jusqu'à la restauration. Pour atteindre une haute disponibilité, vous pouvez utiliser DRA pour relier le système de fichiers Lustre à Amazon S3 et transférer des données entre les zones de disponibilité.

Versions du produit

Architecture

Le schéma suivant montre l'architecture FSx de Lustre et la complémentarité Services AWS de AWS Cloud.

FSx pour le déploiement de Lustre avec AWS KMS EC2, Amazon, Amazon CloudWatch Logs et Amazon S3.

L'architecture inclut les éléments suivants :

  • Un compartiment S3 est utilisé comme emplacement de stockage durable, évolutif et rentable pour les données. L'intégration entre FSx for Lustre et Amazon S3 fournit un système de fichiers performant qui est parfaitement lié à Amazon S3.

  • FSx for Lustre exécute et gère le système de fichiers Lustre.

  • Amazon CloudWatch Logs collecte et surveille les données des journaux à partir du système de fichiers. Ces journaux fournissent des informations sur les performances, l'état et l'activité de votre système de fichiers Lustre.

  • Amazon EC2 est utilisé pour accéder aux systèmes de fichiers Lustre à l'aide du client Lustre open source. EC2 les instances peuvent accéder aux systèmes de fichiers depuis d'autres zones de disponibilité au sein du même cloud privé virtuel (VPC). La configuration réseau permet l'accès à travers les sous-réseaux du VPC. Une fois le système de fichiers Lustre monté sur l'instance, vous pouvez utiliser ses fichiers et ses répertoires comme vous le feriez avec un système de fichiers local.

  • AWS Key Management Service (AWS KMS) améliore la sécurité du système de fichiers en cryptant les données au repos.

Automatisation et évolutivité

Terraform facilite le déploiement, la gestion et le dimensionnement de vos systèmes de fichiers Lustre dans plusieurs environnements. Dans FSx Lustre, la taille d'un seul système de fichiers étant limitée, vous devrez peut-être effectuer une mise à l'échelle horizontale en créant plusieurs systèmes de fichiers. Vous pouvez utiliser Terraform pour provisionner plusieurs systèmes de fichiers Lustre en fonction de vos besoins en matière de charge de travail.

Outils

Services AWS

  • Amazon CloudWatch Logs vous aide à centraliser les journaux de tous vos systèmes et applications, Services AWS afin que vous puissiez les surveiller et les archiver en toute sécurité.

  • Amazon Elastic Compute Cloud (Amazon EC2) fournit une capacité de calcul évolutive dans le AWS Cloud. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.

  • Amazon FSx for Lustre permet de lancer, d'exécuter et de faire évoluer facilement et à moindre coût un système de fichiers Lustre à hautes performances.

  • AWS Key Management Service (AWS KMS) vous aide à créer et à contrôler des clés cryptographiques afin de protéger vos données.

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.

Référentiel de code

Le code de ce modèle est disponible dans le référentiel Provision FSx for GitHub Lustre à l'aide de Terraform.

Bonnes pratiques

  • Les variables suivantes définissent le système de fichiers Lustre. Assurez-vous de les configurer correctement en fonction de votre environnement, comme indiqué dans la section Epics.

    • storage_capacity— La capacité de stockage du système de fichiers Lustre, en GiBs. Le paramètre minimum et par défaut est de 1200 GiB.

    • deployment_type— Type de déploiement du système de fichiers Lustre. Pour une explication des deux options, PERSISTENT_1 et PERSISTENT_2 (par défaut), consultez la documentation de FSx for Lustre.

    • per_unit_storage_throughput— Le débit de lecture et d'écriture, en secondes MBs par TiB.  

    • subnet_id— L'ID du sous-réseau privé dans lequel vous souhaitez déployer FSx Lustre.

    • vpc_id— L'ID de votre cloud privé virtuel sur AWS lequel vous souhaitez déployer FSx Lustre.

    • data_repository_path— Le chemin d'accès au compartiment S3 qui sera lié au système de fichiers Lustre.

    • iam_instance_profile— Le profil d'instance IAM à utiliser pour lancer l' EC2 instance.

    • kms_key_id— Le nom de ressource Amazon (ARN) de la AWS KMS clé qui sera utilisée pour le chiffrement des données.

  • Garantissez un accès réseau et un positionnement appropriés au sein du VPC en utilisant les variables security_group etvpc_id.

  • Exécutez la terraform plan commande comme décrit dans la section Epics pour prévisualiser et vérifier les modifications avant de les appliquer. Cela permet de détecter les problèmes potentiels et de vous assurer que vous êtes au courant de ce qui sera déployé.

  • Utilisez la terraform validate commande décrite dans la section Epics pour vérifier les erreurs de syntaxe et vérifier que votre configuration est correcte.

Épopées

TâcheDescriptionCompétences requises

Installez Terraform.

Pour installer Terraform sur votre machine locale, suivez les instructions de la documentation Terraform.

AWS DevOps, DevOps ingénieur

Configurez les AWS informations d'identification.

Pour configurer le profil AWS Command Line Interface (AWS CLI) du compte, suivez les instructions de la AWS documentation.

AWS DevOps, DevOps ingénieur

Clonez le GitHub dépôt.

Pour cloner le GitHub dépôt, exécutez la commande suivante :

git clone https://github.com/aws-samples/provision-fsx-lustre-with-terraform.git
AWS DevOps, DevOps ingénieur
TâcheDescriptionCompétences requises

Mettez à jour la configuration de déploiement.

  1. Dans le référentiel cloné de votre machine locale, accédez au fsx_deployment répertoire :

    cd fsx_deployment
  2. Ouvrez le terraform.tfvars fichier et mettez à jour les valeurs des variables suivantes :

    • vpc_id

    • subnet_id

    • data_repository_path

    • iam_instance_profile

    • kms_key_id

    Pour une description de ces variables, consultez la section Bonnes pratiques.

  3. Dans le même répertoire, ouvrez le locals.tf fichier et mettez à jour les plages CIDR pour les variables du groupe fsx_egress de sécurité fsx_inress et.

  4. Si nécessaire, ouvrez le variables.tf fichier et mettez à jour les valeurs par défaut de ces variables :

    • storage_capacity

    • deployment_type

    • per_unit_storage_throughput

    Pour une description de ces variables, consultez la section Bonnes pratiques.

AWS DevOps, DevOps ingénieur

Initialisez l'environnement Terraform.

Pour initialiser votre environnement afin d'exécuter le fsx_deployment module Terraform, exécutez :

terraform init
AWS DevOps, DevOps ingénieur

Validez la syntaxe Terraform.

Pour vérifier les erreurs de syntaxe et vérifier que votre configuration est correcte, exécutez :

terraform validate
AWS DevOps, DevOps ingénieur

Validez la configuration Terraform.

Pour créer un plan d'exécution Terraform et prévisualiser le déploiement, exécutez :

terraform plan -var-file terraform.tfvars
AWS DevOps, DevOps ingénieur

Déployez le module Terraform.

Pour déployer les ressources FSx for Lustre, exécutez :

terraform apply -var-file terraform.tfvars
AWS DevOps, DevOps ingénieur
TâcheDescriptionCompétences requises

Supprimez AWS des ressources.

Une fois que vous avez fini d'utiliser votre environnement FSx for Lustre, vous pouvez supprimer les AWS ressources déployées par Terraform pour éviter d'encourir des frais inutiles. Le module Terraform fourni dans le référentiel de code automatise ce nettoyage.

  1. Dans votre dépôt local, accédez au fsx_deployment répertoire :

    cd fsx_deployment
  2. Exécutez la commande  :

    terraform destroy -var-file terraform.tfvars
AWS DevOps, DevOps ingénieur

Résolution des problèmes

ProblèmeSolution

FSx pour Lustre renvoie des erreurs.

Pour obtenir de l'aide concernant FSx les problèmes liés à Lustre, consultez la section Résolution des problèmes liés à Amazon FSx for Lustre dans la FSx documentation relative à Lustre.

Ressources connexes