Automatisation Intelligente : Suppression Automatique des Instances EC2 dans AWS Managed Microsoft AD avec Lambda

Contexte et Problématique

 

Dans l’écosystème cloud moderne, la gestion automatisée des ressources est devenue un pilier essentiel de l’efficacité opérationnelle. L’intégration entre Amazon EC2 et AWS Managed Microsoft Active Directory offre une expérience seamless pour l’authentification et la gestion des identités.

Contexte Métier

 

Les entreprises migrant vers AWS adoptent massivement AWS Managed Microsoft AD pour :

  • Maintenir leur infrastructure d’authentification existante ;
  • Centraliser la gestion des identités et des accès ;
  • Appliquer les stratégies de groupe (GPO) sur leurs instances EC2
  • Garantir la conformité avec leurs politiques de sécurité

 

La Problématique Centrale

Un défi persistant émerge dans cette architecture hybride: comment maintenir la cohérence automatique entre les instances EC2 supprimées et leurs entrées correspondantes dans Active Directory ?

Actuellement, la plupart des organisations gèrent cette problématique de manière réactive et manuelle, créant des inefficacités opérationnelles et des risques de sécurité.

Cet article présente une solution élégante et entièrement automatisée utilisant AWS Lambda pour résoudre ce problème récurrent, transformant une tâche manuelle fastidieuse en un processus intelligent et autonome.

Lire aussi aussi Automatisez les sauvegardes basées sur les événements depuis Amazon S3 GitHub à l’aide CodeBuild et EventBridge

 

Le Défi Technique : Entrées Orphelines dans Active Directory

 

Contexte Technique

Lorsque des instances Amazon EC2 sont intégrées à un domaine AWS Managed Microsoft AD, elles créent automatiquement des comptes d’ordinateurs dans l’Active Directory. Ces comptes permettent :

    • L’authentification Kerberos des instances
    • L’application des stratégies de groupe (GPO)
    • La gestion centralisée des permissions
    • L’audit et la traçabilité des accès

Le Défi Opérationnel

 

Problème central : Lorsqu’une instance EC2 est terminée (volontairement ou par Auto Scaling), son compte d’ordinateur correspondant reste actif dans l’Active Directory, créant plusieurs problèmes :

En résumé: C’est une façon simple et moderne de publier et router des applications conteneurisées.

Impacts Techniques

    • Pollution de l’annuaire : Accumulation d’objets informatiques obsolètes
    • Complexité de gestion : Difficulté à distinguer les machines actives des machines supprimées
    • Risques de sécurité : Comptes dormants potentiellement exploitables

  • Performance dégradée : Ralentissement des requêtes LDAP sur de gros volumes

Impacts Business

    • Coûts cachés : Temps administrateur pour le nettoyage manuel
    • Non-conformité : Violation des politiques de gouvernance IT
    • Audit complexifié : Difficulté à tracer les accès légitimes
    • Scalabilité limitée : Problème amplifié dans les environnements à haute vélocité

 

La Solution : Architecture Event-Driven avec AWS Lambda

Vue d’Ensemble de l’Architecture

Notre solution implémente un workflow entièrement automatisé basé sur les événements AWS

Installation de packer

Composants Clés

 

  1. Amazon EventBridge – Le Déclencheur Intelligent
  • Rôle : Capture en temps réel les événements de terminaison EC2 
  • Avantage : Réactivité instantanée sans polling 
  • Pattern d’événement : EC2 Instance State-change Notification 
  1. AWS Lambda – Le Cerveau de l’Automatisation
  • Fonction : Orchestre la logique de suppression 
  • Bénéfices : 
  • Exécution serverless (pas de serveur à maintenir) 
  • Coût proportionnel à l’usage 
  • Scalabilité automatique 
  • Haute disponibilité native 
  1. AWS Systems Manager – Le Pont vers Active Directory
  • Utilisation : Exécution de commandes PowerShell à distance 
  • Avantages : 
  • Sécurité renforcée (pas de RDP/SSH requis) 
  • Audit intégré des actions 
  • Gestion centralisée des permissions 
  1. AWS IAM – La Sécurité par Design
  • Principe : Moindre privilège appliqué 
  • Permissions granulaires : Accès limité aux ressources nécessaires 

Prérequis et Architecture Cible 

Prérequis Techniques 

Avant d’implémenter cette solution, assurez-vous de disposer des éléments suivants : 

