RousselTMLEARNING

TP · AWS : de la découverte à l'expertise

TP : Infrastructure as Code et découplage avec SQS et SNS (Terraform sur LocalStack)

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

Une architecture événementielle décrite en Terraform, déployée et testée localement.

Mise en place #

Étapes guidées, avec leur correction.

  1. 1. Décrire l'infrastructure

    Pourquoi ? Le même code servira ensuite sur un vrai compte : seul le point d'accès change.

    Écrivez main.tf : un sujet SNS, deux files (facturation, expédition), une file d'échec et les abonnements.
  2. 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. 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. 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

  • ⏱ Durée estimée : ≈ 50 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Poser une question

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, ...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !