La surveillance est un élément essentiel de la phase de maintenance dans le cycle de vie du développement logiciel. Cependant, à mesure que les entreprises déplacent leurs opérations vers des environnements cloud, la surveillance est devenue encore plus importante pour la sécurité, la fiabilité et la disponibilité des applications.
Amazon Web Services (AWS) propose différents outils de surveillance pour aider les utilisateurs à contrôler leurs systèmes cloud. Ses deux outils de surveillance les plus utilisés et les plus efficaces sont CloudTrail et CloudWatch. Dans cet article, nous allons comparer ces deux outils, en explorant leurs principales fonctionnalités, leurs capacités, leurs différences et leurs similitudes.
Qu’est-ce qu’AWS CloudTrail ?
AWS CloudTrail capture un enregistrement complet de toutes les activités API au sein d’un compte, y compris des informations sur l’utilisateur ou le service responsable, la date et les modifications apportées. Vous disposez ainsi d’une piste d’audit complète pour toutes les modifications apportées à l’infrastructure AWS. Cet outil conserve un historique complet de toutes les activités des comptes AWS, ce qui fait de CloudTrail un outil essentiel pour les questions de conformité et de sécurité.
Lorsqu’un utilisateur constate qu’une ressource est manquante dans son compte AWS, CloudTrail l’aide à déterminer quelle action a mis fin à la ressource, qui (ou quoi) a exécuté l’action et quand l’exécution a eu lieu.
CloudTrail enregistre trois types d’événements :
- Les événements de gestion affectent l’environnement AWS (comme la création d’un nouvel utilisateur IAM, le lancement d’une instance EC2 ou la modification des groupes de sécurité).
- Les événements de données impliquent des données au sein d’un service AWS (comme la récupération d’un objet à partir d’un bucket S3, le téléchargement d’un fichier à partir d’une instance EC2 ou la modification du contenu d’une base de données).
- Les événements Insight fournissent des informations sur les performances et l’intégrité opérationnelle d’un compte AWS (comme les quotas de services AWS, les bonnes pratiques de sécurité et les contrôles de conformité).
Les événements liés à la gestion sont disponibles gratuitement, alors que ceux concernant les données et les renseignements peuvent occasionner des frais supplémentaires.
Fonctionnalités clés
Les fonctionnalités clés de CloudTrail sont les suivantes :
- Génère un historique détaillé de toutes les activités d’un compte AWS.
- Permet le transfert des logs vers CloudWatch Logs ou des buckets S3 pour le stockage et l’analyse.
- Prend en charge l’intégration avec d’autres services AWS, tels que SNS et CloudWatch, pour faciliter les architectures automatisées.
- Offre une vérification de l’intégrité du log afin d’assurer l’authenticité et la protection du document enregistré.
Qu’est-ce qu’AWS CloudWatch ?
AWS CloudWatch est un service de surveillance qui collecte des métriques, enregistre des événements et fournit des alarmes. CloudWatch assure une surveillance en temps réel des ressources et des applications AWS. Il permet ainsi aux utilisateurs d’AWS d’optimiser leurs systèmes en termes de performances et de coûts.
CloudWatch comprend plusieurs composants clés, qui fonctionnent tous en tandem pour former une solution de surveillance complète. Examinons ces éléments.
Métriques CloudWatch
Les métriques CloudWatch utilisent des points de données quantitatifs pour mesurer la performance des ressources et des applications AWS. Grâce à celles-ci, les utilisateurs peuvent surveiller l’intégrité et les performances de leurs systèmes. Ils peuvent par exemple mesurer l’utilisation du processeur, le trafic réseau et l’utilisation du disque et de la mémoire vive.
Alarmes CloudWatch
Les alarmes CloudWatch déclenchent des actions lorsque des mesures spécifiques franchissent des seuils critiques. Par exemple, un utilisateur peut créer une alarme CloudWatch lorsque l’utilisation du processeur d’une instance EC2 dépasse 80 %. L’action déclenchée par l’alarme peut inclure la scalabilité verticale de l’application pour supporter la charge supplémentaire et l’envoi d’un e-mail de notification à l’ingénieur DevOps de garde.
Événements CloudWatch
Les événements CloudWatch déclenchent des actions en réponse à des événements spécifiques. Par exemple, un événement CloudWatch peut être configuré pour se déclencher à chaque lancement d’une nouvelle instance EC2. L’action résultante peut invoquer une fonction Lambda ou publier sur une rubrique SNS.
Sachez qu’AWS recommande à ses utilisateurs de gérer leurs événements via AWS EventBridge plutôt que via CloudWatch Events.
Logs CloudWatch
CloudWatch Logs collecte, analyse et stocke les fichiers journaux des applications personnalisées sur le cloud AWS ou hors cloud AWS ou des services AWS (tels que CloudTrail ou Lambda). En outre, cet outil analyse et filtre les données des logs afin de résoudre les problèmes et de surveiller les performances des applications.
Voici d’autres fonctionnalités CloudWatch dignes d’intérêt :
- CloudWatch Dashboards offre une vue personnalisable des métriques et des alarmes.
- CloudWatch Unified Agent permet de collecter des métriques et des logs personnalisés.
- CloudWatch Synthetics teste et surveille les endpoints des applications.
Comparaison entre AWS CloudTrail et AWS CloudWatch
CloudTrail et CloudWatch sont tous deux des services de surveillance proposés par AWS comportant des fonctionnalités et des capacités différentes adaptées à différents cas d’usage.
CloudTrail est utilisé pour l’audit et la surveillance de la conformité, car il capture toutes les activités d’API dans un compte AWS. Une entreprise peut utiliser CloudTrail pour suivre tous les appels d’API effectués dans son compte AWS afin de s’assurer que les ressources ne sont accessibles qu’au personnel autorisé.
Il est important de souligner que CloudTrail enregistre les événements associés à l’activité des API et génère des logs. Mais, l’analyse de ces logs pour visualiser ou créer des processus automatisés reste hors de sa portée. Pour analyser les logs CloudTrail et créer des processus automatisés, vous devez les transférer de CloudTrail vers CloudWatch Logs. Dans CloudWatch Logs, vous pouvez examiner les logs, créer des alarmes et déclencher des notifications.
D’autre part, CloudWatch collecte, suit et surveille les métriques, les fichiers logs et les événements liés aux ressources AWS. Il fournit également des alarmes pour signaler des événements spécifiques. Une entreprise peut utiliser CloudWatch pour surveiller l’intégrité et les performances de ses applications et pour faciliter un dépannage plus efficace en cas de problème.
Les points suivants décrivent quelques distinctions supplémentaires entre les deux services :
CloudWatch | CloudTrail | |
---|---|---|
Fonctionnalités gratuites |
|
|
Fonctionnalités payantes |
|
|
Fréquence des données |
|
|
Résumé
CloudTrail et CloudWatch sont deux outils de surveillance essentiels proposés par AWS avec des fonctionnalités différentes. CloudTrail enregistre chaque activité d’API d’un compte AWS, le rendant approprié pour les objectifs d’audit et de conformité. CloudWatch sert essentiellement à observer les performances des applications et des ressources, à signaler les métriques requérant une vigilance spécifique et à identifier des possibilités d’amélioration et de diminution des coûts.
Associez les atouts de ces deux services pour obtenir un système de surveillance et de réponse complet et automatisé pour votre environnement AWS.