Infrastructure AWS Requise 

  • Un bucket S3 Stockage centralisé du state Terraform 
  • DynamoDB déjà configuré pour verrouillage pour éviter les conflits concurrents 
  • Terraform Installé sur votre machine pour le provisionning automatique 
  • AWS CLI configuré avec profil administrateur 

Compétences Techniques Recommandées 

  • AWS Services : Lambda, EventBridge, Systems Manager, IAM, EC2 
  • Active Directory : Concepts de base et commandes PowerShell 
  • Terraform : Pour la configuration des ressources AWS 
  • Python ou Node.js : Pour le développement Lambda (optionnel selon l’approche) 

Considérations de Sécurité 

Principe du Moindre Privilège 

  • Rôle Lambda : Permissions strictement limitées aux actions nécessaires 
  • Systems Manager : Exécution avec comptes de service dédiés 
  • Active Directory : Droits minimaux pour la suppression de comptes machines 

Audit et Traçabilité 

  • EventBridge pour l’historique des événements 

Temps de lecture: 15 minutes 

Public Cible 

  • Ingénieurs DevOps 
  • Ingénieurs Cloud 
  • FinOps 
  • AWS Solution Architect

    Implémentation Technique étape par étape 

    Structure finale du projet Terraform 

Installation de packer

Lien du template du projet:  Lahda 

 

Étape 1 – Préparer la fondation Terraform 

Fichiers versions.tf, providers, variables.tf, outputs.tf, terraform.tfvars. 

  • Configure le provider AWS et le backend du state (ex: S3 + DynamoDB). 
     
  • Définis les variables globales : project, environment, tags, region, vpc_id. 
     
Installation de packer

Étape 2 – Créer les rôles IAM 

Créer le premier dossier du projet nommé module qui comporte les différents services ou ressources du projet. On commence par: iam. 

Installation de packer
  • Programme les rôles nécessaires : 
     
  • rôle Lambda avec AWSLambdaBasicExecutionRole 
     
  • rôle EC2 avec AmazonSSMManagedInstanceCore 
     
  • rôle EventBridge pour invoquer Lambda 
     
  • Exposez les ARN via outputs.tf. 

Étape 3 – implémenter Lambda 

Module lambda.

Installation de packer

 

  • Lambda reçoit les événements et exécute la logique. 
     
  • Entrées : role_arn depuis IAM, code packagé depuis scripts/. 
     
  • Sorties : lambda_arn. 

Étape 4 – Ajouter EventBridge comme déclencheur  

Module eventbridge. 

Installation de packer
  • Programme une règle (cron ou event AWS). 
  • Configure la cible = lambda_arn. 
  • Crée aws_lambda_permission pour autoriser EventBridge. 

Étape 5 – Préparer les documents et paramètres SSM 

Module ssm. 

Installation de packer
  • Crée des documents (aws_ssm_document) qui définissent les actions (par ex. joindre un domaine). 
  • Stocke les secrets et configs (ex: mot de passe admin AD) dans Parameter Store. 
  • Associe les documents aux instances via aws_ssm_association. 

Étape 6 – implémenter le Directory Service 

Module directory. 

Installation de packer

 

  • Déploie AWS Managed Microsoft AD dans deux subnets privés. 
  • Expose directory_id et dns_ip_addresses. 
    Stocke le mot de passe admin AD dans Parameter Store. 

Étape 7 – Créer les instances EC2 + Auto Scaling 

Module ec2. 

Installation de packer
  • Déploie les instances via Auto Scaling Group ou Launch Template. 
  • Attache iam_instance_profile_name du module IAM. 
  • Ajoutez une ssm_association pour joindre automatiquement les instances au Directory. 

Étape 8 – Tests et validation 

Dossier tests/terraform_test.go. 

Installation de packer
  • Vérifie avec Terratest : 
  • Que la Lambda existe et peut être invoquée, 
  • Que les EC2 sont enregistrées dans SSM, 
  • Que Directory est actif et les instances joint 

Déploiement et Test du projet 

Vérification de la création effective des ressources: 

  • Les ressources à créer manuellement en amont: 
  • Un bucket s3 
Installation de packer
  • Une table dynamoDB 
Installation de packer
  • Les Rôles IAM Nécessaires: 
Installation de packer

La fonction Lambda 

Installation de packer
  • EventBridge Rules 
Installation de packer
  • AWS SSM parameters et documents 
Installation de packer

SSM Documents 

Installation de packer
Installation de packer
Installation de packer

AWS Managed Microsoft Active Directory 

Installation de packer

Amazon EC2: 

