Centralize o monitoramento usando o Amazon CloudWatch Observability Access Manager - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Centralize o monitoramento usando o Amazon CloudWatch Observability Access Manager

Criado por Anand Krishna Varanasi (AWS), Jimmy Morgan (), Ashish Kumar (AWS), Balaji Vedagiri (), (AWS), Sarat Chandra Pothula (AWS) e Vivek JAGDISH KOMAKULA Thangamuthu (AWS) AWS AWS

Repositório de código: cloudwatch-obervability-access-manager -terraform

Ambiente: produção

Tecnologias: Infraestrutura; Gestão e governança; Estratégia de várias contas

AWSserviços: Amazon CloudWatch; Amazon CloudWatch Logs

Resumo

A observabilidade é crucial para monitorar, entender e solucionar problemas de aplicativos. Aplicativos que abrangem várias contas, como implementações de landing zone AWS Control Tower ou landing zone, geram um grande número de registros e rastreiam dados. Para solucionar problemas rapidamente ou entender a análise de usuários ou a análise de negócios, você precisa de uma plataforma de observabilidade comum em todas as contas. O Amazon CloudWatch Observability Access Manager oferece acesso e controle sobre vários registros de contas a partir de um local central.

Você pode usar o Gerente de Acesso à Observabilidade para visualizar e gerenciar registros de dados de observabilidade gerados pelas contas de origem. As contas de origem são individuais Contas da AWS que geram dados de observabilidade para seus recursos. Os dados de observabilidade são compartilhados entre contas de origem e as de monitoramento. Os dados de observabilidade compartilhados podem incluir métricas na Amazon CloudWatch, registros no Amazon CloudWatch Logs e rastreamentos. AWS X-Ray Para obter mais informações, consulte Referência de API do Gerente de Acesso à Observabilidade.

Esse padrão é para usuários que têm aplicativos ou infraestrutura executados em vários Contas da AWS e precisam de um local comum para visualizar os registros. Ele explica como você pode configurar o Gerente de Acesso à Observabilidade usando o Terraform para monitorar o status e a integridade desses aplicativos ou infraestrutura. Você pode instalar essa solução de várias maneiras:

  • Como um módulo autônomo do Terraform que você configura manualmente

  • Usando um pipeline de integração contínua e entrega contínua (CI/CD)

  • Ao se integrar com outras soluções, como AWS Control Tower Account Factory for Terraform () AFT

As instruções na seção Épicos abrangem a implementação manual. Para ver as etapas de AFT instalação, consulte o README arquivo do repositório do GitHub Observability Access Manager.

Pré-requisitos e limitações

Pré-requisitos

  • O Terraform instalado ou referenciado em seu sistema ou em tubulações automatizadas. (É recomendável usar a versão mais recente.)

  • Uma conta que você pode usar como uma conta de monitoramento central. Outras contas criam links para a conta de monitoramento central para visualizar os logs.

  • (Opcional) Um repositório de código-fonte GitHub, como AWS CodeCommit, Atlassian Bitbucket ou sistema similar. Um repositório de código-fonte não é necessário se você estiver usando pipelines automatizados de CI/CD.

  • (Opcional) Permissões para criar pull requests (PRs) para revisão de código e colaboração de código em GitHub.

Limitações

O Gerente de Acesso à Observabilidade tem as seguintes Service Quotas, que não podem ser alteradas. Considere essas cotas antes de implantar esse atributo. Para obter mais informações, consulte as cotas de CloudWatch serviço na CloudWatch documentação.

  • Links da conta de origem: você pode vincular cada conta de origem a no máximo cinco contas de monitoramento.

  • Coletores: você pode criar vários coletores para uma conta, mas somente um coletor por conta Região da AWS é permitido.

Além disso:

  • Os coletores e links devem ser criados da mesma forma Região da AWS; eles não podem ser interregionais.

Monitoramento entre regiões e entre contas

Para o monitoramento entre regiões e entre contas, você pode escolher uma das seguintes opções:

  • Crie CloudWatch painéis entre contas e regiões para alarmes e métricas. Essa opção não é compatível com registros e rastreamentos.

  • Implemente o registro centralizado usando o Amazon OpenSearch Service.

  • Crie um coletor por região a partir de todas as contas de locatários, envie métricas para uma conta de monitoramento centralizada (conforme descrito neste padrão) e, em seguida, use fluxos de CloudWatch métricas para enviar os dados para um destino externo comum ou para produtos de monitoramento de terceiros, como Datadog, Dynatrace, Sumo Logic, Splunk ou New Relic.

Arquitetura

Componentes

CloudWatch O Observability Access Manager consiste em dois componentes principais que permitem a observabilidade entre contas:

  • Um coletor permite que as contas de origem enviem dados de observabilidade para a conta de monitoramento central. Basicamente, um coletor fornece uma junção de gateway para as contas de origem se conectarem. Só pode haver um gateway ou conexão de coletor, e várias contas podem se conectar a ele.

  • Cada conta de origem tem um link para a junção do gateway do coletor e os dados de observabilidade são enviados por meio desse link. Você deve criar um coletor antes de criar links de cada conta de origem.

Arquitetura

O diagrama a seguir ilustra o Gerente de Acesso à Observabilidade e seus componentes.

Arquitetura para observabilidade entre contas com coletores e links.

Ferramentas

Serviços da AWS

  • CloudWatchA Amazon ajuda você a monitorar as métricas dos seus AWS recursos e dos aplicativos em que você executa AWS em tempo real.

  • AWS Organizationsé um serviço de gerenciamento de contas que ajuda você a consolidar várias Contas da AWS em uma organização que você cria e gerencia centralmente.

  • AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.

Ferramentas

  • O Terraform é uma ferramenta de infraestrutura como código (IaC) HashiCorp que ajuda você a criar e gerenciar recursos na nuvem e no local.

  • AWS Control Tower Account Factory for Terraform (AFT) configura um pipeline do Terraform para ajudá-lo a provisionar e personalizar contas em. AWS Control Tower Opcionalmente, você pode usar AFT para configurar o Observability Access Manager em escala em várias contas.

Repositório de código

O código desse padrão está disponível no repositório do GitHub Observability Access Manager.

Práticas recomendadas

  • Em AWS Control Tower ambientes, marque a conta de registro como a conta de monitoramento central (coletor).

  • Se você tiver várias organizações com várias contas AWS Organizations, recomendamos que você inclua as organizações em vez de contas individuais na política de configuração. Se você tiver um pequeno número de contas ou se as contas não fizerem parte de uma organização na política de configuração do coletor, você pode optar por incluir contas individuais.

Épicos

TarefaDescriçãoHabilidades necessárias

Clonar o repositório.

Clone o repositório do GitHub Observability Access Manager:

git clone https://github.com/aws-samples/cloudwatch-obervability-access-manager-terraform
AWS DevOps, administrador de nuvem, AWS administrador

Especifique os valores das propriedades para o módulo coletor.

No arquivo main.tf (na pasta deployments/aft-account-customizations/LOGGING/terraform/ do repositório), especifique valores para as seguintes propriedades:

  • sink_name: O nome da CloudWatch pia.

  • allowed_oam_resource_types: O Observability Access Manager atualmente oferece suporte a CloudWatch métricas, grupos de registros e AWS X-Ray rastreamentos.

  • allowed_source_accounts: as contas de origem que têm permissão para enviar registros para a conta do CloudWatch coletor central.

  • allowed_source_organizations: as AWS Control Tower organizações de origem que têm permissão para enviar registros para a conta do CloudWatch coletor central.

Para obter mais informações, consulte AWS: :Oam: :Sink na documentação. AWS CloudFormation

AWS DevOps, administrador de nuvem, AWS administrador

Instale o módulo sink.

Exporte as credenciais da Conta da AWS que você selecionou como conta de monitoramento e instale o módulo coletor do Observability Access Manager:

Terraform Init Terrafom Plan Terraform Apply
AWS DevOps, administrador de nuvem, AWS administrador
TarefaDescriçãoHabilidades necessárias

Especifique os valores da propriedade para o módulo de link.

No arquivo main.tf (na pasta deployments/aft-account-customizations/LOGGING/terraform/ do repositório), especifique valores para as seguintes propriedades:

  • account_label: use um dos seguintes valores:

    • $AccountName: o nome da conta.

    • $AccountEmail: um endereço de e-mail globalmente exclusivo, que inclui o domínio de e-mail (por exemplo, hello@example.com)

    • $AccountEmailNoDomain: um endereço de e-mail sem o nome de domínio.

  • allowed_oam_resource_types: O Observability Access Manager atualmente oferece suporte a CloudWatch métricas, grupos de registros e AWS X-Ray rastreamentos.

Para obter mais informações, consulte AWS: :Oam: :Link na documentação. AWS CloudFormation

AWS DevOps, Administrador de nuvem, arquiteto de nuvem

Instale o módulo de link para contas individuais.

Exporte as credenciais de contas individuais e instale o módulo de link do Gerente de Acesso à Observabilidade:

Terraform Plan Terraform Apply

Você pode configurar o módulo de link individualmente para cada conta ou usá-lo AFTpara instalar automaticamente esse módulo em um grande número de contas.

AWS DevOps, Administrador de nuvem, arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Verificar a mensagem de status.

  1. Faça login na conta de monitoramento.

  2. Abra o CloudWatch console.

  3. No painel de navegação à esquerda, escolha Configurações.

À direita, você deve ver a mensagem de status Conta de monitoramento habilitada com uma marca de seleção verde. Isso significa que a conta de monitoramento tem um coletor do Gerente de Acesso à Observabilidade ao qual os links de outras contas se conectarão.

Aprove as link-to-sink conexões.

  1. Escolha a opção Recursos para vincular contas abaixo da mensagem de status. As informações confirmam que essa é a conta de monitoramento, listam os dados compartilhados das contas de origem do inquilino (registros, métricas, rastreamentos) e mostram o rótulo da conta como $. AccountName

    Essa tela fornece duas opções para vincular contas de inquilino à conta de monitoramento: aprovação em nível de organização ou aprovação em nível de conta. Para cada opção, você pode escolher baixar um AWS CloudFormation modelo para aprovação ou aprovar cada conta individualmente.

  2. Para simplificar, escolha Qualquer conta para aprovar em cada nível de conta. Essa opção fornece um link de aprovação para a conta.

  3. Escolha Copiar URL para copiar o link.

  4. Faça login em cada conta de origem.

  5. Em uma janela do navegador, cole o link e escolha Aprovar link para conectar ao coletor.

  6. Repita o procedimento para contas de origem adicionais.

Para obter mais informações, consulte Vincular contas de monitoramento com contas de origem na CloudWatch documentação.

AWS DevOps, Administrador de nuvem, arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Visualize dados entre contas.

  1. Faça login na conta central de monitoramento.

  2. Abra o CloudWatch console.

  3. No painel de navegação à esquerda, escolha as opções para visualizar logs, métricas e rastreamentos entre contas.

AWS DevOps, Administrador de nuvem, arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Visualize métricas, painéis, logs, widgets e alarmes de outras contas.

Como recurso adicional, você pode compartilhar CloudWatch métricas, painéis, registros, widgets e alarmes com outras contas. Cada conta usa uma IAM função chamada CloudWatch- CrossAccountSharingRole para obter acesso a esses dados.

As contas de origem que têm uma relação de confiança com a conta central de monitoramento podem assumir essa função e visualizar dados da conta de monitoramento.

CloudWatch fornece um CloudFormation script de exemplo para criar a função. Escolha Gerenciar função e execute esse script nas contas em que você deseja visualizar os dados. IAM

{ "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" } ] }

Para obter mais informações, consulte Habilitando a funcionalidade entre contas CloudWatch na CloudWatch documentação.

AWS DevOps, Administrador de nuvem, arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Configure o acesso entre contas e entre regiões.

Na conta central de monitoramento, você pode, opcionalmente, adicionar um seletor de contas para alternar facilmente entre contas e visualizar seus dados sem precisar se autenticar.

  1. Faça login na conta central de monitoramento.

  2. Abra o CloudWatch console.

  3. No painel de navegação à esquerda, escolha Configurações.

  4. Na seção Exibir entre contas e entre regiões, escolha Configurar.

  5. Escolha Habilitar e marque a caixa de seleção Mostrar seletor no console.

  6. Escolha uma destas opções:

    • Entrada do ID da conta: essa opção pede que você insira manualmente o ID da conta sempre que quiser alterar as contas para visualizar os dados de várias contas.

    • AWSSeletor de conta da organização: se você tiver integrado CloudWatch com AWS Organizations, essa opção fornece um seletor suspenso com uma lista completa de contas na organização.

    • Seletor de conta personalizado: essa opção permite que você insira manualmente uma lista de contas IDs para preencher o seletor.

  7. Escolha Salvar alterações.

Para obter mais informações, consulte CloudWatch Console multiregional entre contas na CloudWatch documentação.

AWS DevOps, Administrador de nuvem, arquiteto de nuvem

Recursos relacionados