cours
AWS CloudTrail vs AWS CloudWatch : Guide du débutant
Amazon Web Services (AWS) propose de nombreux outils de journalisation conçus pour aider les entreprises à surveiller, gérer et sécuriser leur infrastructure cloud. Il existe des outils qui se concentrent sur l'audit de conformité (CloudTrail), les mesures de ressources (CloudWatch), la journalisation du réseau (VPC Flow) et les journaux d'application (X-Ray).
Ces services donnent aux utilisateurs un aperçu des différentes parties de leur écosystème AWS et leur permettent de prendre des décisions éclairées sur la gestion de leurs services. Parmi ceux-ci, AWS CloudTrail et AWS CloudWatch disposent de certaines des fonctions les plus "critiques", comme la conformité et la surveillance des ressources.
Ces deux systèmes répondent à des besoins essentiels différents : CloudTrail se concentre sur la gouvernance, l'audit et la conformité, tandis que CloudWatch se consacre à la surveillance des performances et à l'efficacité opérationnelle.
Dans cet article, nous allons nous pencher sur les spécificités des services CloudTrail et CloudWatch, explorer leurs cas d'utilisation et clarifier leurs principales différences pour vous aider à comprendre comment les exploiter efficacement. Pour en savoir plus sur certains des autres mécanismes de journalisation et de gestion d'AWS, consultez notre antisèche comparant les composants des services cloud.
Qu'est-ce que AWS CloudWatch ?
AWS CloudWatch est un service de surveillance conçu pour collecter et suivre les métriques relatives aux ressources et aux applications exécutées sur AWS. CloudWatch garantit la visibilité des performances du système et dispose même de fonctions d'alerte permettant de notifier les utilisateurs en cas de problème. Il offre une surveillance de base (gratuite) et une surveillance détaillée (payante), en fonction du service AWS.
Principales caractéristiques de AWS CloudWatch
Les principales fonctionnalités de CloudWatch sont les tableaux de bord, la collecte de données métriques, la surveillance des journaux et les alarmes. Tous ces systèmes sont construits autour d'un ensemble de systèmes de surveillance qui examinent différents composants de l'écosystème AWS.
1. Collecte et cursus de mesures
- Surveille les métriques telles que l'utilisation du processeur, l'utilisation de la mémoire, les E/S disque et l'activité réseau sur les ressources AWS comme EC2, RDS et Lambda.
- Les métriques sont généralement stockées dans un seau Amazon EC2 et servent de référentiel de métriques.
2. Systèmes de surveillance
- Une variété de systèmes de surveillance, tels que la surveillance des applications, du réseau et de l'infrastructure.
- La surveillance des applications se concentre sur la santé des applications, comme la latence, la disponibilité et les défauts.
- La surveillance du réseau dispose d'Internet Monitor et de Network Monitor pour suivre à la fois le trafic global (Internet) et hybride (sur site avec cloud), la latence et la perte de paquets.
- La surveillance de l'infrastructure peut inclure un aperçu de vos conteneurs (Amazon Elastic et Kubernetes) pour l'utilisation des ressources telles que le CPU, la mémoire, etc. Il peut également assurer le cursus de vos applications AWS Lambda pour les mêmes métriques.
3. Tableaux de bord en temps réel
- Fournit des tableaux de bord personnalisables pour visualiser les performances et les tendances du système en temps réel.
- Possibilité de présenter des applications personnalisées et des mesures de son choix
Tableau de bord CloudWatch : Amazon Documentation
4. Alarmes et seuils
- Définit des alarmes pour détecter les anomalies de performance et y répondre, en déclenchant automatiquement des actions ou en envoyant des alertes.
- Certaines actions, notamment le lancement d'instances supplémentaires ou l'arrêt d'instances sous-utilisées.
Cas d'utilisation de AWS CloudWatch
Examinons quelques cas d'utilisation spécifiques d'AWS CloudWatch.
Optimisation des performances
AWS CloudWatch permet d'identifier les goulets d'étranglement et d'optimiser l'utilisation des ressources. Par exemple, Internet Monitor peut détecter les problèmes de latence sur une plateforme mondiale de jeux en cloud et recommander le déploiement de serveurs dans des régions plus optimales pour réduire le décalage.
Alerte automatisée
Définissez des alarmes basées sur des seuils prédéfinis pour la mise à l'échelle des ressources ou la détection des erreurs. Par exemple, lorsque les objectifs de niveau de service (SLO) d'une application ne sont pas atteints, CloudWatch peut envoyer des alertes et proposer des recommandations exploitables pour améliorer les mesures de performance.
Visibilité permanente
Utilisez des tableaux de bord pour avoir une vision en temps réel de l'état de santé du système. Les tableaux de bord sont particulièrement utiles pour suivre les performances des flux de données provenant de services comme AWSKinesis et AWS Lambda. Un excellent moyen de comprendre ce processus est ce cours sur le streaming de données avec AWS Kinesis et Lambda qui vous fait finalement construire des tableaux de bord avec AWS CloudWatch.
Qu'est-ce que AWS CloudTrail ?
AWS CloudTrail est un service de journalisation conçu pour suivre toute l'activité de l'API dans votre compte AWS, garantissant ainsi la responsabilité. Il enregistre les actions des utilisateurs, les changements de ressources et les interactions avec les services, fournissant ainsi une piste d'audit immuable à des fins de gouvernance et de conformité. Ceci est particulièrement utile pour le respect des règles de sécurité et l'audit du comportement des utilisateurs. Si vous souhaitez en savoir plus, consultez ce cours sur la sécurité AWS et la gestion des coûts.
Principales caractéristiques de AWS CloudTrail
Les principales fonctionnalités de CloudTrail concernent la surveillance de l'activité des utilisateurs. L'objectif de CloudTrail étant de maintenir la responsabilité et la capacité d'audit, il est logique que toutes les actions soient contrôlées et stockées.
1. Le cursus des actions
CloudTrail enregistre toutes les actions des utilisateurs, et ce cursus complet est essentiel pour comprendre le "qui, quoi et quand" de votre environnement AWS.
2. Soutien à la conformité
Aide les organisations à répondre aux exigences réglementaires telles que PCI DSS et HIPAA en conservant l'historique des événements.
En cas de violation, il peut être utilisé pour curer le moment exact et le compte d'utilisateur impliqué dans la violation.
4. Intégration avec les services AWS
CloudTrail peut envoyer des journaux à S3 pour un stockage à long terme ou à Amazon Athena pour des requêtes et des analyses. Ces intégrations facilitent l'analyse des tendances ou l'étude des anomalies.
Exemple de journaux CloudTrail : AWS CloudTrail Blog
Cas d'utilisation de AWS CloudTrail
Quelques cas d'utilisation clés d'AWS CloudTrail tournent autour des audits et du cursus de conformité.
Audits de sécurité
CloudTrail permet de réaliser des audits détaillés pour garantir la conformité avec les normes réglementaires et les politiques internes. En cas d'incident de sécurité, les journaux de CloudTrail fournissent les détails nécessaires à l'identification de la cause première et à l'évaluation de l'impact.
Journaux d'audit CloudTrail : Modèle de maturité de la sécurité AWS
Dépannage des changements
En examinant les journaux, les équipes peuvent retracer les changements apportés aux ressources qui pourraient avoir provoqué un comportement inattendu. Cela permet de résoudre plus facilement tout problème futur en aval.
CloudTrail vs. CloudWatch : Principales différences
Comme indiqué précédemment, CloudTrail et CloudWatch sont des outils de journalisation fondamentaux dans l'environnement AWS. Cependant, tous deux examinent des composants différents de l'environnement AWS et cette section couvrira ces différences clés, du point de vue de l'objectif au coût.
Focus
CloudWatch et CloudTrail se concentrent sur différentes parties de l'environnement AWS.
- CloudWatch: Contrôler les performances des ressources et l'état des opérations. L'objectif est ici de comprendre comment les composants AWS fonctionnent et s'il y a ou non des problèmes de latence, d'interaction avec les clients ou de limitation des ressources.
- CloudTrail: Cursus de l'activité de l'API à des fins de gouvernance et de conformité. L'objectif est ici de maintenir une "trace écrite" claire pour l'obligation de rendre compte.
Temps de latence des données
CloudWatch a une latence quasi nulle, tandis que CloudTrail a une certaine latence.
- CloudWatch: Fournit des informations en temps quasi réel, avec des mesures mises à jour toutes les minutes. Il est essentiel de disposer d'informations en temps réel, car CloudWatch doit être en mesure de fournir des alertes instantanées ou d'apporter des modifications aux ressources en fonction des besoins.
- CloudTrail: Enregistre l'activité de l'API avec un délai de quelques minutes, en se concentrant sur l'analyse historique. Étant donné que les journaux sont généralement utilisés pour consulter des actions historiques, un décalage de quelques minutes est acceptable.
Integration
Les deux s'intègrent parfaitement aux services AWS tels que Lambda, S3 et SNS.
- CloudWatch: Idéal pour la surveillance opérationnelle et les réponses automatisées aux mesures de performance. Il peut également s'intégrer à des conteneurs comme Kubernetes, au stockage EC2 et à d'autres applications pour une journalisation plus détaillée dans des cas d'utilisation particuliers.
- CloudTrail: Idéal pour l'audit de sécurité et le cursus des activités des utilisateurs. Il s'intégrera au stockage EC2 pour le stockage des journaux.
Coût
Tous deux proposent une journalisation de base gratuite, mais une journalisation avancée payante.
- CloudWatch: L'enregistrement de base de l'utilisation des ressources, des erreurs et des problèmes est généralement gratuit. Une journalisation plus détaillée a un coût qui dépend du volume des mesures collectées, des alarmes déclenchées et de la complexité des données stockées. Les niveaux de détail de la journalisation varient selon les applications.
- CloudTrail: L'enregistrement des événements de gestion est gratuit, mais l'enregistrement des événements de données et l'analyse avancée entraînent des frais supplémentaires.
Enregistrement des données
La manière dont les journaux sont collectés et stockés diffère entre les deux outils en fonction de leurs cas d'utilisation uniques.
- CloudWatch: Les données sont fournies en temps réel, mais peuvent être agrégées en fonction des délais. Étant donné qu'il n'est pas toujours nécessaire de fournir des détails exacts, les données fournies sont généralement résumées à l'échelle de temps à laquelle elles ont été collectées.
- CloudTrail: Dans le but de fournir des pistes d'audit précises et détaillées, il ne regroupe pas les activités. Au contraire, il fournit des informations sur chaque action entreprise afin de créer un plan d'action clair.
Résumé des principales différences
Voici un tableau résumant les principales différences.
Fonctionnalité |
AWS CloudWatch |
AWS CloudTrail |
Objectif principal |
Contrôler les performances des ressources et la santé des opérations. |
Cursus de l'activité de l'API à des fins de gouvernance et d'audit. |
Focus |
Suivi des performances et des mesures. |
Sécurité, conformité et enregistrement des activités des utilisateurs. |
Temps de latence des données |
Presque en temps réel (mises à jour toutes les minutes). |
Retardé (journaux enregistrés toutes les quelques minutes). |
Types de journaux |
Journaux d'application et de système en temps réel, agrégés |
Journaux historiques de l'activité de l'API, non agrégés |
Intégrations |
SNS, Lambda, Auto Scaling pour les actions opérationnelles. |
S3, Athena et des outils tiers pour l'analyse des journaux. |
Cas d'utilisation |
Optimisation des performances, alertes automatisées, tableaux de bord. |
Audits de sécurité, analyses médico-légales, conformité. |
Coût |
Frais basés sur les mesures, les alarmes et le stockage des journaux. |
Gratuit pour les événements de gestion, frais supplémentaires pour les événements de données. |
CloudTrail vs. CloudWatch vs. Config AWS
Alors que CloudTrail et CloudWatch s'occupent de la journalisation et de la surveillance, AWS Config se concentre sur le suivi des modifications de configuration des ressources AWS. Il est donc utile pour comprendre l'impact de la configuration actuelle sur vos ressources AWS. AWS Config n'est pas un outil de journalisation, mais vous aide à comprendre l'impact des changements sur la gestion de vos ressources AWS.
- CloudTrail: Enregistre l'activité de l'API à des fins de sécurité et d'audit pour répondre aux normes de conformité.
- CloudWatch: Surveille les performances des ressources AWS et peut être utilisé pour les alarmes.
- AWS Config : Veille à ce que les changements de configuration restent dans les limites fixées et permet de montrer l'impact des changements sur les ressources.
Conclusion : Quand utiliser CloudTrail et CloudWatch ?
Pour les utilisateurs d'AWS, le choix entre CloudTrail et CloudWatch se résume à leur objectif. Utilisez CloudWatch si vous avez besoin de surveiller les performances du système, de suivre les mesures opérationnelles et d'automatiser les réponses aux anomalies. Utilisez CloudTrail si vous vous concentrez sur la sécurité, la conformité ou l'audit des activités des utilisateurs.
Il est essentiel de savoir quel outil utiliser pour assurer une surveillance, une journalisation et une maintenance complètes de l'infrastructure AWS. Si vous souhaitez en savoir plus sur AWS et sur le fonctionnement de ces outils, consultez quelques ressources :
FAQ CloudTrail vs CloudWatch
AWS CloudTrail et AWS CloudWatch peuvent-ils être utilisés ensemble ?
Oui. Par exemple, vous pouvez configurer les journaux CloudTrail pour qu'ils déclenchent des alarmes dans CloudWatch lorsque des événements spécifiques se produisent, tels que des appels API non autorisés ou des modifications de ressources critiques. Cette intégration permet de combler le fossé entre le contrôle des performances et l'audit de sécurité.
CloudWatch collecte-t-il automatiquement des mesures pour tous les services AWS ?
CloudWatch collecte par défaut des métriques de base pour de nombreux services AWS, comme l'utilisation du processeur d'une instance EC2 ou le nombre d'invocations Lambda. Toutefois, pour obtenir des mesures détaillées, vous devrez peut-être activer des fonctions de surveillance avancées, ce qui peut entraîner des coûts supplémentaires.
Combien de temps les journaux de CloudTrail sont-ils conservés, et peuvent-ils être stockés plus longtemps ?
Par défaut, CloudTrail conserve les journaux pendant 90 jours dans l'historique des événements. Cependant, vous pouvez configurer CloudTrail pour qu'il transmette les journaux à un bac Amazon S3 pour un stockage à long terme. Cela est utile pour les enquêtes de conformité et les enquêtes médico-légales.
Comment puis-je réduire les coûts associés aux journaux CloudWatch ?
Pour minimiser les coûts des journaux CloudWatch, vous pouvez utiliser des filtres de journaux pour ne conserver que les journaux nécessaires, configurer des politiques de conservation des journaux pour supprimer automatiquement les anciens journaux, et compresser et exporter les journaux vers Amazon S3 pour un stockage à long terme.
Existe-t-il un moyen d'analyser les métriques CloudWatch ou les journaux CloudTrail sans les télécharger ?
CloudWatch: Les mesures peuvent être analysées directement dans la console CloudWatch à l'aide de tableaux de bord, d'alarmes et de calculs de mesures. Les journaux peuvent être consultés à l'aide de CloudWatch Logs Insights.
CloudTrail: Les journaux peuvent être analysés à l'aide d'Amazon Athena sans qu'il soit nécessaire de les télécharger. En stockant les journaux CloudTrail dans un seau S3, vous pouvez utiliser des requêtes SQL dans Athena pour extraire rapidement des informations.
Je suis un data scientist avec de l'expérience dans l'analyse spatiale, l'apprentissage automatique et les pipelines de données. J'ai travaillé avec GCP, Hadoop, Hive, Snowflake, Airflow et d'autres processus d'ingénierie et de science des données.
Les meilleurs cours de DataCamp
cours
Sécurité AWS et gestion des coûts
cursus