Amazon Elastic Container Service

Mise en route

Profitez pendant 12 mois du niveau d'utilisation gratuit d'AWS. Vous bénéficierez également du niveau de base d'AWS Support qui inclut un service client disponible 24h/24, 7j/7 et 365 jours par an, l'accès à des forums d'assistance et bien d'autres avantages.


Q : Qu'est-ce qu'Amazon Elastic Container Service ?
Amazon Elastic Container Service (ECS) est un service de gestion de conteneurs hautement évolutif et à hautes performances qui prend en charge les conteneurs Docker et vous permet d'exécuter facilement des applications sur un cluster géré d'instances Amazon EC2. Avec Amazon ECS, vous n'avez plus besoin d'installer, d'exploiter et d'adapter votre propre infrastructure de gestion de cluster. Grâce à de simples appels API, vous pouvez lancer et interrompre les applications activées par le conteneur, demander l'état complet de votre cluster et accéder à de nombreuses fonctionnalités courantes telles que les groupes de sécurité, Elastic Load Balancing, les volumes EBS et les rôles IAM. Vous pouvez utiliser Amazon ECS pour programmer le placement des conteneurs sur votre cluster en fonction de vos besoins en ressources et vos exigences en termes de disponibilité. Vous pouvez également intégrer votre propre programmeur ou des programmeurs tiers pour répondre aux besoins spécifiques de votre entreprise ou de votre application.

Q : Pourquoi devrais-je utiliser Amazon ECS ?
Amazon ECS permet d'utiliser facilement des conteneurs en tant que services modulaires pour vos applications et vous évite ainsi de devoir installer, exploiter et adapter votre propre infrastructure de gestion de cluster. Amazon ECS vous permet de programmer des applications de longue durée, des services et des traitements par lot via des conteneurs Docker. Amazon ECS assure la disponibilité des applications et vous permet de dimensionner vos conteneurs pour répondre aux besoins de capacité de votre application. Amazon ECS est intégré à des fonctionnalités courantes telles que Elastic Load Balancing, les volumes EBS, VPC et IAM. Des API simples vous permettent d'intégrer et d'utiliser vos propres programmeurs ou d'intégrer Amazon ECS à votre processus de diffusion de logiciel existant.

Q : Quelle est la tarification d'Amazon ECS ?
Amazon ECS est disponible sans frais supplémentaires. Vous payez les ressources AWS (par ex. les instances EC2 ou les volumes EBS) que vous créez pour stocker et exécuter votre application. Vous payez uniquement ce que vous utilisez et en fonction de votre consommation ; il n'y a pas de frais minimums et aucun engagement initial n'est requis.

Q : En quoi Amazon ECS diffère-t-il d'AWS Elastic Beanstalk ?
AWS Elastic Beanstalk est une plateforme de gestion d'applications qui permet aux clients de déployer et de dimensionner facilement des applications et des services Web. Elle assure la mise en service de modules (comme EC2, RDS, Elastic Load Balancing, Auto Scaling et CloudWatch), le déploiement d'applications et la surveillance de leur état. L'utilisateur n'a donc pas besoin de vérifier ces paramètres et peut se concentrer uniquement sur l'écriture du code. Il vous suffit de spécifier les images de conteneur qui doivent être déployées, les exigences en termes de processeur et de mémoire, les mappages de ports et les liens des conteneurs. Elastic Beanstalk gérera automatiquement tous les détails, notamment la mise en service d'un cluster Amazon ECS, l'équilibrage de charge, la mise à l'échelle automatique, la surveillance et le placement des conteneurs sur votre cluster.

Elastic Beanstalk est la solution idéale si vous souhaitez profiter des avantages des conteneurs en déployant très facilement des applications, du développement jusqu'à la production, via le chargement d'une image de conteneur. Vous pouvez travailler directement avec Amazon ECS si vous souhaitez contrôler avec précision des architectures d'applications personnalisées.

Q : En quoi Amazon ECS diffère-t-il d'AWS Lambda ?
Amazon Elastic Container Service est un service de gestion de conteneurs Docker hautement évolutif vous permettant d'exécuter et de gérer des applications distribuées, exécutées dans des conteneurs Docker. AWS Lambda est un service de calcul de tâche dicté par des événements qui exécute votre code en réponse à des « événements », tels que des modifications apportées aux données, des clics effectués sur des sites Web et des messages d'autres services AWS, sans que vous ayez à gérer une infrastructure de calcul.

 

 

 

Q : Comment puis-je commencer à utiliser Amazon ECS ?
Consultez notre page de Mise en route pour plus d'informations sur la manière de démarrer.

Q : Elastic Container Service prend-il en charge d'autres types de conteneurs ?
Non. Docker est la seule plateforme de conteneurs prise en charge par Elastic Container Service à l'heure actuelle.

Q : Je veux lancer des conteneurs. Pourquoi dois-je lancer des tâches ?
Docker vous encourage à scinder vos applications en composants individuels. Elastic Container Service est optimisé pour ce modèle. Les tâches vous permettent de définir un ensemble de conteneurs que vous souhaitez placer ensemble (ou intégrer à la même décision de placement), leurs propriétés, ainsi que la façon de les associer. Les tâches contiennent toutes les informations requises par Elastic Container Service pour prendre une décision relative au placement. Pour lancer un seul conteneur, votre définition de tâche ne doit contenir qu'une seule définition de conteneur.

