Présentation de 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.

Présentation de Amazon Elastic Container Service?

Amazon Elastic Container Service (Amazon ECS) est un service de gestion de conteneurs rapide et hautement évolutif qui permet d'exécuter, d'arrêter et de gérer facilement des conteneurs sur un cluster. Vos conteneurs sont définis dans une définition de tâche que vous utilisez pour exécuter des tâches individuelles ou des tâches au sein d'un service. Dans ce contexte, un service est une configuration qui vous permet d'exécuter et de gérer simultanément un certain nombre de tâches dans un cluster. Vous pouvez exécuter vos tâches et services sur une infrastructure sans serveur gérée par AWS Fargate. Sinon, pour plus de contrôle sur votre infrastructure, vous pouvez exécuter vos tâches et services sur un cluster d'instances Amazon EC2 que vous gérez.

Amazon ECS vous permet de lancer et d'arrêter vos applications basées sur un conteneur à l'aide d'appels d'API simples. Vous pouvez également récupérer l'état de votre cluster à partir d'un service centralisé et avoir accès à de nombreuses fonctionnalités Amazon EC2 déjà connues.

Vous pouvez planifier le placement de vos conteneurs sur votre cluster en fonction de vos besoins en ressources, stratégies d'isolement et exigences en termes de disponibilité. Avec Amazon ECS, vous n'avez pas besoin d'exploiter vos propres systèmes de gestion de cluster et de configuration, ni de vous soucier de dimensionner votre infrastructure de gestion.

peut être utilisé pour créer une expérience cohérente de génération et de déploiement, pour gérer et dimensionner les charges de travail par lots et les charges de travail ETL (Extract-Transform-Load) et pour créer des architectures d'application sophistiquées sur un modèle de microservices.Amazon ECS Pour de plus amples informations sur les cas d'utilisation et les scénarios Amazon ECS, veuillez consulter Cas d'utilisation des conteneurs.

L'équipe des services de conteneurs AWS maintient une feuille de route publique sur GitHub. La feuille de route contient des informations sur les activités des équipes et permet aux clients AWS de fournir des commentaires directs. Pour de plus amples informations, consultez la Feuille de route des conteneurs AWS.

Fonctionnalités d'Amazon ECS

Amazon ECS est un service régional qui simplifie l'exécution des conteneurs de manière hautement disponible sur plusieurs zones de disponibilité au sein d'une région. Vous pouvez créer des clusters Amazon ECS au sein d'un nouveau VPC ou d'un VPC existant. Une fois qu'un cluster est opérationnel, vous pouvez créer des définitions de tâches qui définissent les images de conteneur qui s'exécutent sur vos clusters. Vos définitions de tâches sont utilisées pour exécuter des tâches ou créer des services. Les images de conteneur sont stockées dans et extraites de registres de conteneur, par exemple, le Amazon Elastic Container Registry.

Le schéma suivant illustre l'architecture d'un environnement Amazon ECS exécuté sur AWS Fargate.


                Diagramme illustrant l'architecture d'un environnement Amazon ECS utilisant le type de lancement Fargate.

Les sections suivantes explorent plus en détail ces éléments individuels de l'architecture Amazon ECS

Conteneurs et images

Pour déployer des applications sur Amazon ECS, les composants de votre application doivent être conçus pour s'exécuter dans des conteneurs. Un conteneur est une unité normalisée de développement logiciel qui contient tout ce dont votre application logicielle a besoin pour s'exécuter, y compris le code pertinent, l'exécution, les outils système et les bibliothèques système. Les conteneurs sont créés à partir d'un modèle en lecture seule appelé image.

Les images sont généralement générées à partir d'un Dockerfile, qui est un fichier en texte brut spécifiant tous les composants qui sont inclus dans le conteneur. Une fois créées, ces images sont stockées dans un registre où elles peuvent ensuite être téléchargées et exécutées sur votre cluster. Pour plus d'informations sur la technologie de conteneur, consultez Principes de base de Docker pour Amazon ECS.


                    Diagramme illustrant la création et l'enregistrement de l'image Docker au sein d'un environnement Amazon ECS.

Définitions de tâche

Pour préparer votre application à s'exécuter sur Amazon ECS, vous devez créer une définition de tâche. La définition de tâche est un fichier texte (au format JSON) qui décrit un ou plusieurs conteneurs (jusqu'à un maximum de dix) formant votre application. La définition de tâche peut être considérée comme un plan pour votre application. Elle spécifie différents paramètres pour votre application. Par exemple, ces paramètres peuvent être utilisés pour indiquer quels conteneurs doivent être utilisés, quels ports doivent être ouverts pour votre application et quels volumes de données doivent être utilisés avec les conteneurs de 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. Pour plus d'informations sur la création de définitions de tâches, consultez Amazon ECSDéfinition des tâches .

Voici un exemple de définition de tâche qui spécifie l'utilisation de Fargate pour lancer un seul conteneur exécutant un serveur web NGINX. Pour obtenir un exemple plus complet illustrant l'utilisation de plusieurs conteneurs dans une définition de tâche, consultez Exemples de définitions de tâches.

{ "family": "webserver", "containerDefinitions": [ { "name": "web", "image": "nginx", "memory": "100", "cpu": "99" }, ], "requiresCompatibilities": [ "FARGATE" ], "networkMode": "awsvpc", "memory": "512", "cpu": "256", }

Tâches et planification

Une tâche est l'instanciation d'une définition de tâche au sein d'un cluster. Une fois que vous avez créé une définition de tâche pour votre application dans Amazon ECS, vous pouvez spécifier le nombre de tâches à exécuter sur votre cluster.

Le planificateur de tâches Amazon ECS est chargé de placer des tâches au sein du cluster. Il existe plusieurs options de planification différentes. Par exemple, vous pouvez définir un service qui exécute et gère un nombre spécifié de tâches simultanément. Pour plus d'informations sur les différentes options de planification, consultez Amazon ECS Tâches de planification.


                    Diagramme illustrant la planification et le placement des tâches au sein d'un environnement Amazon ECS avec le type de lancement Fargate.

Clusters

Un Amazon ECScluster est un regroupement logique de tâches ou de services. Vous pouvez enregistrer une ou plusieurs instances Amazon EC2 (également appelées instances de conteneur) auprès de votre cluster pour y exécuter des tâches. Vous pouvez également utiliser l'infrastructure sans serveur fournie par Fargate pour exécuter des tâches. Lorsque vos tâches sont exécutées sur Fargate, vos ressources de cluster sont également gérées par Fargate.

Lorsque vous utilisez Amazon ECS pour la première fois, un cluster par défaut est créé pour vous. Vous pouvez créer des clusters supplémentaires dans un compte pour séparer vos ressources.

Pour de plus amples informations sur la création de clusters, veuillez consulter Amazon ECSClusters . Pour plus d'informations sur le lancement d'instances de conteneur et leur enregistrement auprès de vos clusters, consultez Amazon ECSInstances de conteneur .

Agent de conteneur

L'agent de conteneur s'exécute sur chaque instance de conteneur d'un cluster Amazon ECS. L'agent envoie des informations sur les tâches en cours d'exécution et l'utilisation des ressources de la ressource à Amazon ECS. Elle démarre et arrête les tâches chaque fois qu'elle reçoit une demande d'Amazon ECS. Pour plus d'informations, consultez Amazon ECS agent de conteneur.


                    Diagramme illustrant les tâches de l'agent de conteneur au sein d'un environnement Amazon ECS.

Mise en route avec Amazon ECS

Pour en savoir plus sur les outils de développement disponibles pour utiliser Amazon ECS, consultez Présentation des outils pour développeursAmazon ECS.

Si vous utilisez Amazon ECS pour la première fois, l'AWS Management Console pour Amazon ECS fournit un assistant de première exécution qui vous guide pour définir une définition de tâche pour un serveur web, configurer un service et lancer votre première tâche Fargate Nous vous recommandons vivement d'utiliser l'assistant spécifique à la première exécution si vous avez peu ou pas d'expérience préalable dans l'utilisation d'Amazon ECS. Pour plus d'informations, consultez le didacticiel Démarrez avec Amazon ECS avec Fargate

Sinon, vous pouvez installer l'AWS Command Line Interface (AWS CLI) pour utiliser Amazon ECS. Pour plus d'informations, consultez Configuration avec Amazon ECS.

Amazon ECS peut être utilisé avec les services AWS suivants :

AWS Identity and Access Management

IAM (Identity and Access Management) est un service de gestion des accès qui vous permet de contrôler en toute sécurité l'accès aux ressources AWS. Vous pouvez utiliser IAM pour contrôler les personnes authentifiées (connectées) et autorisées (disposant des autorisations) à afficher ou effectuer des actions spécifiques sur les ressources. Dans Amazon ECS, vous pouvez utiliser IAM pour contrôler l'accès au niveau de l'instance de conteneur à l'aide de rôles IAM et au niveau de la tâche à l'aide de rôles de tâche IAM. Pour plus d'informations, consultez Gestion des identités et des accès pour Amazon Elastic Container Service.

Amazon EC2 Auto Scaling

Auto Scaling est un service qui vous permet d'augmenter automatiquement la taille de vos tâches en fonction des stratégies définies par l'utilisateur, des vérifications de l'état et des planifications. Vous pouvez utiliser Auto Scaling avec une tâche Fargate au sein d'un service pour mettre à l'échelle la réponse à un certain nombre de métriques ou avec une tâche EC2 pour mettre à l'échelle les instances de conteneur dans votre cluster. Pour plus d'informations, consultez Service Auto Scaling.

Elastic Load Balancing

Le service Elastic Load Balancing répartit automatiquement le trafic applicatif entrant sur les tâches de votre service Amazon ECS. Il vous permet d'obtenir de plus hauts niveaux de tolérance aux pannes dans vos applications, en fournissant en toute transparence les capacités requises d'équilibrage de charge pour répartir le trafic applicatif. Vous pouvez utiliser Elastic Load Balancing pour créer un point de terminaison qui équilibre le trafic entre les services d'un cluster. Pour plus d'informations, consultez Equilibrage de charge des services.

Amazon Elastic Container Registry

Amazon ECR est un service d'enregistrement Docker AWS géré sûr, scalable et fiable. Amazon ECR prend en charge les référentiels privés Docker avec des autorisations basées sur les ressources à l'aide d'IAM afin que des utilisateurs ou des tâches spécifiques puissent accéder aux référentiels et aux images. Les développeurs peuvent utiliser l'interface de ligne de commande Docker pour transférer, récupérer et gérer des images. Pour de plus amples informations, veuillez consulter Amazon Elastic Container Registry Guide de l'utilisateur.

AWS CloudFormation

Avec AWS CloudFormation, les développeurs et les administrateurs système peuvent facilement créer et gérer un ensemble de ressources AWS associées. Plus spécifiquement, cela rend la mise en service des ressources et la mise à jour plus ordonnée et prévisible. Vous pouvez définir des clusters, des définitions de tâches et des services en tant qu'entités dans un script AWS CloudFormation Pour plus d'informations, consultez la Référence sur les modèles AWS CloudFormation.

Pricing

La tarification d'Amazon ECS varie selon que vous utilisez l'infrastructure AWS Fargate ou Amazon EC2 pour héberger vos charges de travail conteneurisées. Lorsque vous utilisez Amazon ECS sur AWS Outposts, la tarification suit le même modèle que lorsque vous utilisez Amazon EC2. Pour plus d'informations, consultez Tarification Amazon ECS.

et Amazon ECS offrent également des Fargate qui offrent des économies importantes en fonction de votre utilisation d'Savings Plans.AWS Pour de plus amples informations, veuillez consulter le Guide de l'utilisateur Savings Plans.

Pour consulter votre facture, accédez au Tableau de bord Gestion de la facturation et des coûts dans la console AWS Billing and Cost Management. Votre facture contient des liens vers les rapports d'utilisation qui fournissent des détails supplémentaires sur votre facture. Pour en savoir plus sur la facturation du compte AWS, consultez Facturation du compte AWS.

Pour toute question relative à la facturation, aux comptes et aux événements AWS, contactez AWS Support.

Pour une vue d'ensemble de Trusted Advisor, service qui vous aide à optimiser les coûts, la sécurité et les performances de votre environnement AWS, consultez AWS Trusted Advisor.