Créez une définition de ECS tâche Amazon et montez un système de fichiers sur des EC2 instances à l'aide d'Amazon EFS - 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.

Créez une définition de ECS tâche Amazon et montez un système de fichiers sur des EC2 instances à l'aide d'Amazon EFS

Créée par Durga Prasad Cheepuri () AWS

Environnement : PoC ou pilote

Technologies : conteneurs et microservices CloudNative ; gestion et gouvernance ; stockage et sauvegarde ; applications Web et mobiles

AWSservices : Amazon ECS ; Amazon EFS

Récapitulatif

Ce modèle fournit des exemples de code et des étapes pour créer une définition de tâche Amazon Elastic Container Service (AmazonECS) qui s'exécute sur des instances Amazon Elastic Compute Cloud (AmazonEC2) dans le cloud Amazon Web Services (AWS), tout en utilisant Amazon Elastic File System (AmazonEFS) pour monter un système de fichiers sur ces EC2 instances. Les ECS tâches Amazon qui utilisent Amazon montent EFS automatiquement les systèmes de fichiers que vous spécifiez dans la définition de la tâche et mettent ces systèmes de fichiers à la disposition des conteneurs de la tâche dans toutes les zones de disponibilité d'une AWS région.

Pour répondre à vos exigences en matière de stockage permanent et de stockage partagé, vous pouvez utiliser Amazon ECS et Amazon EFS ensemble. Par exemple, vous pouvez utiliser Amazon EFS pour stocker des données utilisateur persistantes et des données d'application pour vos applications avec des paires de ECS conteneurs actifs et de secours exécutées dans différentes zones de disponibilité pour une haute disponibilité. Vous pouvez également utiliser Amazon EFS pour stocker des données partagées auxquelles les ECS conteneurs et les charges de travail distribuées peuvent accéder en parallèle.

Pour utiliser Amazon EFS avec AmazonECS, vous pouvez ajouter une ou plusieurs définitions de volume à une définition de tâche. Une définition de volume inclut un identifiant de système de EFS fichiers Amazon, un identifiant de point d'accès et une configuration pour AWS l'autorisation Identity and Access Management (IAM) ou le chiffrement Transport Layer Security (TLS) en transit. Vous pouvez utiliser les définitions de conteneur dans les définitions de tâches pour spécifier les volumes de définition de tâches qui sont montés lors de l'exécution du conteneur. Lorsqu'une tâche utilisant un système de EFS fichiers Amazon est exécutée, Amazon s'ECSassure que le système de fichiers est monté et disponible pour les conteneurs qui ont besoin d'y accéder.

Conditions préalables et limitations

Prérequis

Limites

  • Les versions de l'agent de ECS conteneur Amazon antérieures à la version 1.35.0 ne prennent pas en charge les systèmes de EFS fichiers Amazon pour les tâches utilisant le type de EC2 lancement.

Architecture

Le schéma suivant montre un exemple d'application qui utilise Amazon ECS pour créer une définition de tâche et monter un système de EFS fichiers Amazon sur des EC2 instances dans ECS des conteneurs.

AWS Cloud architecture showing ECS task definition, ECS service, and EFS file system interaction.

Le schéma suivant illustre le flux de travail suivant :

  1. Créez un système de EFS fichiers Amazon.

  2. Créez une définition de tâche avec un conteneur.

  3. Configurez les instances de conteneur pour monter le système de EFS fichiers Amazon. La définition de tâche fait référence aux montages de volumes, afin que l'instance de conteneur puisse utiliser le système de EFS fichiers Amazon. ECSles tâches ont accès au même système de EFS fichiers Amazon, quelle que soit l'instance de conteneur sur laquelle elles ont été créées.

  4. Créez un ECS service Amazon avec trois instances de la définition de tâche.

Pile technologique

  • Amazon EC2

  • Amazon ECS

  • Amazon EFS

Outils

  • Amazon EC2 — Amazon Elastic Compute Cloud (AmazonEC2) fournit une capacité de calcul évolutive dans le AWS cloud. Vous pouvez utiliser Amazon EC2 pour lancer autant ou aussi peu de serveurs virtuels que vous le souhaitez, et vous pouvez les étendre ou les intégrer.

  • Amazon ECS — Amazon Elastic Container Service (AmazonECS) est un service de gestion de conteneurs rapide et hautement évolutif permettant d'exécuter, d'arrêter et de gérer des conteneurs sur un cluster. Vous pouvez exécuter vos tâches et services sur une infrastructure sans serveur gérée par AWS Fargate. Pour mieux contrôler votre infrastructure, vous pouvez également exécuter vos tâches et services sur un cluster d'EC2instances que vous gérez.

  • Amazon EFS — Amazon Elastic File System (AmazonEFS) fournit un système de NFS fichiers élastique simple, évolutif et entièrement géré à utiliser avec les services AWS cloud et les ressources sur site.

  • AWSCLI— L'interface de ligne de AWS commande (AWSCLI) est un outil open source permettant d'interagir avec les AWS services par le biais de commandes dans votre shell de ligne de commande. Avec une configuration minimale, vous pouvez exécuter des AWS CLI commandes qui implémentent des fonctionnalités équivalentes à celles fournies par la console de AWS gestion basée sur un navigateur à partir d'une invite de commande.

Épopées

TâcheDescriptionCompétences requises
Créez un système de EFS fichiers Amazon à l'aide de la console AWS de gestion.
  1. Créez un système de EFS fichiers Amazon et choisissez celui VPC qui inclut vos conteneurs. Remarque : Si vous en utilisez une autreVPC, configurez une connexion d'VPCappairage.

  2. Notez l'ID du système de fichiers.

AWS DevOps
TâcheDescriptionCompétences requises
Créez une définition de tâche à l'aide d'un système de EFS fichiers Amazon.

Créez une définition de tâche à l'aide de la nouvelle ECS console Amazon ou de la ECSconsole Amazon classique avec les configurations suivantes :

  • Si vous utilisez la nouvelle console, choisissez les EC2instances Amazon pour l'environnement d'applications. Si vous utilisez la console classique, choisissez EC2le type de lancement.

  • Ajoutez un volume. Entrez le nom du volume, choisissez le type EFSde volume, puis choisissez l'ID du système de fichiers que vous avez noté précédemment. Pour le répertoire racine, choisissez le chemin du système de EFS fichiers Amazon que vous souhaitez héberger sur l'hôte du ECS conteneur Amazon.

AWS DevOps
Créez une définition de tâche à l'aide du AWSCLI.
  1. Pour créer un JSON modèle avec des espaces réservés aux paramètres d'entrée pour la définition de votre tâche, exécutez la commande suivante :

    aws ecs register-task-definition --generate-cli-skeleton
  2. Pour créer la définition de tâche avec le JSON modèle, exécutez la commande suivante :

    aws ecs register-task-definition --cli-input-json file://<path_to_your_json_file>
  3. Entrez les paramètres d'entrée dans votre JSON modèle en fonction du task_definition_parameters.json fichier (joint). Remarque : pour plus d'informations sur les paramètres d'entrée, consultez les paramètres de définition des tâches (ECSdocumentation Amazon) et register-task-definition(AWSCLICommand Reference).

AWS DevOps

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip