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á.
Configure o registro centralizado em escala corporativa usando o Terraform
Criado por Aarti Rajput (AWS), Yashwant Patel (AWS) e Nishtha Yadav (AWS)
Resumo
O registro centralizado é vital para a infraestrutura de nuvem de uma organização, pois fornece visibilidade de suas operações, segurança e conformidade. À medida que sua organização expande seu AWS ambiente em várias contas, uma estratégia estruturada de gerenciamento de registros se torna fundamental para executar operações de segurança, atender aos requisitos de auditoria e alcançar a excelência operacional.
Esse padrão fornece uma estrutura escalável e segura para centralizar registros de vários serviços Contas da AWS e, a fim de permitir o gerenciamento de registros em escala empresarial em implantações complexas. AWS A solução é automatizada usando o Terraform, que é uma ferramenta de infraestrutura como código (IaC) HashiCorp que garante implantações consistentes e reproduzíveis e minimiza a configuração manual. Ao combinar o Amazon CloudWatch Logs, o Amazon Data Firehose e o Amazon Simple Storage Service (Amazon S3), você pode implementar um pipeline robusto de agregação e análise de logs que fornece:
Gerenciamento centralizado de registros em toda a sua organização em AWS Organizations
Coleta automatizada de registros com controles de segurança integrados
Processamento de registros escalável e armazenamento durável
Relatórios de conformidade e trilhas de auditoria simplificados
Monitoramento e insights operacionais em tempo real
A solução coleta registros de contêineres e funções do Amazon Elastic Kubernetes Service (Amazon EKS AWS Lambda ), funções e instâncias de banco de dados do Amazon Relational Database Service (Amazon RDS) por meio de registros. CloudWatch Ele encaminha automaticamente esses registros para uma conta de registro dedicada usando filtros de CloudWatch assinatura. O Firehose gerencia o pipeline de streaming de log de alto rendimento para o Amazon S3 para armazenamento de longo prazo. O Amazon Simple Queue Service (Amazon SQS) está configurado para receber notificações de eventos do Amazon S3 após a criação do objeto. Isso permite a integração com serviços de análise, incluindo:
Amazon OpenSearch Service para pesquisa de registros, visualização e análise em tempo real
Amazon Athena para consultas baseadas em SQL
Amazon EMR para processamento em grande escala
Lambda para transformação personalizada
Amazon QuickSight para painéis
Todos os dados são criptografados usando AWS Key Management Service (AWS KMS), e toda a infraestrutura é implantada usando o Terraform para uma configuração consistente em todos os ambientes.
Essa abordagem de registro centralizado permite que as organizações melhorem sua postura de segurança, mantenham os requisitos de conformidade e otimizem a eficiência operacional em toda a AWS infraestrutura.
Pré-requisitos e limitações
Pré-requisitos
Um landing zone para sua organização que é construído usando AWS Control Tower
Account Factory for Terraform (AFT), implantado e configurado com as contas necessárias
Terraform
para provisionar a infraestrutura AWS Identity and Access Management Funções e políticas (IAM) para acesso entre contas
Para obter instruções sobre como configurar AWS Control Tower contas AFT e Application, consulte a seção Epics.
Contas obrigatórias
Sua organização AWS Organizations deve incluir as seguintes contas:
Conta de aplicativo — Uma ou mais contas de origem nas quais Serviços da AWS (Amazon EKS, Lambda e Amazon RDS) são executadas e geram registros
Conta de arquivamento de registros — uma conta dedicada para armazenamento e gerenciamento centralizados de registros
Versões do produto
AWS Control Tower versão 3.1 ou posterior
Terraform versão 0.15.0
ou posterior
Arquitetura
O diagrama a seguir ilustra uma arquitetura de registro AWS centralizada que fornece uma solução escalável para coletar, processar e armazenar registros de várias contas de aplicativos em uma conta dedicada do Log Archive. Essa arquitetura gerencia com eficiência os registros de Serviços da AWS, incluindo Amazon RDS, Amazon EKS e Lambda, e os encaminha por meio de um processo simplificado para os buckets regionais do S3 na conta do Log Archive.

O fluxo de trabalho inclui cinco processos:
Processo de fluxo de log
O processo de fluxo de registros começa nas contas do aplicativo, onde são Serviços da AWS gerados vários tipos de registros, como registros gerais, de erros, de auditoria, de consultas lentas do Amazon RDS, registros do plano de controle do Amazon EKS e registros de execução de funções e erros do Lambda.
CloudWatch serve como ponto de coleta inicial. Ele reúne esses registros no nível do grupo de registros em cada conta do aplicativo.
Em CloudWatch, os filtros de assinatura determinam quais registros devem ser encaminhados para a conta central. Esses filtros oferecem controle granular sobre o encaminhamento de registros, para que você possa especificar padrões de log exatos ou fluxos de log completos para centralização.
Transferência de registros entre contas
Os registros são movidos para a conta do Log Archive. CloudWatch os filtros de assinatura facilitam a transferência entre contas e preservam o contexto regional.
A arquitetura estabelece vários fluxos paralelos para lidar com diferentes fontes de log de forma eficiente, a fim de garantir desempenho e escalabilidade ideais.
Processamento de registros na conta do Log Archive
Na conta do Log Archive, o Firehose processa os fluxos de log recebidos.
Cada região mantém fluxos de entrega dedicados do Firehose que podem transformar, converter ou enriquecer os registros conforme necessário.
Esses streams do Firehose entregam os registros processados aos buckets do S3 na conta Log Archive, que está localizada na mesma região das contas do aplicativo de origem (Região A no diagrama) para manter os requisitos de soberania dos dados.
Notificações e fluxos de trabalho adicionais
Quando os registros chegam aos buckets S3 de destino, a arquitetura implementa um sistema de notificação usando o Amazon SQS.
As filas SQS regionais permitem o processamento assíncrono e podem acionar fluxos de trabalho adicionais, análises ou sistemas de alerta com base nos registros armazenados.
AWS KMS para segurança
A arquitetura é incorporada AWS KMS para fins de segurança. AWS KMS fornece chaves de criptografia para os buckets do S3. Isso garante que todos os registros armazenados mantenham a criptografia em repouso, mantendo a criptografia regional para atender aos requisitos de residência de dados.
Ferramentas
Serviços da AWS
CloudWatchA Amazon é um serviço de monitoramento e observabilidade que coleta dados operacionais e de monitoramento na forma de registros, métricas e eventos. Ele fornece uma visão unificada dos AWS recursos, aplicativos e serviços que são executados na AWS e em servidores locais.
CloudWatch Os filtros de assinatura de registros são expressões que correspondem a um padrão nos eventos de registro recebidos e entregam eventos de registro correspondentes ao AWS recurso especificado para processamento ou análise adicionais.
AWS Control Tower O Account Factory For Terraform (AFT) configura um pipeline do Terraform para ajudá-lo a provisionar e personalizar contas em. AWS Control Tower O AFT fornece provisionamento de contas baseado em Terraform, permitindo que você administre suas contas com. AWS Control Tower
O Amazon Data Firehose fornece dados de streaming em tempo real para destinos como Amazon S3, Amazon Redshift e Amazon Service. OpenSearch Ele é escalonado automaticamente para corresponder à taxa de transferência de seus dados e não requer administração contínua.
O Amazon Elastic Kubernetes Service (Amazon EKS) é um serviço gerenciado de orquestração de contêineres que facilita a implantação, o gerenciamento e a escalabilidade de aplicativos em contêineres usando o Kubernetes. Ele gerencia automaticamente a disponibilidade e a escalabilidade dos nós do plano de controle do Kubernetes.
AWS Key Management Service (AWS KMS) cria e controla chaves de criptografia para criptografar seus dados. AWS KMS se integra a outros Serviços da AWS para ajudá-lo a proteger os dados que você armazena com esses serviços.
AWS Lambdaé um serviço de computação sem servidor que permite executar código sem provisionar ou gerenciar servidores. Ele escala automaticamente seus aplicativos executando o código em resposta a cada acionador e cobra somente pelo tempo de computação que você usa.
O Amazon Relational Database Service (Amazon RDS) é um serviço gerenciado de banco de dados relacional que facilita a configuração, a operação e a escalabilidade de um banco de dados relacional na nuvem. Ele fornece capacidade econômica e redimensionável, ao mesmo tempo em que automatiza tarefas administrativas demoradas.
O Amazon Simple Queue Service (Amazon SQS) é um serviço de enfileiramento de mensagens que permite separar e escalar microsserviços, sistemas distribuídos e aplicativos sem servidor. Ele elimina a complexidade de gerenciar e operar o middleware orientado a mensagens.
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado em nuvem que oferece escalabilidade, disponibilidade de dados, segurança e desempenho. Ele pode armazenar e recuperar qualquer quantidade de dados de qualquer lugar na web.
Outras 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.
Código
O código desse padrão está disponível no repositório de registro GitHub centralizado
Práticas recomendadas
Use vários Contas da AWS em uma única organização em AWS Organizations. Essa prática permite o gerenciamento centralizado e o registro padronizado em todas as contas.
Configure buckets S3 com controle de versão, políticas de ciclo de vida e replicação entre regiões. Implemente criptografia e registro de acesso para segurança e conformidade.
Implemente padrões de registro comuns usando o formato JSON com campos e carimbos de data/hora padrão. Use uma estrutura de prefixo e correlação consistentes IDs para facilitar o rastreamento e a análise.
Habilite controles de segurança com AWS KMS criptografia e acesso com privilégios mínimos. Mantenha o AWS CloudTrail monitoramento e a rotação regular de chaves para aumentar a segurança.
Configure CloudWatch métricas e alertas para rastreamento de entrega. Monitore custos e desempenho com notificações automatizadas.
Configure as políticas de retenção do Amazon S3 para atender aos requisitos de conformidade e habilite o registro de acesso ao servidor do Amazon S3 para rastrear todas as solicitações feitas aos seus buckets do S3. Mantenha a documentação das políticas e regras de ciclo de vida do bucket do S3. Realize análises periódicas dos registros de acesso, permissões do bucket e configurações de armazenamento para ajudar a garantir as melhores práticas de conformidade e segurança.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configure um AWS Control Tower ambiente com o AFT. |
| Administrador da AWS |
Ative o compartilhamento de recursos para a organização. |
| Administrador da AWS |
Verifique ou provisione contas do aplicativo. | Para provisionar novas contas de aplicativos para seu caso de uso, crie-as por meio do AFT. Para obter mais informações, consulte Provisionar uma nova conta com o AFT na AWS Control Tower documentação. | Administrador da AWS |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Copie o conteúdo da |
| DevOps engenheiro |
Revise e edite os parâmetros de entrada para configurar a conta do aplicativo. | Nesta etapa, você configura o arquivo de configuração para criar recursos em contas de aplicativos, incluindo grupos de CloudWatch log, filtros de CloudWatch assinatura, funções e políticas do IAM e detalhes de configuração das funções Amazon RDS, Amazon EKS e Lambda. No seu
| DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Copie o conteúdo da |
| DevOps engenheiro |
Revise e edite os parâmetros de entrada para configurar a conta do Log Archive. | Nesta etapa, você configura o arquivo de configuração para criar recursos na conta do Log Archive, incluindo fluxos de entrega do Firehose, buckets S3, filas SQS e funções e políticas do IAM. Na
| DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Opção 1 - Implantar os arquivos de configuração do Terraform a partir do AFT. | No AFT, o pipeline do AFT é acionado depois que você envia o código com as alterações de configuração para o GitHub Depois de fazer alterações nos arquivos do Terraform (
notaSe você estiver usando uma ramificação diferente (como | DevOps engenheiro |
Opção 2 - Implantar o arquivo de configuração do Terraform manualmente. | Se você não estiver usando o AFT ou quiser implantar a solução manualmente, poderá usar os seguintes comandos do Terraform
| DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Verifique os filtros de assinatura. | Para verificar se os filtros de assinatura encaminham os registros corretamente dos grupos de registros da conta do aplicativo para a conta do Log Archive:
| DevOps engenheiro |
Verifique os streams do Firehose. | Para verificar se os streams do Firehose na conta do Log Archive processam os registros do aplicativo com êxito:
| DevOps engenheiro |
Valide os buckets S3 centralizados. | Para verificar se os buckets S3 centralizados recebem e organizam os registros adequadamente:
| DevOps engenheiro |
Valide as filas do SQS. | Para verificar se as filas do SQS recebem notificações para novos arquivos de log:
| DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Opção 1 - Desative o arquivo de configuração do Terraform do AFT. | Quando você remove os arquivos de configuração do Terraform e envia as alterações, o AFT inicia automaticamente o processo de remoção de recursos.
| DevOps engenheiro |
Opção 2 — Limpe os recursos do Terraform manualmente. | Se você não estiver usando o AFT ou quiser limpar os recursos manualmente, use os seguintes comandos do Terraform
| DevOps engenheiro |
Solução de problemas
Problema | Solução |
---|---|
O destino dos CloudWatch registros não foi criado ou está inativo. | Valide o seguinte:
|
O filtro de assinatura falhou ou está preso no status pendente. | Verifique o seguinte:
|
O stream de entrega do Firehose não mostra registros recebidos. | Verifique o seguinte:
|
Recursos relacionados
Configuração da infraestrutura do Terraform (documentação do
Terraform) Implante o AWS Control Tower Account Factory for Terraform (AFT) (AWS Control Tower documentação)
Tutorial do IAM: delegue o acesso Contas da AWS usando funções do IAM () IAMdocumentation