Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

14. Infrastructure as Code : La Surveillance Fiabilisée

La gestion de la configuration de CloudWatch en tant que code est une pratique fondamentale du DevOps qui garantit la cohérence, la reproductibilité et l'automatisation de votre stratégie d'observabilité.

Retour à Postgresql
description: Exemple Concret de Liaison (Terraform)
Voici comment l'IaC permet de lier dynamiquement une alarme à une ressource qu'elle vient de créer. ```hcl # 1. Définir une instance EC2 resource "aws_instance" "web_server" { ami = "ami-0c55b159cbfafe1f0" instance_type = "t2.micro" tags = { Name = "WebServerInstance" } } # 2. Définir un topic SNS pour les notifications resource "aws_sns_topic" "alarms_topic" { name = "web-alarms-topic" } # 3. Définir une alarme qui référence l'instance et le topic resource "aws_cloudwatch_metric_alarm" "cpu_alarm" { alarm_name = "high-cpu-alarm-for-web-server" comparison_operator = "GreaterThanOrEqualToThreshold" evaluation_periods = 2 metric_name = "CPUUtilization" namespace = "AWS/EC2" period = 120 statistic = "Average" threshold = 80 # Liaison dynamique avec l'ID de l'instance créée ci-dessus dimensions = { InstanceId = aws_instance.web_server.id } # Liaison dynamique avec l'ARN du topic créé ci-dessus alarm_actions = [aws_sns_topic.alarms_topic.arn] ok_actions = [aws_sns_topic.alarms_topic.arn] } ``` Dans cet exemple, l'alarme est intrinsèquement liée à l'instance `web_server`. Si vous décidez de détruire le serveur web avec `terraform destroy`, Terraform comprendra la dépendance et détruira également l'alarme associée, évitant ainsi les ressources de surveillance orphelines.