Registros de acesso com integração de tabelas do S3 - CloudWatch Registros da Amazon

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á.

Registros de acesso com integração de tabelas do S3

A integração de tabelas do S3 CloudWatch permite que você acesse dados de log ingeridos CloudWatch usando mecanismos de análise como Amazon Athena, Amazon Redshift e ferramentas de terceiros que oferecem suporte à conexão com lojas compatíveis com o Apache Iceberg. Essa integração permite que você realize uma análise abrangente de registros usando ferramentas de sua preferência e correlacione dados em CloudWatch registros com dados que não CloudWatch são dados.

Entendendo a integração de tabelas do S3

A integração de tabelas do Amazon S3 é uma solução totalmente gerenciada que disponibiliza seus registros em CloudWatch registros como tabelas gerenciadas do Amazon S3. Com essa integração, você ganha maior flexibilidade na forma como analisa seus registros, além dos recursos de CloudWatch registros.

A integração funciona criando um bucket de tabelas gerenciado do Amazon S3 (aws-cloudwatch) e associando fontes de log específicas às tabelas do Amazon S3 com base no nome e no tipo da fonte de dados (que podem ser gerenciados na guia Gerenciamento de registros > Fontes de dados no console de registros). CloudWatch Uma vez associados, CloudWatch os dados de registros se tornam acessíveis por meio de tabelas do Amazon S3 usando o formato Apache Iceberg. Esse formato fornece uma maneira padronizada para vários mecanismos de análise consultarem os dados com eficiência.

Componentes principais

Associação de fontes de dados

O processo de vincular fontes de CloudWatch registros específicas à integração de tabelas do S3 com base na fonte de dados e nos critérios de tipo.

Tabelas do Apache Iceberg

O formato de tabela subjacente usado pelo S3 Tables que fornece armazenamento estruturado de dados e permite compatibilidade com vários mecanismos de análise.

Fluxo de dados para tabelas do S3

Entender como os dados fluem entre CloudWatch os registros e as tabelas do S3 ajuda você a planejar sua integração e gerenciar seus dados de registro de forma eficaz.

Quando você cria uma associação, o CloudWatch Logs envia automaticamente novos eventos de log que correspondem ao nome e ao tipo da fonte de dados associada para um bucket CloudWatch de tabela do S3 gerenciado. Você pode encontrar esses eventos no namespace de registros abaixo da tabela correspondente dessa fonte de dados. Os processos de integração registram somente os eventos adicionados após a criação da associação e não preenchem os registros anteriores à criação da associação.

A retenção de dados no bucket de tabelas do S3 corresponde à política de retenção definida para o grupo de registros. Por exemplo, se você definir um grupo de registros para retenção de 1 dia, o CloudWatch Logs removerá os dados dos CloudWatch Logs e da Tabela S3 após um dia. Quando você exclui um grupo de registros ou um stream de CloudWatch registros, o Logs também remove os dados do bucket da tabela do S3.

Quando usar a integração de tabelas do S3

Considere usar a integração de tabelas do S3 para correlacionar dados de log com outros dados externos ou não, ou quando preferir usar outras ferramentas de análise, como o Amazon Athena, para realizar análises CloudWatch em CloudWatch dados de registros. Use essa integração quando precisar de recursos que vão além do que está disponível no CloudWatch Logs. Essa integração é particularmente valiosa quando:

  • Você precisa executar consultas complexas do tipo SQL em grandes volumes de dados de log

  • Você deseja integrar a análise de registros aos fluxos de trabalho e ferramentas de análise existentes

  • Você precisa de recursos abrangentes de análise de registros que abranjam várias fontes de dados

Não há cobranças adicionais de armazenamento ou manutenção de tabelas para tabelas do S3 criadas por meio dessa integração, além dos preços existentes CloudWatch de ingestão e armazenamento.

Pré-requisitos

Antes de implementar a integração, verifique se você tem o seguinte:

  • Dados CloudWatch de registros existentes

  • Permissões apropriadas do IAM para acesso entre serviços entre CloudWatch registros e tabelas do S3, conforme descrito na seção a seguir

permissões do IAM

Para integrar CloudWatch os registros às tabelas do S3, você precisa configurar as permissões do IAM para duas entidades separadas: o usuário ou a função que configura a integração e a função de serviço que o CloudWatch Logs assume para gravar dados nas tabelas do S3.

Para a função ou usuário que está criando a integração

O usuário ou a função que configura a integração exige as seguintes permissões:

  • observabilityadmin:CreateS3TableIntegrationpara criar a integração e logs:AssociateSourceToS3TableIntegration adicionar fontes

  • s3tables:CreateTableBucket,s3tables:PutTableBucketEncryption, e s3tables:PutTableBucketPolicy para configurar o bucket de tabela S3

Para o perfil de serviço

Anexe a seguinte política do IAM à função de serviço do IAM que o CloudWatch Logs usa para gravar dados no bucket da tabela. Essa política concede permissão para gravar nas tabelas. Substitua aws-region123456789012, e log-group-name por sua AWS região, ID da conta e nome do grupo de registros.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:integrateWithS3Table" ], "Resource": ["arn:aws:logs:aws-region:123456789012:log-group:log-group-name"], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }

Anexe a seguinte política de confiança à função de serviço do IAM que a CloudWatch Logs assumirá para gravar dados de log nas tabelas do S3. Você cria ou seleciona essa função durante a configuração da integração. As condições restringem a função para que o CloudWatch Logs só possa assumi-la para a conta e o grupo de registros especificados. Substitua aws-region123456789012, e log-group-name por sua AWS região, ID da conta e nome do grupo de registros.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:aws-region:123456789012:log-group:log-group-name"] } } } ] }

Política de chaves do KMS (para dados criptografados)

Se você usar uma chave gerenciada pelo cliente para criptografar seus dados de log, deverá conceder acesso à chave ao responsável pelo CloudWatch serviço e ao responsável pelo serviço de manutenção do S3 Tables. Adicione as seguintes declarações à sua política de chaves do KMS. Substitua os valores do espaço reservado por seu Conta da AWS ID, região, ID da chave KMS e ARN da tabela ou do bucket de tabela do S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableSystemTablesKeyUsage", "Effect": "Allow", "Principal": { "Service": "systemtables.cloudwatch.amazonaws.com" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:aws-region:123456789012:key/key-id", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }, { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:aws-region:123456789012:key/key-id", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn": "<table-or-table-bucket-arn>/*" } } } ] }

Conceitos básicos

Para começar com a integração de tabelas do S3, você precisa configurar a integração entre seus CloudWatch registros e tabelas do S3. Esse processo envolve a configuração de associações de fontes de dados e a configuração de permissões apropriadas do IAM.

Para criar uma integração de tabelas do S3
  1. Abra o console de CloudWatch registros em https://console.aws.amazon.com/cloudwatch/”.

  2. Escolha Configurações, Global, Criar integração de tabelas do S3.

  3. Personalize como os registros serão criptografados nas tabelas do S3 e a função que CloudWatch os registros usarão para gravar seus registros nas tabelas do S3.

  4. Escolha Criar integração de tabela do S3.

Para associar fontes a uma integração de tabelas do S3
  1. Abra o console de CloudWatch registros em https://console.aws.amazon.com/cloudwatch/”.

  2. Escolha Configurações, Global, Gerenciar integração de tabelas do S3.

  3. Escolha Associar fonte de dados.

  4. Selecione o nome da fonte de dados e o tipo da fonte de dados para a qual você deseja habilitar a integração.

  5. Escolha Associar fonte de dados.

Para associar fontes a uma integração de tabela do S3 a partir da página de gerenciamento de registros
  1. Abra o console de CloudWatch registros em https://console.aws.amazon.com/cloudwatch/”.

  2. Escolha Gerenciamento de registros no painel de navegação.

  3. Selecione a guia Fontes de dados.

  4. Escolha o nome e o tipo da fonte de dados que você deseja integrar.

  5. Escolha Ações da fonte de dados.

  6. Selecione Associar à integração de tabelas do S3.

  7. Revise as fontes de dados e escolha Associar fonte de dados.

Antes de usar os dados, você precisa seguir as 3 etapas a seguir:

  1. Integrando tabelas do Amazon Amazon S3 AWS com serviços de análise - Usando o console do Amazon S3

  2. Configurar as permissões do Lake Formation

  3. Conecte-se com as ferramentas de análise

Integrando tabelas do Amazon Amazon S3 AWS com serviços de análise - Usando o console do Amazon S3 (Link)

Para habilitar a integração de tabelas do S3 usando o console do S3
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets de tabela.

  3. Clique em Ativar integração na parte superior.

  4. Na primeira vez que você integra buckets de tabela em qualquer região, o Amazon Amazon S3 cria uma nova função de serviço do IAM em seu nome. Essa função permite que o Lake Formation acesse todos os compartimentos de mesa em sua conta e federe o acesso às suas tabelas no AWS Glue Data Catalog.

Configurar as permissões do Lake Formation

Embora o CloudWatch Logs tenha permissão para gravar na tabela (configurada nas etapas anteriores), os usuários e as funções de análise não têm permissão automática para ler os dados. Você deve conceder acesso explicitamente usando o AWS Lake Formation. Você precisa fazer isso para cada diretor do IAM que você deseja fornecer acesso à tabela.

Para conceder acesso de consulta a usuários ou funções

Você deve conceder as permissões SELECT e DESCRIBE aos diretores do IAM (usuários ou funções) que executarão consultas no Athena ou no Redshift.

  1. Abra o console do AWS Lake Formation.

  2. No painel de navegação, em Permissões, escolha Permissões do data lake.

  3. Selecione Conceder.

  4. Diretores: selecione os usuários ou funções do IAM que exigem acesso (por exemplo, seus analistas de dados ou a função de administrador que você está usando atualmente).

  5. Etiquetas LF ou recursos do catálogo: selecione recursos do catálogo de dados nomeado.

  6. Bancos de dados e tabelas:

    • Selecione o bucket do S3 Table criado pela CloudWatch integração (aws-cloudwatch).

    • Selecione a tabela específica associada à sua fonte de dados (opcional).

  7. Permissões da tabela: selecione Selecionar e descrever.

  8. Selecione Conceder.

nota

Se você encontrar erros de “Acesso negado” ao consultar registros no Athena, certifique-se de que o usuário que está executando a consulta tenha as permissões apropriadas do IAM para o Athena e as permissões do Lake Formation definidas acima.

Saiba mais sobre as permissões do Lake Formation em https://docs.aws.amazon.com/lake-formation/latest/dg/granting-catalog-permissions.html.

Conecte-se com as ferramentas de análise

Depois que as permissões forem concedidas, você poderá configurar seu serviço de análise preferido para consultar as tabelas do S3. As tabelas S3 usam o formato Apache Iceberg, que é suportado nativamente pelo Amazon Athena, Amazon Redshift e Amazon EMR.

Para consultar dados de log no Amazon Athena

O Amazon Athena interage com as tabelas do S3 por meio do catálogo de tabelas do Amazon S3.

Para configurar o Athena para consultar seus dados de registro
  1. Abra o console do Amazon Athena em. https://console.aws.amazon.com/athena/

  2. No editor de consultas, selecione o catálogo de tabelas do Amazon S3 no menu suspenso da fonte de dados.

  3. Se você não vê o catálogo, certifique-se de ter concluído as etapas de permissão do Lake Formation acima para sua função de usuário específica.

  4. Depois que o catálogo for selecionado, suas tabelas de log aparecerão na lista do banco de dados. Agora você pode executar consultas SQL padrão em seus dados de log.

Exemplo de consulta: SELECT * FROM "amazon_vpc__flow" LIMIT 100;

Saiba mais sobre como conectar os serviços do Analytics às tabelas do https://docs.aws.amazon.com/AmazonS3/latest/userguide/sS3 em tables-integrating-aws 3-.html.