Registrar em log as solicitações com registro em log de acesso ao servidor
O registro em log de acesso ao servidor fornece detalhes sobre as solicitações que são feitas a um bucket. Os logs de acesso ao servidor podem ser usados para análise operacional, para entender sua postura de segurança e para cobrar dos usuários.
O Amazon S3 coleta periodicamente os registros de log de acesso, os consolida e os entrega ao destino escolhido. Você pode entregar logs ao Amazon CloudWatch Logs ou a um bucket de uso geral do Amazon S3.
nota
Os logs de acesso ao servidor não registram informações sobre erros de redirecionamento a regiões erradas para regiões lançadas após 20 de março de 2019. Erros de redirecionamento para regiões erradas ocorrem quando uma solicitação para um objeto ou bucket é feita fora da região em que o bucket existe.
Opções de entrega
Você pode entregar logs de acesso ao servidor para dois destinos. Você pode usar um ou os dois.
-
Amazon CloudWatch Logs: entrega logs em formato estruturado para um grupo de logs do CloudWatch Logs. Você pode consultar logs com o CloudWatch Logs Insights, agregar logs entre contas e regiões e criptografar logs com o AWS KMS. No grupo de logs, você também pode entregar logs para o Amazon S3 no formato JSON ou Apache Parquet ou espelhar logs para Tabelas do S3 no formato Apache Iceberg para análise de SQL. Aplicam-se as taxas de ingestão de logs fornecidos do CloudWatch.
-
Bucket de uso geral do Amazon S3: entrega logs em formato de texto delimitado por espaço para um bucket do Amazon S3 especificado por você. Não há cobrança pela entrega dos logs. Você só paga pelo armazenamento dos arquivos de log. O bucket de destino deve estar nas mesmas Região da AWS e Conta da AWS que o bucket de origem.
A tabela a seguir compara as duas opções de entrega.
| Recurso | Amazon CloudWatch Logs | Bucket de uso geral do Amazon S3 |
|---|---|---|
| Destinos | Grupo de logs do CloudWatch Logs, Amazon S3 (JSON ou Parquet) ou Amazon Data Firehose. A entrega do grupo de logs do CloudWatch Logs pode ser estendida para espelhar os logs nas Tabelas do S3 no formato Iceberg. | Bucket do Amazon S3 (texto delimitado por espaço) |
| Formato do log | JSON estruturado (grupo de logs), JSON ou Apache Parquet (Amazon S3), Apache Iceberg (Tabelas do S3) | Texto delimitado por espaço |
| Consulta | CloudWatch Logs Insights (grupo de logs), Amazon Athena ou Spark (Tabelas do S3) | Amazon Athena |
| Análise de SQL por meio de Tabelas do S3 | Sim (espelhamento automático do Iceberg) | Não (requer ETL) |
| Agregação entre contas | Sim (os destinos do Amazon S3 e do Firehose oferecem suporte à entrega entre contas) | Não (somente na mesma conta) |
| Agregação entre regiões | Sim (os destinos do Amazon S3 e do Firehose oferecem suporte à entrega entre regiões) | Não (somente na mesma região) |
| AWS KMScriptografia do | Sim | Não (somente SSE-S3) |
| Configuração | APIs do CloudWatch Logs ou console do Amazon S3 | API (PutBucketLogging) ou console do Amazon S3 |
| Latência de entrega | Em algumas horas | Em algumas horas |
Entrega de logs do servidor de melhor esforço
Os registros de log de acesso ao servidor são entregues com base no melhor esforço. A maioria das solicitações para um bucket configurado corretamente para registro em log tem como resultado um registro do log entregue. A maioria dos registros de log é entregue dentro de algumas horas após o tempo em que forem registrados, mas eles podem ser entregues com mais frequência.
A integralidade e a pontualidade do registro em log do servidor não são garantidas. O registro de log de uma solicitação específica pode ser entregue muito depois de a solicitação ter sido realmente processada ou pode nem ser entregue. É possível que você até veja uma duplicação de um registro de log. A finalidade dos logs do servidor é proporcionar uma ideia da natureza do tráfego no bucket. Embora a perda ou a duplicação de registros de log sejam acontecimentos raros, esteja ciente de que o registro em log do servidor não tem como objetivo ser uma contabilidade completa de todas as solicitações.
Devido à natureza de melhor esforço do registro em log do servidor, os relatórios de uso podem incluir uma ou mais solicitações de acesso que não aparecem em um log do servidor entregue. Você pode encontrar esses relatórios de uso em Cost & usage reports no console do Gerenciamento de Faturamento e Custos da AWS.
As alterações do status do registro de bucket em logs entram em vigor ao longo do tempo
As alterações no status do log de um bucket levam tempo para realmente afetar a entrega de arquivos de log. Por exemplo, se você habilitar o registro em log para um bucket, algumas solicitações feitas na hora seguinte poderão ser registradas, enquanto outras não. Suponha que você altere o bucket de destino para registro em log do bucket A para o bucket B. Durante a hora seguinte, alguns logs poderão continuar sendo entregues ao bucket A, enquanto outros serão entregues ao novo bucket de destino B. Da mesma forma, se você alterar o grupo de logs do CloudWatch Logs usado para entrega, alguns logs poderão continuar sendo entregues ao grupo de logs anterior durante a transição. Em todos os casos, as novas configurações acabam sendo aplicadas sem que você necessite tomar qualquer outra ação.
Preços
O custo do registro em log de acesso ao servidor depende da opção de entrega usada.
-
Amazon CloudWatch Logs: você paga pela ingestão de acordo com as taxas de logs fornecidos do CloudWatch, com preços hierárquicos baseados em volume. O CloudWatch Logs comprime os logs antes do armazenamento e, portanto, o volume armazenado é significativamente menor do que o volume ingerido. Se você ativar o espelhamento de Tabelas do S3, não haverá cobrança adicional pelo armazenamento ou pela manutenção da tabela. Você paga somente pelas solicitações de consulta de acordo com os preços de Tabelas do S3. Para ver as taxas atuais, consulte Preços do CloudWatch
. -
Bucket de uso geral do Amazon S3: não há cobrança pela entrega de logs. Você paga somente pelo armazenamento dos arquivos de log de acordo com as taxas de armazenamento padrão do Amazon S3. Não estimamos as cobranças pela transferência de dados por entrega de arquivo de log, mas cobramos a taxa normal de transferência de dados pelo acesso aos arquivos de log. Para ver as taxas atuais, consulte Preços do Amazon S3
.
Para obter mais informações sobre como entregar e usar logs de acesso ao servidor, consulte as seções a seguir.