Cours > Module > Chapitre

Lab : Démarrer avec Amazon ECS

[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

  1. Accédez à la console AWS : AWS ECS Console
  2. Sélectionnez la région souhaitée dans la barre de navigation.
  3. Accédez à “Clusters” et cliquez sur “Create Cluster”.
  4. 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.
  5. Cliquez sur “Create”.

Le cluster est prêt !

Définir une Tâche ECS (Task Definition)

  1. Dans la console ECS, accédez à Task Definitions et cliquez sur “Create new Task Definition”.
  2. 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 '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body data-rsssl=1> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' >  /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

  1. Retournez dans la console ECS > Clusters et sélectionnez votre cluster mon-cluster-ecs.
  2. Sous l’onglet Services, cliquez sur “Create”.
  3. Configurez le service 

    • Options de calcul 
      1. Choisissez Type de lancement > Fargate
    • Configuration du déploiement
      1. Type d’application : Service
      2. Définition de la tâche : sample-fargate
      3. Nom du service : sample-fargate-service
      4. Type de service : Replica
      5. Tâches souhaitées : 1
  4. 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).
  5. Cliquez sur “Create”

Le service est déployé !

Tester l’Application

  1. Accédez à ECS > Clusters > mon-cluster-ecs > Services > sample-fargate-service.
  2. Cliquez sur l’onglet Tâches, puis sur la tâche en cours d’exécution.
  3. 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

  1. Accédez à ECS > Clusters > mon-cluster-ecs > Services.
  2. Sélectionnez sample-fargate-service, cochez la case Forcer la suppression, et confirmez la suppression.
  3. Supprimez également la Task Definition si elle n’est plus nécessaire.
  4. 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

×

Panier