0Pricing
AWS Solutions Architect · Leçon

Type de lancement EC2 ou Fargate

Comparez la gestion autonome des instances de conteneurs EC2 avec l’utilisation de Fargate pour exécuter des conteneurs sans serveur, et comprenez les compromis de coûts.

Type de lancement EC2 ou Fargate est une leçon AWS Solutions Architect gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AWS Solutions Architect, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AWS Solutions Architect comprend 4 leçons au total.

Deux façons d’exécuter des tâches ECS

ECS propose deux types de lancement qui déterminent où s’exécutent vos conteneurs : le type de lancement EC2 exécute les conteneurs sur des instances EC2 que vous provisionnez et gérez dans le cluster ; le type de lancement FARGATE est un moteur de calcul sans serveur dans lequel AWS gère entièrement les serveurs sous-jacents. La définition de tâche et la configuration du service sont presque identiques dans les deux cas ; la différence essentielle concerne la responsabilité de la gestion de l’infrastructure et le modèle de coûts.

Type de lancement EC2 : contrôle total

Avec le type de lancement EC2, vous enregistrez des instances EC2 comme instances de conteneurs dans le cluster à l’aide de l’agent de conteneurs ECS (préinstallé sur les AMI optimisées pour ECS). Vous choisissez les types d’instances, contrôlez les paramètres du système d’exploitation, appliquez des bases de sécurité personnalisées et utilisez des instances Spot pour réduire les coûts. ECS répartit les tâches entre vos instances enregistrées selon des stratégies de placement par remplissage optimal ou par répartition. Vous êtes responsable de l’application des correctifs, de la mise à l’échelle et de la maintenance du parc EC2 sous-jacent.

# Launch an ECS-optimised EC2 instance that joins the cluster
# User data for ECS container agent
#!/bin/bash
echo ECS_CLUSTER=MyAppCluster >> /etc/ecs/ecs.config
echo ECS_ENABLE_CONTAINER_METADATA=true >> /etc/ecs/ecs.config

Fargate : conteneurs sans serveur

Avec Fargate, vous spécifiez le CPU et la mémoire pour chaque tâche, et AWS provisionne invisiblement les ressources de calcul sous-jacentes. Vous n’avez aucune instance EC2 à enregistrer, corriger ou dimensionner : AWS s’occupe de tout. Chaque tâche dispose de son propre noyau isolé (via les microVMs Firecracker), ce qui offre une isolation de sécurité plus forte que les instances de conteneurs EC2, où plusieurs tâches partagent le même hôte. Fargate exige le mode réseau awsvpc : chaque tâche obtient donc sa propre ENI et sa propre adresse IP VPC.

aws ecs run-task \
  --cluster 'MyAppCluster' \
  --task-definition 'myapp-task:5' \
  --launch-type FARGATE \
  --network-configuration '{
    "awsvpcConfiguration": {
      "subnets": ["subnet-aaa111"],
      "securityGroups": ["sg-xyz"],
      "assignPublicIp": "ENABLED"
    }
  }'

Comparaison des modèles de coûts

Les modèles de coûts sont fondamentalement différents. Type de lancement EC2 : vous payez les instances EC2 sous-jacentes, que des tâches soient en cours d’exécution ou non, mais vous pouvez utiliser des instances réservées ou des Savings Plans pour bénéficier de réductions, ainsi que des instances Spot pour économiser jusqu’à 90 % sur les charges de travail interruptibles. Fargate : vous payez uniquement le vCPU et la mémoire consommés par chaque tâche et par seconde, sans coût d’inactivité entre les tâches. Pour les charges de travail irrégulières ou par lots, Fargate est souvent moins cher ; pour les charges de travail constamment très utilisées, EC2 avec des instances réservées peut être plus économique.

Fargate Spot pour réduire les coûts

Fargate Spot fournit des ressources de calcul Fargate à des prix fortement réduits (jusqu’à 70 % de réduction), en échange de la possibilité d’une interruption lorsque AWS doit récupérer de la capacité. Fargate Spot convient parfaitement au traitement par lots, aux pipelines CI/CD et aux environnements de développement ou de préproduction. Configurez une stratégie de fournisseur de capacité pour combiner Fargate (à la demande) et Fargate Spot : utilisez base=1 sur Fargate pour garantir au moins une tâche, puis des valeurs weight pour répartir la capacité restante entre les deux options.

aws ecs create-service \
  --cluster 'MyAppCluster' \
  --service-name 'BatchService' \
  --task-definition 'batch-task:1' \
  --desired-count 10 \
  --capacity-provider-strategy \
    'capacityProvider=FARGATE,weight=1,base=1' \
    'capacityProvider=FARGATE_SPOT,weight=4'

Quand choisir le type de lancement EC2

Choisissez le type de lancement EC2 lorsque vous avez besoin : d’instances GPU (la prise en charge des GPU par Fargate est limitée), de types d’instances spécifiques non disponibles dans Fargate, d’une configuration personnalisée du système d’exploitation (réglage du noyau, pilotes personnalisés), de performances réseau nécessitant des groupes de placement ou une mise en réseau améliorée, de conteneurs Windows (EC2 prend en charge les conteneurs Windows Server ; Fargate prend en charge Windows, mais avec des limitations), ou lorsque vos ressources sont constamment très utilisées et que les instances réservées EC2 offrent un avantage de coût important par rapport à la facturation à la seconde de Fargate.

Quand choisir Fargate

