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

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

Amazon Elastic Container Service (Amazon ECS) est un service de gestion de conteneurs rapide et hautement évolutif. Vous pouvez l'utiliser pour exécuter, arrêter et gérer des conteneurs sur un cluster. Avec Amazon ECS, vos conteneurs sont définis dans une définition de tâche qui vous sert à exécuter une tâche individuelle ou une tâche dans un service. Dans ce contexte, un service est une configuration qui vous pouvez utiliser pour exécuter et gérer simultanément un nombre spécifié 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 mieux contrôler votre infrastructure, vous pouvez exécuter vos tâches et services sur un cluster d'instances Amazon EC2 que vous gérez.

Amazon ECS offre les fonctions suivantes :

  • Une option sans serveur avec AWS Fargate. Avec AWS 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é. Fargate gère pour vous les aspects de gestion de l'infrastructure de votre charge de travail. Vous pouvez planifier le placement de vos conteneurs sur votre cluster en fonction de vos besoins en ressources, de vos stratégies d'isolement et de vos exigences en termes de disponibilité.

  • Intégration avec AWS Identity and Access Management (IAM). Vous pouvez attribuer des autorisations granulaires à chacun de vos conteneurs. Cela permet un haut niveau d'isolation lors de la création de vos applications. En d'autres termes, vous pouvez lancer vos conteneurs avec les niveaux de sécurité et de conformité auxquels vous vous attendez de la part d'AWS.

  • Orchestration de conteneurs gérée par AWS. En tant que service entièrement géré, Amazon ECS est accompagné des bonnes pratiques de configuration AWS et d'exploitation intégrées. Cela signifie également que vous n'avez pas besoin de gérer le plan de contrôle, les nœuds ou les modules complémentaires. Tout est intégré à Alexa Web Information Service 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.

  • Intégration et déploiement continus (CI/CD). Il s'agit d'un processus courant pour les architectures de microservices basées sur des conteneurs Docker. Vous pouvez créer un pipeline CI/CD qui met en œuvre les actions suivantes :

    • Surveille les modifications d'un référentiel de code source

    • Crée une image Docker à partir de cette source

    • Pousse l'image dans un référentiel d'images tel que Docker Hub ou Amazon ECR

    • Met à jour vos services Amazon ECS pour permettre l'utilisation de la nouvelle image dans votre application

  • La prise en charge de la découverte de service. Il s'agit d'un composant clé de la plupart des systèmes distribués et des architectures orientées service. Grâce à cette fonctionnalité, les composants de votre microservice sont découverts automatiquement au fur et à mesure de leur création et de leur résiliation sur une infrastructure donnée.

  • Une prise en charge de l'envoi des informations de journal de votre instance de conteneur à CloudWatch Logs. Après avoir envoyé ces informations à Amazon CloudWatch, vous pouvez afficher les journaux de vos instances de conteneur dans emplacement unique et pratique. Cela évite que vos journaux de conteneur n'occupent de l'espace disque sur vos instances de conteneur.

L'équipe des services de conteneurs AWS maintient une feuille de route publique sur GitHub. La feuille de route contient des informations sur les travaux des équipes et permet aux clients AWS de donner des commentaires directs. Pour plus d'informations, consultez AWSContainers Roadmap (Feuille de route des conteneurs) sur le site web GitHub.

Types de lancement

Il existe deux modèles que vous pouvez utiliser pour exécuter vos conteneurs :

  • Type de lancement Fargate : il s'agit d'une option de paiement à l'utilisation sans serveur. Vous pouvez exécuter des conteneurs sans avoir à gérer votre infrastructure.

  • Type de lancement EC2 : configurez et déployez des instances EC2 dans votre cluster pour exécuter vos conteneurs.

Le type de lancement Fargate convient aux charges de travail suivantes :

  • Les charges de travail volumineuses qui doivent être optimisées pour de faibles frais généraux

  • Les petites charges de travail qui présentent des hausses occasionnelles

  • Les charges de travail minimes

  • Les charges de travail par lot

Le type de lancement EC2 convient aux charges de travail suivantes :

  • Les charges de travail qui nécessitent une utilisation constante de cœur de processeur et de la mémoire

  • Les charges de travail volumineuses qui doivent être optimisées pour le prix

  • Vos applications doivent accéder au stockage permanent

  • Vous devez gérer directement votre infrastructure

Accéder à Amazon ECS

Vous pouvez créer vos ressources Amazon ECS, y accéder et les gérer à l'aide des interfaces suivantes :

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

  • AWS Command Line Interface (AWS CLI) — Fournit des commandes pour un vaste éventail de services AWS, dont Amazon ECS. Elle est prise en charge sur Windows, Mac et Linux. Pour plus d'informations, consultez AWS Command Line Interface.

  • Kits de développement (SDK) AWS — Fournit des API propres au langage 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 plus d'informations, consultez Kits SDK AWS.

  • AWS 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 AWS Copilot sur le site web GitHub.

  • CLI Amazon ECS — Fournit une interface de ligne de commande qui vous permet d'exécuter vos applications sur Amazon ECS et AWS Fargate au format de fichier Docker Compose. Vous pouvez rapidement allouer des ressources, importer et télécharger des images à l'aide d'Amazon Elastic Container Registry et surveiller les applications en cours d'exécution sur Amazon ECS ou Fargate. Vous pouvez également tester des conteneurs qui s'exécutent localement avec des conteneurs dans le cloud au sein de la CLI. Pour plus d'informations, consultez CLI Amazon ECS sur le site web GitHub.

  • 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. Pour plus d'informations, consultez Mise en route avec Amazon ECS à l'aide du AWS CDK.

Tarification

La tarification Amazon ECS varie selon que vous utilisez AWS Fargate ou l'infrastructure 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 directement Amazon EC2. Pour de plus amples informations, consultez Tarification Amazon ECS.

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

Pour consulter votre facture, accédez au Tableau de bord de gestion des coûts et de la facturation 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.

Trusted Advisor est un service que vous pouvez utiliser pour optimiser les coûts, la sécurité et les performances de votre environnement AWS. Pour plus d'informations sur Trusted Advisor, consultez AWS Trusted Advisor.