[Video] Démarrer avec Amazon ECS
Objectif
Déployer une application conteneurisée sur Amazon ECS avec AWS Fargate, sans gérer d’instances EC2.
Créer un Cluster ECS
- Accédez à la console AWS : AWS ECS Console
- Sélectionnez la région souhaitée dans la barre de navigation.
- Accédez à “Clusters” et cliquez sur “Create Cluster”.
- Configurez le cluster :
- Nom du cluster : mon-cluster-ecs
- Infrastructure : AWS Fargate
- (Facultatif) Activez Container Insights pour la surveillance.
- (Facultatif) Ajoutez des tags pour mieux identifier votre cluster.
- Cliquez sur “Create”.
✅ Le cluster est prêt !
Définir une Tâche ECS (Task Definition)
- Dans la console ECS, accédez à Task Definitions et cliquez sur “Create new Task Definition”.
- Sélectionnez Fargate comme mode d’exécution.
Choisissez “Create new revision with JSON” et copiez-collez la définition suivante :
{
"family": "sample-fargate",
"networkMode": "awsvpc",
"containerDefinitions": [
{
"name": "fargate-app",
"image": "public.ecr.aws/docker/library/httpd:latest",
"portMappings": [
{
"containerPort": 80,
"hostPort": 80,
"protocol": "tcp"
}
],
"essential": true,
"entryPoint": ["sh", "-c"],
"command": [
"/bin/sh -c \"echo ' Amazon ECS Sample App Amazon ECS Sample App
Congratulations!
Your application is now running on a container in Amazon ECS.
' > /usr/local/apache2/htdocs/index.html && httpd-foreground\""
]
}
],
"requiresCompatibilities": ["FARGATE"],
"cpu": "256",
"memory": "512"
}
Cliquez sur “Create”.
✅ La tâche ECS est définie !
Déployer un Service ECS
- Retournez dans la console ECS > Clusters et sélectionnez votre cluster mon-cluster-ecs.
- Sous l’onglet Services, cliquez sur “Create”.
Configurez le service
- Options de calcul
- Choisissez Type de lancement > Fargate
- Configuration du déploiement
- Type d’application : Service
- Définition de la tâche : sample-fargate
- Nom du service : sample-fargate-service
- Type de service : Replica
- Tâches souhaitées : 1
- Options de calcul
Configurez le réseau
- Sélectionnez un VPC existant et un sous-réseau public.
- Activez Assign Public IP.
- Ajoutez ou créez un Security Group permettant le trafic HTTP (port 80).
Cliquez sur “Create”
✅ Le service est déployé !
Tester l’Application
- Accédez à ECS > Clusters > mon-cluster-ecs > Services > sample-fargate-service.
- Cliquez sur l’onglet Tâches, puis sur la tâche en cours d’exécution.
- Dans Configuration, copiez l’adresse IP publique et ouvrez-la dans un navigateur.
✅ Vous devriez voir une page web indiquant que l’application fonctionne !
Nettoyer les ressources
- Accédez à ECS > Clusters > mon-cluster-ecs > Services.
- Sélectionnez sample-fargate-service, cochez la case Forcer la suppression, et confirmez la suppression.
- Supprimez également la Task Definition si elle n’est plus nécessaire.
- Retournez à ECS > Clusters, sélectionnez mon-cluster-ecs, puis cliquez sur Delete Cluster.
✅ Toutes les ressources sont supprimées !
Conclusion
✔️ Déploiement simple d’une application Docker sur AWS ECS avec Fargate
✔️ Infrastructure serverless, aucune gestion de serveur requise
✔️ Possibilité d’étendre ce lab avec un Load Balancer et un pipeline CI/CD