Choisissez Fargate lorsque vous souhaitez : éliminer la surcharge de gestion d’EC2 (aucune correction du système d’exploitation ni mise à l’échelle du cluster), ne payer que ce que vous utilisez à la seconde, exécuter des charges de travail irrégulières ou par lots qui ne justifient pas une capacité EC2 inactive, bénéficier d’une isolation renforcée des tâches grâce aux microVMs Firecracker, ou accélérer le développement en vous concentrant uniquement sur le code de l’application. Fargate est la recommandation par défaut pour les nouvelles charges de travail ECS dans l’examen SAA-C03, sauf si une exigence particulière liée à EC2 est indiquée.

Fournisseurs de capacité ECS

Les fournisseurs de capacité font abstraction de la couche de calcul pour les services ECS. Pour EC2, un fournisseur de capacité est associé à un groupe Auto Scaling : ECS dimensionne automatiquement l’ASG lorsque des tâches ne peuvent pas être placées en raison d’une capacité insuffisante. Pour Fargate, FARGATE et FARGATE_SPOT sont des fournisseurs de capacité intégrés. La définition d’une stratégie de fournisseur de capacité pour un service permet de combiner des ressources à la demande et des ressources Spot/Fargate Spot, offrant un contrôle précis des compromis entre coût et disponibilité pour chaque charge de travail.

Comparaison de la surcharge opérationnelle

La surcharge opérationnelle varie considérablement selon le type de lancement. Le type de lancement EC2 exige : la sélection et la mise à jour d’une AMI, la configuration de l’Auto Scaling EC2, l’application de correctifs au système d’exploitation via SSM ou des scripts personnalisés, la gestion de la capacité des instances de conteneurs et le renforcement de la sécurité au niveau des instances. Fargate élimine tout cela : AWS gère les correctifs de la plateforme Fargate, vous n’avez aucune instance à gérer et aucune planification de capacité de cluster à effectuer. En revanche, Fargate offre moins de flexibilité pour la personnalisation au niveau du système d’exploitation et le réglage des performances réseau.

Dimensionnement du CPU et de la mémoire des tâches Fargate

Les définitions de tâches Fargate doivent spécifier le CPU et la mémoire à partir d’un ensemble fixe de combinaisons. Valeurs de CPU : 256, 512, 1024, 2048, 4096, 8192, 16384 (en unités vCPU, où 1024 = 1 vCPU). La mémoire doit se situer dans les plages autorisées pour chaque valeur de CPU ; par exemple, 256 unités de CPU autorisent entre 512 et 2048 MB de mémoire. Les conteneurs d’une même tâche partagent les limites de CPU et de mémoire de celle-ci. Il est important d’adapter correctement les ressources : Fargate facture exactement ce que vous spécifiez. Un surprovisionnement gaspille donc de l’argent sans apporter de gain réel de performances lorsque les charges de travail sont limitées par le CPU.

# Valid Fargate combinations
# 256 CPU (.25 vCPU): 512, 1024, or 2048 MB
# 512 CPU (.5 vCPU): 1024 to 4096 MB
# 1024 CPU (1 vCPU): 2048 to 8192 MB
# 2048 CPU (2 vCPU): 4096 to 16384 MB
# 4096 CPU (4 vCPU): 8192 to 30720 MB

ECS Exec pour le débogage

ECS Exec vous permet d’ouvrir directement une session d’interpréteur de commandes interactive dans un conteneur en cours d’exécution (EC2 et Fargate), sans SSH ni hôte bastion. Il utilise en interne AWS Systems Manager Session Manager. Activez-le sur le service et utilisez la CLI execute-command pour démarrer une session bash. Cette fonctionnalité est extrêmement utile pour déboguer les problèmes de production dans les conteneurs. Le rôle de la tâche doit disposer de ssmmessages:CreateControlChannel et des autorisations SSM associées.

aws ecs execute-command \
  --cluster 'MyAppCluster' \
  --task 'abc123def456' \
  --container 'myapp' \
  --interactive \
  --command '/bin/bash'

Vérification rapide

Vérifiez votre compréhension des concepts AWS Solutions Architect (SAA-C03) présentés dans cette leçon.

Récapitulatif de la leçon

Dans cette leçon, vous avez appris que le type de lancement EC2 offre un contrôle total sur les types d’instances et la configuration du système d’exploitation, au prix de la gestion de la flotte sous-jacente ; il convient aux GPU, au matériel spécialisé ou aux charges de travail constamment très utilisées. Fargate élimine la gestion de l’infrastructure grâce à une facturation des tâches à la seconde et à une isolation renforcée assurée par Firecracker ; il convient à la plupart des charges de travail Web/API et des tâches par lots. Enfin, Fargate Spot réduit les coûts jusqu’à 70 % pour les charges de travail tolérant les interruptions. Nous allons maintenant découvrir Amazon ECR pour stocker et extraire des images de conteneurs.

Questions Fréquemment Posées

La leçon « Type de lancement EC2 ou Fargate » est-elle gratuite ?

Oui — le texte complet de « Type de lancement EC2 ou Fargate » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AWS Solutions Architect, passe à CoddyKit PRO. Le cours AWS Solutions Architect comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Type de lancement EC2 ou Fargate » ?

Comparez la gestion autonome des instances de conteneurs EC2 avec l’utilisation de Fargate pour exécuter des conteneurs sans serveur, et comprenez les compromis de coûts. Tu pratiques AWS Solutions Architect avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AWS Solutions Architect ?

Aucune expérience préalable n'est requise. AWS Solutions Architect sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Type de lancement EC2 ou Fargate » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AWS Solutions Architect ?

Oui. Chaque leçon AWS Solutions Architect inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Clusters ECS, définitions de tâches et services
  2. Type de lancement EC2 ou Fargate
  3. ECR : stockage et récupération d’images de conteneurs
  4. Mise à l’échelle automatique et équilibrage de charge des services ECS
← Retour à AWS Solutions Architect