Qu'est-ce qu'Amazon Elastic Container Service ? - Amazon Elastic Container Service

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.

Qu'est-ce qu'Amazon Elastic Container Service ?

Amazon Elastic Container Service (AmazonECS) est un service d'orchestration de conteneurs entièrement géré qui vous permet de déployer, de gérer et de mettre à l'échelle aisément des applications conteneurisées. En tant que service entièrement géré, Amazon ECS est accompagné des bonnes pratiques de AWS configuration et d'exploitation intégrées. Il est intégré à la fois à AWS et à des outils tiers, tels qu'Amazon Elastic Container Registry et Docker. Cette intégration permet aux équipes de se concentrer plus facilement sur la création des applications, et non sur l'environnement. Vous pouvez exécuter et mettre à l'échelle vos charges de travail de conteneurs entre Régions AWS dans le cloud et sur site, sans avoir à gérer un plan de contrôle.

ECSTerminologie et composants Amazon

Amazon comporte trois couches ECS :

  • Capacité : l'infrastructure dans laquelle vos conteneurs sont exécutés

  • Contrôleur : déploiement et gestion de vos applications qui s'exécutent sur les conteneurs

  • Provisionnement : les outils que vous pouvez utiliser pour interagir avec le planificateur afin de déployer et de gérer vos applications et vos conteneurs

Le schéma suivant illustre les ECS couches Amazon.

Schéma illustrant les couches de capacité, de contrôleur et de provisionnement.

ECSCapacité d'Amazon

Amazon ECS Capacity est l'infrastructure sur laquelle vos conteneurs s'exécutent. Voici un aperçu des options de capacité :

  • EC2Instances Amazon dans le AWS cloud

    Vous choisissez le type d'instance, le nombre d'instances et vous gérez la capacité.

  • Sans serveur (AWS Fargate) dans le cloud AWS

    Fargate est un moteur de calcul sans serveur pay-as-you-go. Avec Fargate, vous n'avez pas besoin de gérer les serveurs, de gérer la planification de la capacité ou d'isoler les charges de travail des conteneurs pour des raisons de sécurité.

  • Machines virtuelles (VM) ou serveurs sur site

    Amazon ECS Anywhere prend en charge l'enregistrement d'une instance externe telle qu'un serveur local ou une machine virtuelle (VM), sur votre ECS cluster Amazon.

La capacité du cluster peut être localisée dans l'une des AWS ressources suivantes :

  • Zones de disponibilité

  • Local Zones

  • Zones Wavelength

  • Régions AWS

  • AWS Outposts

ECSContrôleur Amazon

Le ECS planificateur Amazon est le logiciel qui gère vos applications.

ECSProvisionnement d'Amazon

Il existe plusieurs options pour le provisionnement d'Amazon ECS :

  • AWS Management Console— Offre une interface web que vous pouvez utiliser pour accéder à vos ECS ressources Amazon.

  • AWS Command Line Interface (AWS CLI) — Fournit des commandes pour un large éventail de AWS services, dont AmazonECS. Elle est prise en charge sur Windows, Mac et Linux. Pour de plus amples informations, veuillez consulter AWS Command Line Interface.

  • AWS SDKs— Fournit des informations propres à la langue APIs et se chargent de nombreux détails de connexion. Ces outils incluent le calcul des signatures, la gestion des nouvelles tentatives de demande et la gestion des erreurs. Pour de plus amples informations, veuillez consulter AWS SDKs.

  • Copilot : fournit un outil open source permettant aux développeurs de créer, de publier et d'exploiter des applications conteneurisées prêtes à la production sur Amazon. ECS Pour plus d'informations, consultez la page Copilot sur le GitHub site web.

  • AWS CDK— Fournit un cadre de développement logiciel open source que vous pouvez utiliser pour modéliser et allouer vos ressources d'applications cloud à l'aide de langages de programmation familiers. Le AWS CDK alloue vos ressources de manière sûre et répétable grâce à AWS CloudFormation.

Cycle de vie des applications

Le schéma suivant montre le cycle de vie de l'application et son fonctionnement avec les ECS composants Amazon.

Schéma illustrant les couches de capacité, de contrôleur et de provisionnement.

Vous devez concevoir vos applications de manière à ce qu'elles puissent s'exécuter sur des conteneurs. Un conteneur est une unité standardisée de développement logiciel qui contient tout ce dont votre application logicielle a besoin pour être exécutée. Cela inclut le code, l'exécution, les outils système et les bibliothèques système pertinents. Les conteneurs sont créés à partir d'un modèle en lecture seule appelé image. Les images sont généralement créées à partir d'un fichier Dockerfile. Un fichier Dockerfile est un fichier en texte brut qui contient les instructions pour la création d'un conteneur. Après leur création, ces images sont stockées dans un registre, comme Amazon, d'ECRoù elles peuvent être téléchargées.

Après avoir créé et stocké votre image, vous créez une définition de ECS tâche Amazon. Une définition de tâche est le plan de votre application. Il s'agit d'un fichier texte au JSON format qui décrit les paramètres et un ou plusieurs conteneurs qui forment votre application. Par exemple, vous pouvez l'utiliser pour spécifier l'image et les paramètres du système d'exploitation, les conteneurs à utiliser, les ports à ouvrir pour votre application et les volumes de données à utiliser avec les conteneurs dans la tâche. Les paramètres spécifiques disponibles pour votre définition de tâche dépendent des besoins de votre application spécifique.

Après avoir défini votre définition de tâche, vous la déployez sous forme de service ou de tâche sur votre cluster. Un cluster est un regroupement logique de tâches ou de services qui s'exécute sur l'infrastructure de capacité enregistrée dans un cluster.

Une tâche est l'instanciation d'une définition de tâche au sein d'un cluster. Vous pouvez exécuter une tâche autonome ou exécuter une tâche dans le cadre d'un service. Vous pouvez utiliser un ECS service Amazon service pour exécuter et gérer simultanément le nombre souhaité de tâches dans un ECS cluster Amazon. Le principe est le suivant : si l'une de vos tâches échoue ou s'arrête pour une raison quelconque, le planificateur de service d'Amazon ECS service lance une autre instance en fonction de votre définition de tâche. Il procède ainsi pour le remplacer et donc maintenir le nombre de tâches souhaité dans le service.

L'agent de conteneur s'exécute sur chaque instance de conteneur dans un ECS cluster Amazon. Il envoie à Amazon des informations relatives aux tâches en cours d'exécution et à l'utilisation des ressources de vos conteneursECS. Il démarre et arrête les tâches lorsqu'il reçoit une requête de la part d'AmazonECS.

Une fois la tâche ou le service déployés, vous pouvez utiliser l'un des outils suivants pour surveiller votre déploiement et votre application :

  • CloudWatch

  • Surveillance d'exécution