Q : Amazon ECS prend-il en charge des applications et des services ?
Oui. Le programmeur Amazon ECS Service peut gérer des applications et des services de longue durée. Le programmeur de services vous permet d'assurer la disponibilité des applications et de dimensionner vos conteneurs pour répondre aux besoins de capacité de votre application. Le programmeur de services vous permet de répartir le trafic entre vos conteneurs via Elastic Load Balancing. Amazon ECS enregistrera automatiquement vos conteneurs et annulera aussi ces enregistrements à partir du programme d'équilibrage de charge associé. En outre, le programmeur de services récupérera automatiquement les conteneurs qui sont défectueux (échec des vérifications de l'état ELB) ou ne s'exécutent plus, pour vérifier que vous disposez du nombre de conteneurs opérationnels souhaité pour votre application. Vous pouvez dimensionner votre application en modifiant le nombre de conteneurs que vous souhaitez que le service exécute. Vous pouvez mettre à jour votre application en modifiant sa définition ou en utilisant une nouvelle image. Le programmeur démarre automatiquement de nouveaux conteneurs à l'aide de la nouvelle définition et interrompt les conteneurs utilisant la version précédente (en attente de connexions ELB à puiser si ELB est utilisé).

Q : Amazon ECS prend-il en charge le mappage dynamique des ports ?
Oui. Vous pouvez associer un service s'exécutant sur Amazon Elastic Container Service (ECS) à un équilibreur de charge applicative pour Elastic Load Balancing (ELB). L'équilibreur de charge applicative prend en charge un groupe cible qui inclut un jeu de ports d'instance. Vous pouvez spécifier un port dynamique dans la définition des tâches ECS. Ainsi, le conteneur dispose d'un port encore inexploité lorsqu'il est programmé sur l'instance EC2. Le planificateur ECS ajoute alors automatiquement la tâche au groupe cible de l'équilibreur de charge applicative via ce port.

Q : Amazon ECS prend-il en charge les traitements par lot ?
Oui. Vous pouvez utiliser la tâche Run d'Amazon ECS pour exécuter une ou plusieurs tâches à la fois. La tâche Run exécute la tâche sur une instance qui répond aux exigences de la tâche, notamment en termes de processeur, de mémoire et de ports.

Q : Puis-je utiliser mon propre programmeur avec Amazon ECS ?
ECS fournit Blox, une collection de projets open source pour la gestion et l'orchestration des conteneurs. Blox permet d'utiliser des événements à partir d'Amazon ECS, d'enregistrer l'état du cluster en local et d'interroger les espaces de stockage de données par l'intermédiaire des API. Blox comprend également un planificateur démon qui fait office de référence quant à l'utilisation du serveur d'état du cluster. Pour en savoir plus, reportez-vous à la page GitHub de Blox.

Q : Puis-je utiliser mon propre AMI ?
Oui. Vous pouvez utiliser toutes les AMI conformes aux spécifications AMI d'Amazon ECS. Nous vous recommandons de démarrer l'AMI d'Amazon Linux prenant en charge Amazon ECS. Des AMI partenaires compatibles avec Amazon ECS sont également disponibles. Pour découvrir les spécifications AMI d'Amazon ECS, référez-vous à la documentation.

Q : Comment puis-je configurer mes instances de conteneurs pour les récupérer depuis Amazon Elastic Container Registry ?
Amazon ECR est intégré à Amazon ECS, ce qui vous permet de stocker, d'exécuter et de gérer très facilement les images de conteneur pour les applications exécutées avec Amazon ECS. Il vous suffit d'indiquer le référentiel Amazon ECR dans votre définition de tâches et d'associer AmazonEC2ContainerServiceforEC2Role à vos instances. Amazon ECS récupère ensuite les images appropriées pour vos applications.

Q : Comment Amazon ECS isole-t-il des conteneurs appartenant à des clients différents ?
Amazon ECS programme des conteneurs qui s'exécutent sur des instances Amazon EC2 contrôlées par des clients et s'appuie sur les mêmes contrôles d'isolement et les mêmes exigences de conformité qui sont proposées aux clients EC2.

  • Vos instances de calcul figurent au sein d'un cloud privé virtuel (VPC) dont vous définissez la plage d'adresses IP. Vous décidez quelles sont les instances devant rester privées ou à exposer sur Internet.
  • Vos instances EC2 utilisent un rôle IAM pour accéder aux services ECS.
  • Vos tâches ECS utilisent un rôle IAM pour accéder aux services et aux ressources.
  • Les groupes de sécurité et les ACL réseau vous permettent de contrôler les accès réseau en entrée et en sortie de vos instances.
  • Vous pouvez relier votre infrastructure informatique existante aux ressources de votre VPC via des connexions VPN IPsec cryptées selon les normes du secteur.
  • Vous pouvez mettre en service vos ressources EC2 en tant qu'instances dédiées. Les instances dédiées sont des instances Amazon EC2 qui fonctionnent sur du matériel dédié à un seul client pour un isolement supplémentaire.

Q : Puis-je appliquer des frameworks de configuration de sécurité et d'isolement supplémentaires aux instances de mes conteneurs ?
Oui. En tant que client Amazon EC2, vous disposez d'un accès racine au système d'exploitation de vos instances de conteneur, qui vous permet de prendre en charge les paramètres de sécurité du système d'exploitation, de charger et de configurer des composants logiciels supplémentaires d'options de sécurité telles que la surveillance, la gestion des correctifs, la gestion des journaux et la détection des intrusions sur l'hôte.

Q : Puis-je utiliser les instances de conteneur avec différents paramètres de sécurité ou répartir plusieurs tâches dans différents environnements ?
Oui. Vous pouvez configurer vos différentes instances de conteneurs en utilisant les outils de votre choix. Amazon ECS vous permet de contrôler le placement des tâches dans différentes instances de conteneur grâce à la conception de clusters et de lancements ciblés.

Q : Amazon ECS prend-il en charge la récupération d'images Docker provenant d'une source privée ou interne ?
Oui. Les clients peuvent configurer leurs instances de conteneurs pour accéder à un registre d'images Docker privées à l'intérieur d'un VPC ou à un registre accessible depuis l'extérieur d'un VPC, tel que Amazon Elastic Container Registry.

Q : Comment configurer les rôles IAM des tâches ECS ?
Vous devez tout d'abord créer un rôle IAM pour votre tâche, à l'aide du rôle de service « Amazon EC2 Container Service Task Role » et en associant une stratégie avec les autorisations requises. Lorsque vous créez une nouvelle définition de tâche ou une révision de définition de tâche, vous pouvez spécifier un rôle en le sélectionnant dans la liste déroulante « Task Role » ou à l'aide du paramètre « taskRoleArn » au format JSON.