Ce que vous allez apprendre dans ce TP
- Décrire des ressources AWS en Terraform
- Mettre en place une diffusion SNS vers SQS
- Gérer les messages en échec (DLQ)
Introduction #
Ce que vous allez apprendre dans cette section
- Décrire des ressources AWS en Terraform
- Mettre en place une diffusion SNS vers SQS
- Gérer les messages en échec (DLQ)
Contexte. Le service de commandes doit prévenir la facturation et l'expédition sans les attendre. Vous découplez les traitements par une diffusion SNS vers des files SQS, le tout décrit en code.
Prérequis : Docker, le CLI AWS et LocalStack (pip install localstack awscli-local terraform-local) : tout s'exécute en local, sans compte AWS ni frais · Durée estimée : 50 min
Mise en place #
Étapes guidées, avec leur correction.
1. Décrire l'infrastructure
Pourquoi ? Le même code servira ensuite sur un vrai compte : seul le point d'accès change.
Écrivezmain.tf: un sujet SNS, deux files (facturation, expédition), une file d'échec et les abonnements.2. Déployer avec tflocal
Pourquoi ? tflocal configure automatiquement le fournisseur AWS pour pointer vers LocalStack.
Initialisez, prévisualisez puis appliquez ; relevez l'ARN du sujet.3. Publier et consommer
Pourquoi ? Un seul message publié arrive dans chaque file abonnée.
Publiez une commande, lisez-la dans les deux files puis supprimez le message traité.4. Simuler un échec et détruire
Pourquoi ? Un message lu trois fois sans être supprimé part dans la file d'échec : il n'est pas perdu et peut être analysé.
Lisez quatre fois le même message sans le supprimer (délai de visibilité 0), vérifiez la file d'échec, puis détruisez tout.
Niveau de difficulté : ●●●○○ (3/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Infrastructure as Code sur AWS : CloudFormation, CDK, Terraform et Well-Architected
Décrire et déployer son infrastructure AWS en code avec CloudFormation, le CDK ou Terraform, auto...
Le calcul sur AWS : EC2, Auto Scaling, Lambda et conteneurs
Choisir et utiliser les services de calcul AWS : instances EC2 (types, AMI, EBS, user data, modèl...
Terraform sur plusieurs clouds : AWS, Azure, Google Cloud, OVHcloud et Kubernetes
Utiliser Terraform avec les principaux fournisseurs : aws, azurerm, google, ovh et openstack, kub...
Comprendre AWS : infrastructure mondiale, comptes, outils et tarification
Les bases indispensables pour démarrer sur Amazon Web Services : régions, zones de disponibilité ...
Terraform en CI/CD : pipelines, revue du plan, OIDC et GitOps
Automatiser Terraform : pipeline plan sur demande de fusion et apply après approbation, publicati...
Terraform : principes, architecture et flux de travail
Comprendre Terraform : infrastructure as code déclarative, architecture (cœur, fournisseurs, état...
L'état Terraform : backends distants, verrouillage, import et refactorisation
Gérer l'état Terraform : rôle du fichier d'état, données sensibles, backends distants (S3, azurer...
Les modules Terraform : concevoir, versionner et réutiliser
Structurer Terraform avec des modules : module racine et modules enfants, entrées et sorties, sou...
Terraform multi-environnements, workspaces et organisation des dépôts
Organiser Terraform pour plusieurs environnements : dossiers par environnement, fichiers tfvars, ...