Utilisation CloudWatch dans des comptes centralisés ou distribués - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation CloudWatch dans des comptes centralisés ou distribués

Bien qu' CloudWatch il soit conçu pour surveiller les AWS services ou les ressources d'un seul compte et d'une seule région, vous pouvez utiliser un compte central pour capturer les journaux et les statistiques de plusieurs comptes et régions. Si vous utilisez plusieurs comptes ou régions, vous devez déterminer s'il convient d'utiliser l'approche des comptes centralisés ou un compte individuel pour capturer les journaux et les statistiques. Généralement, une approche hybride est requise pour les déploiements multicomptes et multirégions afin de répondre aux exigences des responsables de la sécurité, de l'analyse, des opérations et de la charge de travail.

Le tableau suivant indique les points à prendre en compte lors du choix d'une approche centralisée, distribuée ou hybride.

Structures de comptes Votre organisation peut avoir plusieurs comptes distincts (par exemple, des comptes pour les charges de travail hors production et de production) ou des milliers de comptes pour des applications uniques dans des environnements spécifiques. Nous vous recommandons de conserver les journaux et les métriques des applications dans le compte sur lequel s'exécute la charge de travail, afin que les propriétaires de la charge de travail puissent accéder aux journaux et aux métriques. Cela leur permet de jouer un rôle actif dans la journalisation et la surveillance. Nous vous recommandons également d'utiliser un compte de journalisation distinct pour agréger tous les journaux de charge de travail à des fins d'analyse, d'agrégation, de tendances et d'opérations centralisées. Des comptes de journalisation distincts peuvent également être utilisés à des fins de sécurité, d'archivage, de surveillance et d'analyse.

Exigences en matière d'accès Les membres de l'équipe (par exemple, les propriétaires de charges de travail ou les développeurs) doivent avoir accès aux journaux et aux métriques pour résoudre les problèmes et apporter des améliorations. Les journaux doivent être conservés dans le compte de la charge de travail pour faciliter l'accès et le dépannage. Si les journaux et les métriques sont conservés dans un compte distinct de celui de la charge de travail, les utilisateurs peuvent avoir besoin d'alterner régulièrement entre les comptes.

L'utilisation d'un compte centralisé fournit des informations de journal aux utilisateurs autorisés sans accorder l'accès au compte de charge de travail. Cela peut simplifier les exigences d'accès pour les charges de travail analytiques où l'agrégation est requise pour les charges de travail exécutées sur plusieurs comptes. Le compte de journalisation centralisé peut également proposer d'autres options de recherche et d'agrégation, telles qu'un cluster Amazon OpenSearch Service. Amazon OpenSearch Service fournit un contrôle d'accès précis jusqu'au niveau du terrain pour vos journaux. Un contrôle d'accès précis est important lorsque vous avez des données sensibles ou confidentielles qui nécessitent un accès et des autorisations spécialisés.

Opérations De nombreuses organisations disposent d'une équipe centralisée chargée des opérations et de la sécurité ou d'une organisation externe chargée du support opérationnel qui a besoin d'accéder aux journaux à des fins de surveillance. La journalisation et la surveillance centralisées peuvent faciliter l'identification des tendances, la recherche, l'agrégation et l'exécution d'analyses sur tous les comptes et charges de travail. Si votre organisation utilise l'approche « vous le créez, vous l'exécutez » DevOps, les responsables de la charge de travail doivent enregistrer et surveiller les informations dans leur compte. Une approche hybride peut être nécessaire pour répondre aux besoins des opérations et des analyses centralisées, en plus de la propriété distribuée de la charge de travail.

Environnement

Vous pouvez choisir d'héberger les journaux et les métriques dans un emplacement central pour les comptes de production et de conserver les journaux et les métriques pour d'autres environnements (par exemple, le développement ou les tests) dans le même compte ou dans des comptes distincts, en fonction des exigences de sécurité et de l'architecture du compte. Cela permet d'empêcher un public plus large d'accéder aux données sensibles créées pendant la production.

CloudWatch propose plusieurs options pour traiter les journaux en temps réel grâce à des filtres CloudWatch d'abonnement. Vous pouvez utiliser des filtres d'abonnement pour diffuser les journaux en temps réel vers AWS des services à des fins de traitement, d'analyse et de chargement personnalisés vers d'autres systèmes. Cela peut être particulièrement utile si vous adoptez une approche hybride dans laquelle vos journaux et statistiques sont disponibles dans des comptes individuels et des régions, en plus d'un compte et d'une région centralisés. La liste suivante fournit des exemples de AWS services pouvant être utilisés à cette fin :

  • Amazon Data Firehose — Firehose fournit une solution de streaming qui s'adapte et se redimensionne automatiquement en fonction du volume de données produit. Vous n'avez pas besoin de gérer le nombre de partitions dans un flux de données Amazon Kinesis et vous pouvez vous connecter directement à Amazon Simple Storage Service (Amazon S3) OpenSearch , Amazon Service ou Amazon Redshift sans codage supplémentaire. Firehose est une solution efficace si vous souhaitez centraliser vos logs dans ces services. AWS

  • Amazon Kinesis Data Streams — Kinesis Data Streams est une solution appropriée si vous devez intégrer un service non pris en charge par Firehose et implémenter une logique de traitement supplémentaire. Vous pouvez créer une destination Amazon CloudWatch Logs dans vos comptes et régions qui spécifie un flux de données Kinesis dans un compte central et un rôle AWS Identity and Access Management (IAM) lui octroyant l'autorisation de placer des enregistrements dans le flux. Kinesis Data Streams fournit une zone d'atterrissage flexible et illimitée pour vos données de journal, qui peuvent ensuite être consommées par différentes options. Vous pouvez lire les données du journal Kinesis Data Streams dans votre compte, effectuer un prétraitement et envoyer les données vers la destination de votre choix.

    Cependant, vous devez configurer les partitions du flux de manière à ce qu'il soit correctement dimensionné pour les données de journal produites. Kinesis Data Streams agit comme un intermédiaire ou une file d'attente temporaire pour vos données de journal, et vous pouvez stocker les données dans le flux Kinesis pendant un à 365 jours. Kinesis Data Streams prend également en charge la fonctionnalité de rediffusion, ce qui signifie que vous pouvez rejouer des données qui n'ont pas été consommées.

  • Amazon OpenSearch Service — CloudWatch Logs peut diffuser les journaux d'un groupe de journaux vers un OpenSearch cluster via un compte individuel ou centralisé. Lorsque vous configurez un groupe de journaux pour diffuser des données vers un OpenSearch cluster, une fonction Lambda est créée dans le même compte et dans la même région que votre groupe de journaux. La fonction Lambda doit disposer d'une connexion réseau avec le OpenSearch cluster. Vous pouvez personnaliser la fonction Lambda pour effectuer un prétraitement supplémentaire, en plus de personnaliser l'ingestion dans Amazon Service. OpenSearch La journalisation centralisée avec Amazon OpenSearch Service facilite l'analyse, la recherche et le dépannage des problèmes liés aux multiples composants de votre architecture cloud.

  • Lambda — Si vous utilisez Kinesis Data Streams, vous devez provisionner et gérer les ressources de calcul qui consomment les données de votre flux. Pour éviter cela, vous pouvez transmettre les données du journal directement à Lambda pour traitement et les envoyer vers une destination en fonction de votre logique. Cela signifie que vous n'avez pas besoin de provisionner et de gérer des ressources informatiques pour traiter les données entrantes. Si vous choisissez d'utiliser Lambda, assurez-vous que votre solution est compatible avec les quotas Lambda.

Il se peut que vous deviez traiter ou partager des données de journal stockées dans CloudWatch des journaux au format de fichier. Vous pouvez créer une tâche d'exportation pour exporter un groupe de journaux vers Amazon S3 pour une date ou une plage horaire spécifique. Par exemple, vous pouvez choisir d'exporter les journaux quotidiennement vers Amazon S3 à des fins d'analyse et d'audit. Lambda peut être utilisé pour automatiser cette solution. Vous pouvez également associer cette solution à la réplication Amazon S3 pour expédier et centraliser vos journaux provenant de plusieurs comptes et régions vers un compte et une région centralisés.

La configuration de l' CloudWatch agent peut également spécifier un credentials champ dans la agentsection. Cela indique un IAM rôle à utiliser lors de l'envoi de métriques et de journaux vers un autre compte. S'il est spécifié, ce champ contient le role_arn paramètre. Ce champ peut être utilisé lorsque vous n'avez besoin que d'une journalisation et d'une surveillance centralisées dans un compte centralisé et une région spécifiques.

Vous pouvez également l'utiliser AWSSDKpour écrire votre propre application de traitement personnalisée dans la langue de votre choix, lire les journaux et les statistiques de vos comptes et envoyer des données vers un compte centralisé ou une autre destination pour un traitement et une surveillance ultérieurs.