Centralisez la surveillance à l'aide d'Amazon CloudWatch Observability Access Manager - Recommandations AWS

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.

Centralisez la surveillance à l'aide d'Amazon CloudWatch Observability Access Manager

Créé par Anand Krishna Varanasi (AWS), Jimmy Morgan (), Ashish Kumar (AWS), Balaji Vedagiri (), (AWS), Sarat Chandra Pothula (AWS) et Vivek Thangamuthu JAGDISH KOMAKULA (AWS) AWS AWS

Dépôt de code : cloudwatch-obervability-access-manager-terraform

Environnement : Production

Technologies : infrastructure ; gestion et gouvernance ; stratégie multi-comptes

AWSservices : Amazon CloudWatch ; Amazon CloudWatch Logs

Récapitulatif

L'observabilité est essentielle à la surveillance, à la compréhension et au dépannage des applications. Les applications qui couvrent plusieurs comptes, comme les AWS Control Tower implémentations de zones de landing zone, génèrent un grand nombre de journaux et de données de suivi. Pour résoudre rapidement les problèmes ou comprendre les analyses des utilisateurs ou les analyses commerciales, vous avez besoin d'une plateforme d'observabilité commune à tous les comptes. L'Amazon CloudWatch Observability Access Manager vous permet d'accéder à plusieurs journaux de comptes et de les contrôler à partir d'un emplacement central.

Vous pouvez utiliser le gestionnaire d'accès à l'observabilité pour consulter et gérer les journaux de données d'observabilité générés par les comptes sources. Les comptes sources sont des comptes individuels Comptes AWS qui génèrent des données d'observabilité pour leurs ressources. Les données d'observabilité sont partagées entre les comptes sources et les comptes de surveillance. Les données d'observabilité partagées peuvent inclure des métriques dans Amazon CloudWatch, des logs dans Amazon CloudWatch Logs et des traces in AWS X-Ray. Pour plus d'informations, consultez la documentation d'Observability Access Manager.

Ce modèle est destiné aux utilisateurs dont les applications ou les infrastructures s'exécutent en plusieurs parties Comptes AWS et qui ont besoin d'un emplacement commun pour consulter les journaux. Il explique comment configurer Observability Access Manager à l'aide de Terraform, pour surveiller l'état et l'état de santé de ces applications ou infrastructures. Vous pouvez installer cette solution de plusieurs manières :

  • En tant que module Terraform autonome que vous configurez manuellement

  • En utilisant un pipeline d'intégration continue et de livraison continue (CI/CD)

  • En s'intégrant à d'autres solutions telles que AWS Control Tower Account Factory pour Terraform () AFT

Les instructions de la section Epics couvrent la mise en œuvre manuelle. Pour connaître les étapes AFT d'installation, consultez le README fichier du référentiel GitHub Observability Access Manager.

Conditions préalables et limitations

Prérequis

  • Terraform installé ou référencé dans votre système ou dans des pipelines automatisés. (Nous vous recommandons d'utiliser la dernière version.)

  • Un compte que vous pouvez utiliser comme compte de surveillance centralisé. D'autres comptes créent des liens vers le compte de surveillance central afin de consulter les journaux.

  • (Facultatif) Un référentiel de code source tel qu' GitHubAtlassian Bitbucket ou un système similaire. AWS CodeCommit Un référentiel de code source n'est pas nécessaire si vous utilisez des pipelines CI/CD automatisés.

  • (Facultatif) Autorisations permettant de créer des pull requests (PRs) pour la révision du code et la collaboration en matière de code dans GitHub.

Limites

Observability Access Manager dispose des quotas de service suivants, qui ne peuvent pas être modifiés. Tenez compte de ces quotas avant de déployer cette fonctionnalité. Pour plus d'informations, consultez la section Quotas de CloudWatch service dans la CloudWatch documentation.

  • Liens vers des comptes sources : vous pouvez associer chaque compte source à un maximum de cinq comptes de surveillance.

  • Réservoirs : vous pouvez créer plusieurs récepteurs pour un compte, mais un seul récepteur par compte Région AWS est autorisé.

En outre :

  • Les cuvettes et les liens doivent être créés de la même manière Région AWS ; ils ne peuvent pas être interrégionaux.

Surveillance entre régions et entre comptes

Pour la surveillance entre régions et entre comptes, vous pouvez choisir l'une des options suivantes :

  • Créez des CloudWatch tableaux de bord inter-comptes et interrégionaux pour les alarmes et les métriques. Cette option ne prend pas en charge les journaux et les traces.

  • Implémentez la journalisation centralisée à l'aide d'Amazon OpenSearch Service.

  • Créez un récepteur par région à partir de tous les comptes locataires, envoyez les métriques vers un compte de surveillance centralisé (comme décrit dans ce modèle), puis utilisez des flux de CloudWatch métriques pour envoyer les données vers une destination externe commune ou vers des produits de surveillance tiers tels que Datadog, Dynatrace, Sumo Logic, Splunk ou New Relic.

Architecture

Composants

CloudWatch Observability Access Manager se compose de deux composants principaux qui permettent l'observabilité entre comptes :

  • Un récepteur permet aux comptes source d'envoyer des données d'observabilité au compte de surveillance central. Un récepteur fournit essentiellement une passerelle à laquelle les comptes source peuvent se connecter. Il ne peut y avoir qu'une seule passerelle ou connexion réceptrice, et plusieurs comptes peuvent s'y connecter.

  • Chaque compte source possède un lien vers la jonction de la passerelle réceptrice, et les données d'observabilité sont envoyées via ce lien. Vous devez créer un récepteur avant de créer des liens à partir de chaque compte source.

Architecture

Le schéma suivant illustre Observability Access Manager et ses composants.

Architecture pour l'observabilité entre comptes avec puits et liens.

Outils

Services AWS

  • Amazon vous CloudWatch aide à surveiller les indicateurs de vos AWS ressources et des applications que vous utilisez AWS en temps réel.

  • AWS Organizationsest un service de gestion de comptes qui vous aide à Comptes AWS en regrouper plusieurs au sein d'une organisation que vous créez et gérez de manière centralisée.

  • AWS Identity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser.

Outils

  • Terraform est un outil d'infrastructure en tant que code (IaC) HashiCorp qui vous aide à créer et à gérer des ressources cloud et sur site.

  • AWS Control Tower Account Factory for Terraform (AFT) met en place un pipeline Terraform pour vous aider à approvisionner et à personnaliser des comptes dans. AWS Control Tower Vous pouvez éventuellement l'utiliser AFT pour configurer Observability Access Manager à grande échelle sur plusieurs comptes.

Référentiel de code

Le code de ce modèle est disponible dans le référentiel GitHub Observability Access Manager.

Bonnes pratiques

  • Dans AWS Control Tower les environnements, marquez le compte de journalisation comme compte de surveillance central (récepteur).

  • Si plusieurs organisations possèdent plusieurs comptes AWS Organizations, nous vous recommandons d'inclure les organisations plutôt que les comptes individuels dans la politique de configuration. Si vous avez un petit nombre de comptes ou si les comptes ne font pas partie d'une organisation dans la politique de configuration du récepteur, vous pouvez décider d'inclure des comptes individuels à la place.

Épopées

TâcheDescriptionCompétences requises

Pour cloner le référentiel.

Clonez le référentiel GitHub Observability Access Manager :

git clone https://github.com/aws-samples/cloudwatch-obervability-access-manager-terraform
AWS DevOps, Administrateur du cloud, AWS administrateur

Spécifiez les valeurs des propriétés du module récepteur.

Dans le main.tf fichier (dans le deployments/aft-account-customizations/LOGGING/terraform/ dossier du référentiel), spécifiez les valeurs des propriétés suivantes :

  • sink_name: nom de l' CloudWatch évier.

  • allowed_oam_resource_types: Observability Access Manager prend actuellement en charge les CloudWatch métriques, les groupes de journaux et les AWS X-Ray traces.

  • allowed_source_accounts: comptes source autorisés à envoyer des journaux au compte CloudWatch récepteur central.

  • allowed_source_organizations: les AWS Control Tower organisations sources autorisées à envoyer des journaux vers le compte CloudWatch récepteur central.

Pour plus d'informations, consultez AWS: :Oam : :Sink dans la documentation. AWS CloudFormation

AWS DevOps, Administrateur du cloud, AWS administrateur

Installez le module d'évier.

Exportez les informations d'identification du compte Compte AWS que vous avez sélectionné comme compte de surveillance et installez le module récepteur Observability Access Manager :

Terraform Init Terrafom Plan Terraform Apply
AWS DevOps, Administrateur du cloud, AWS administrateur
TâcheDescriptionCompétences requises

Spécifiez les valeurs des propriétés du module de liaison.

Dans le main.tf fichier (dans le deployments/aft-account-customizations/LOGGING/terraform/ dossier du référentiel), spécifiez les valeurs des propriétés suivantes :

  • account_label: utilisez l'une des valeurs suivantes :

    • $AccountName: nom du compte.

    • $AccountEmail: adresse e-mail unique au monde, qui inclut le domaine de messagerie (par exemple,hello@example.com)

    • $AccountEmailNoDomain: une adresse e-mail sans le nom de domaine.

  • allowed_oam_resource_types: Observability Access Manager prend actuellement en charge les CloudWatch métriques, les groupes de journaux et les AWS X-Ray traces.

Pour plus d'informations, consultez AWS: :Oam : :Link dans la documentation. AWS CloudFormation

AWS DevOps, Administrateur cloud, architecte cloud

Installez le module de liaison pour les comptes individuels.

Exportez les informations d'identification des comptes individuels et installez le module de lien Observability Access Manager :

Terraform Plan Terraform Apply

Vous pouvez configurer le module de liaison individuellement pour chaque compte ou l'utiliser AFTpour installer automatiquement ce module sur un grand nombre de comptes.

AWS DevOps, Administrateur cloud, architecte cloud
TâcheDescriptionCompétences requises

Vérifiez le message d'état.

  1. Connectez-vous au compte de surveillance.

  2. Ouvrez la CloudWatch console.

  3. Dans le panneau de navigation de gauche, choisissez Paramètres.

Sur la droite, vous devriez voir le message d'état Monitoring account enabled avec une coche verte. Cela signifie que le compte de surveillance dispose d'un récepteur Observability Access Manager auquel les liens des autres comptes se connecteront.

Approuvez les link-to-sink connexions.

  1. Choisissez l'option Ressources pour lier les comptes sous le message d'état. Les informations confirment qu'il s'agit du compte de surveillance, répertorient les données partagées à partir des comptes sources des locataires (journaux, métriques, traces) et indiquent le libellé du compte sous la forme $AccountName.

    Cet écran propose deux options pour lier les comptes des locataires au compte de surveillance : approbation au niveau de l'organisation ou approbation au niveau du compte. Pour chaque option, vous pouvez choisir de télécharger un AWS CloudFormation modèle pour l'approbation ou d'approuver chaque compte individuellement.

  2. Pour plus de simplicité, choisissez N'importe quel compte à approuver à chaque niveau de compte. Cette option fournit un lien d'approbation pour le compte.

  3. Choisissez Copier URL pour copier le lien.

  4. Connectez-vous à chaque compte source.

  5. Dans une fenêtre de navigateur, collez le lien, puis choisissez Approuver la connexion du lien au récepteur.

  6. Répétez l'opération pour les comptes sources supplémentaires.

Pour plus d'informations, consultez la section Lier les comptes de surveillance aux comptes source dans la CloudWatch documentation.

AWS DevOps, Administrateur cloud, architecte cloud
TâcheDescriptionCompétences requises

Afficher les données entre comptes.

  1. Connectez-vous au compte de surveillance central.

  2. Ouvrez la CloudWatch console.

  3. Dans le volet de navigation de gauche, choisissez des options pour afficher les journaux, les métriques et les traces entre comptes.

AWS DevOps, Administrateur cloud, architecte cloud
TâcheDescriptionCompétences requises

Consultez les métriques, les tableaux de bord, les journaux, les widgets et les alarmes d'autres comptes.

En tant que fonctionnalité supplémentaire, vous pouvez partager les CloudWatch métriques, les tableaux de bord, les journaux, les widgets et les alarmes avec d'autres comptes. Chaque compte utilise un IAM rôle appelé CloudWatch- CrossAccountSharingRole pour accéder à ces données.

Les comptes sources entretenant une relation de confiance avec le compte de surveillance central peuvent assumer ce rôle et consulter les données du compte de surveillance.

CloudWatch fournit un exemple de CloudFormation script pour créer le rôle. Choisissez Gérer le IAM rôle dans et exécutez ce script dans les comptes sur lesquels vous souhaitez consulter les données.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::XXXXXXXXX:root", "arn:aws:iam::XXXXXXXXX:root", "arn:aws:iam::XXXXXXXXX:root", "arn:aws:iam::XXXXXXXXX:root" ] }, "Action": "sts:AssumeRole" } ] }

Pour plus d'informations, consultez la section Activation de la fonctionnalité multi-comptes CloudWatch dans la CloudWatch documentation.

AWS DevOps, Administrateur cloud, architecte cloud
TâcheDescriptionCompétences requises

Configurez un accès entre comptes et entre régions.

Dans le compte de surveillance central, vous pouvez éventuellement ajouter un sélecteur de compte pour passer facilement d'un compte à l'autre et consulter leurs données sans avoir à vous authentifier.

  1. Connectez-vous au compte de surveillance central.

  2. Ouvrez la CloudWatch console.

  3. Dans le panneau de navigation de gauche, choisissez Paramètres.

  4. Dans la section Afficher plusieurs comptes entre régions, choisissez Configurer.

  5. Choisissez Activer, puis cochez la case Afficher le sélecteur dans la console.

  6. Choisissez l'une des options suivantes :

    • Saisie de l'identifiant du compte : cette option vous invite à saisir manuellement l'identifiant du compte chaque fois que vous souhaitez changer de compte pour afficher les données entre comptes.

    • AWSSélecteur de comptes d'organisation : si vous l'avez intégré CloudWatch AWS Organizations, cette option fournit un sélecteur déroulant avec une liste complète des comptes de l'organisation.

    • Sélecteur de compte personnalisé : cette option vous permet de saisir manuellement une liste de comptes IDs pour remplir le sélecteur.

  7. Sélectionnez Enregistrer les modifications.

Pour plus d'informations, consultez la section CloudWatch Console entre comptes et régions dans la CloudWatch documentation.

AWS DevOps, Administrateur cloud, architecte cloud

Ressources connexes