Installation de packer

Auto-Scaling-Group (ASG) 

Installation de packer

Tests 

 

  • Affichez les résultats de la fonction Lambda. 

Dans ce modèle, une EventBridge règle exécute la fonction Lambda une fois par jour. Pour afficher les résultats de la fonction Lambda, procédez comme suit : 

Connectez-vous à la AWS Lambda console AWS Management Console et ouvrez-la. Ouvrez la page Fonctions et sélectionnez le nom de la fonction lambda, exécutez-la. 

Installation de packer

Cliquez sur l’onglet Surveiller, puis sur Afficher CloudWatch les journaux. 

Installation de packer

Dans la CloudWatch console, la page Log groups affiche les résultats de la fonction Lambda. 

Installation de packer
  • Essayez de supprimer le serveur qui est en cours d’exécution, et voyez si l’auto scaling lance effectivement un nouveau serveur a la place.. 
  • Vous pouvez aussi avoir les détails sur l’état de l’alarme 
Installation de packer

Suppression des ressources créées 

  • Pour nettoyer l’infrastructure que vous avez créée, utilisez la commande suivante. 
  • terraform destroy 

Pour confirmer la commande de destruction, tapez yes. Vérifiez après le nettoyage. 

  • Vérifiez que les ressources ont été correctement supprimées. 

Valeur Ajoutée Business 

ROI Quantifiable 

Économies Directes 

  • Temps administrateur économisé : 2h/semaine  
  • Réduction des coûts de licence : Optimisation des CAL Active Directory 
  • Minimisation des incidents sécurité : Réduction des surfaces d’attaque 

Bénéfices Opérationnels 

  • Conformité automatique : Respect des politiques de gouvernance IT 
  • Agilité accrue : Déploiements plus rapides sans crainte de pollution AD 
  • Visibilité améliorée : Annuaire Active Directory toujours à jour 

Impact Stratégique 

Pour les Équipes IT 

  • Focus sur la valeur : Moins de tâches manuelles, plus d’innovation 
  • Fiabilité opérationnelle : Réduction des erreurs humaines 
  • Évolutivité : Solution qui s’adapte à la croissance 

Pour l’Organisation 

  • Time-to-Market réduit : Déploiements plus agiles 
  • Posture sécuritaire renforcée : Réduction des comptes dormants 
  • Excellence opérationnelle : Automatisation alignée sur les best practices 

Perspectives d’Évolution 

Extensions Possibles 

Fonctionnalités Avancées 

  • Intégration Slack/Teams : Notifications des suppressions 
  • Dashboard CloudWatch : Métriques en temps réel 
  • Multi-région : Support des déploiements globaux 

Cas d’Usage Étendus 

  • Autres services AWS : Extension à RDS, ECS, EKS 
  • Gestion du cycle de vie : Automatisation complète AD 
  • Intégration CI/CD : Nettoyage automatique des environnements temporaires. 

Conclusion 

Cette solution d’automatisation AWS Lambda représente un exemple parfait de l’ingénierie orientée valeur. En transformant une problématique opérationnelle récurrente en opportunité d’automatisation, nous obtenons : 

  • Efficacité opérationnelle maximisée 
  • Réduction significative des risques 
  • ROI mesurable et immédiat 
  • Fondation pour l’innovation future 

L’approche event-driven combinée à l’écosystème AWS natif offre une solution robuste, évolutive et économique qui s’intègre parfaitement dans une stratégie cloud moderne. 

L’automatisation n’est plus un luxe, c’est une nécessité stratégique. D’ailleurs, pour des personnes qui souhaitent avoir une formation bien structurée axée projet sur respectivement AWS et Terraform, nous offrons un BootCamp AWS Cloud Engineer, un Parcours développeur cloud AWS et Terraform Associate et Terraform Cloud. 

Cet article technique démontre comment transformer les défis opérationnels en opportunités d’innovation grâce à l’automatisation intelligente AWS. 

Si vous souhaitez explorer et pratiquer avec des articles percutants dans le même sens, nous avons: Construction d’une application serverless en utilisant Step Functions, API Gateway, Lambda et S3 dans AWS, Héberger une application statique sur AWS avec le CICD impliquant AWS AWS CodeCommit, CodePipeline et S3, Optimisation des coûts dans le Cloud en 2024 Comment réduire les dépenses tout en maintenant les performances 

Références 

Auteur 

  • LAHDA BIASSOU Alphonsine, Consultant Cloud/DevOps & Formatrice