Configurar o registro em log padrão (legado)
Observações
-
Este tópico destina-se à versão anterior do registro em log padrão. Para obter a versão mais recente, consulte Configurar o registro em log padrão (v2).
-
Se você já habilitou o registro em log padrão (legado) e deseja habilitar o registro em log padrão (v2) no Amazon S3, recomendamos que especifique um bucket do Amazon S3 diferente ou use um caminho separado no mesmo bucket (por exemplo, use um prefixo de log ou particionamento). Isso ajuda a controlar quais arquivos de log são associados a qual distribuição e evita que um substitua o outro.
Para começar a usar o registro em log padrão (legado), conclua as seguintes etapas:
-
Escolha o bucket do Amazon S3 que receberá os logs e adicione as permissões necessárias.
-
Configure o registro em log padrão (legado) por meio do console ou da API do CloudFront. Você só pode escolher um bucket do Amazon S3 para receber os logs.
-
Visualize os logs de acesso.
Escolher um bucket do Amazon S3 para logs padrão
Ao habilitar o registro de uma distribuição, você especifica o bucket do Amazon S3 no qual deseja que o CloudFront armazene os arquivos de log. Se você estiver usando o Amazon S3 como origem, recomendamos usar um bucket separado para os arquivos de log.
Especifique o bucket do Amazon S3 no qual você deseja que o CloudFront armazene logs de acesso; por exemplo, amzn-s3-demo-bucket.s3.amazonaws.com
.
Você pode armazenar os arquivos de log de várias distribuições no mesmo bucket. Ao habilitar o registro, você pode especificar um prefixo opcional para os nomes dos arquivos, a fim de diferenciar quais arquivos de log são associados a quais distribuições.
Como escolher um bucket do S3
-
O bucket deve ter a lista de controle de acesso (ACL) habilitada. Se você escolher um bucket sem a ACL habilitada no console do CloudFront, será exibida uma mensagem de erro. Consulte Permissões.
-
Não escolha um bucket do Amazon S3 com Propriedade do objeto do S3 configurado como imposto pelo proprietário do bucket. Essa configuração desativa as ACLs para o bucket e os objetos nele contidos, o que impede que o CloudFront entregue arquivos de log para o bucket.
Não escolha um bucket do Amazon S3 nas Regiões da AWS a seguir. O CloudFront não entrega logs padrão para buckets nestas regiões:
-
Africa (Cape Town)
-
Ásia-Pacífico (Hong Kong)
-
Ásia-Pacífico (Hyderabad)
-
Ásia-Pacífico (Jacarta)
-
Ásia-Pacífico (Melbourne)
-
Oeste do Canadá (Calgary)
-
Europa (Milão)
-
Europa (Espanha)
-
Europa (Zurique)
-
Israel (Tel Aviv)
-
Oriente Médio (Bahrein)
-
Oriente Médio (Emirados Árabes Unidos)
-
Permissões
Importante
A partir de abril de 2023, será necessário habilitar as ACLs do S3 para novos buckets do S3 usados para os logs padrão do CloudFront. É possível habilitar ACLs ao criar um bucket ou habilitar ACLs para um bucket existente.
Para obter mais informações sobre as alterações, consulte Perguntas frequentes sobre configurações padrão para novos buckets do S3 no Guia do usuário do Amazon Simple Storage Service e em Alerta: Alterações na segurança do Amazon S3 chegarão em abril de 2023
Sua Conta da AWS deve ter as seguintes permissões para o bucket especificado para os arquivos de log:
-
A ACL do bucket deve conceder
FULL_CONTROL
a você. Se você for o proprietário do bucket, sua conta terá essa permissão por padrão. Em caso negativo, o proprietário do bucket deverá atualizar a ACL do bucket. -
s3:GetBucketAcl
-
s3:PutBucketAcl
- ACL do bucket
-
Ao criar ou atualizar uma distribuição e habilitar o registro em log, o CloudFront usa essas permissões para atualizar a ACL do bucket a fim de fornecer à conta
awslogsdelivery
a permissãoFULL_CONTROL
. A contaawslogsdelivery
grava arquivos de log no bucket. Caso sua conta não tenha as permissões necessárias para atualizar a ACL, ocorrerá uma falha na criação ou atualização da distribuição.Em alguns casos, se você enviar, de forma programática, uma solicitação para criar um bucket, mas já existir um bucket com o nome especificado, o S3 redefinirá as permissões do bucket para o valor padrão. Se você configurou o CloudFront para salvar os logs de acesso em um bucket do S3 e interromper o registro nesse bucket, verifique as permissões dele para garantir que o CloudFront tenha as permissões necessárias.
- Restauração da ACL do bucket
-
Se você remover as permissões da conta
awslogsdelivery
, o CloudFront não poderá salvar os logs no bucket do S3. Para permitir que o CloudFront comece a salvar logs para sua distribuição novamente, restaure a permissão da ACL de uma das seguintes maneiras:-
Desabilite o registro em log de sua distribuição no CloudFront e habilite-o novamente. Para ter mais informações, consulte Registro em log padrão.
-
Adicione a permissão da ACL para
awslogsdelivery
manualmente navegando até o bucket do S3 no console do Amazon S3 e adicionando a permissão. Para adicionar a ACL paraawslogsdelivery
, você deve fornecer o ID canônico da conta, que é o seguinte:c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0
Consulte mais informações sobre como adicionar ACLs a buckets do S3 em Configurar ACLs no Guia do usuário do Amazon Simple Storage Service.
-
- ACL para cada arquivo de log
-
Além da ACL no bucket, há uma ACL em cada arquivo de log. O proprietário do bucket tem permissão
FULL_CONTROL
em cada arquivo de log, o proprietário da distribuição (se não for o proprietário do bucket) não tem permissão e a contaawslogsdelivery
tem permissões de leitura e de gravação. - Como desabilitar o registro
-
Se você desabilitar o registro, o CloudFront não excluirá as ACLs do bucket nem dos arquivos de log. Você pode excluir as ACLs, se necessário.
Política de chaves obrigatória para buckets do SSE-KMS
Se o bucket do S3 para os logs padrão usar criptografia do lado do servidor com AWS KMS keys (SSE-KMS) usando uma chave gerenciada pelo cliente, você deverá adicionar a instrução a seguir à política de chaves para a chave gerenciada pelo cliente. Isso permite que o CloudFront grave arquivos de log no bucket. Não é possível usar a SSE-KMS com a Chave gerenciada pela AWS porque o CloudFront não poderá gravar arquivos de log no bucket.
{ "Sid": "Allow CloudFront to use the key to deliver logs", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*" }
Se o bucket do S3 para os logs padrão usar SSE-KMS com uma Chave de bucket do S3, você também precisará adicionar a permissão kms:Decrypt
à instrução da política. Nesse caso, a declaração de política completa se parece com a seguinte.
{ "Sid": "Allow CloudFront to use the key to deliver logs", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }
nota
Ao habilitar a SSE-KMS para o bucket do S3, especifique o ARN completo para a chave gerenciada pelo cliente. Consulte mais informações em Especificando criptografia no lado do servidor com o AWS KMS keys (SSE-KMS) no Guia do usuário do Amazon Simple Storage Service.
Habilitar o registro em log padrão (legado)
Para habilitar logs padrão, use o console ou a API do CloudFront.
Sumário
Habilitar o registro em log padrão (legado) (console do CloudFront)
Como habilitar logs padrão para uma distribuição do CloudFront (console)
-
Use o console do CloudFront para criar uma nova distribuição ou atualizar uma existente.
-
Na seção Registro em log padrão, em Entrega de logs, escolha Ativado.
-
(Opcional) Em Registro de cookie, escolha Ativado se quiser incluir cookies nos logs. Para ter mais informações, consulte Registro em log de cookies.
dica
O registro em log de cookies é uma configuração global que se aplica a todos os logs padrão da sua distribuição. Você não pode substituir essa configuração para destinos de entrega separados.
-
Na seção Entregar para, especifique Amazon S3 (legado).
-
Especifique o bucket do Amazon S3. Se você ainda não tiver um, pode escolher Criar ou ver a documentação para criar um bucket.
-
(Opcional) Em Prefixo de log, especifique a string, se houver, a ser prefixada pelo CloudFront nos nomes de arquivo de log de acesso para essa distribuição; por exemplo,
exampleprefix/
. A barra no final (/) é opcional, mas recomendada para simplificar a navegação em seus arquivos de log. Para ter mais informações, consulte Prefixo de log. -
Conclua as etapas para atualizar ou criar sua distribuição.
-
Na página Logs, verifique se o status dos logs padrão está ativado ao lado da distribuição.
Para ter mais informações sobre a entrega do registro em log padrão e os campos de log, consulte Referência do registro em log padrão.
Habilitar o registro em log padrão (legado) (API do CloudFront)
Você também pode usar a API do CloudFront para habilitar o registro em log padrão para suas distribuições.
Como habilitar logs padrão para uma distribuição (API do CloudFront)
-
Use a operação de API CreateDistribution ou UpdateDistribution e configure o objeto LoggingConfig.
Editar as configurações do registro em log padrão
Você pode habilitar ou desabilitar o registro, alterar o bucket do Amazon S3 no qual os logs são armazenados e alterar o prefixo dos arquivos de log usando o console ou a API do CloudFront
Para obter mais informações, consulte os tópicos a seguir:
-
Para atualizar uma distribuição usando o console do CloudFront, consulte Atualizar uma distribuição.
-
Para atualizar uma distribuição usando a API do CloudFront, consulte UpdateDistribution na Referência de API do Amazon CloudFront.
Enviar logs ao Amazon S3
Quando você envia logs ao Amazon S3, eles aparecem no formato a seguir.
Formato do nome do arquivo
O nome de cada arquivo de log salvo pelo CloudFront no seu bucket do Amazon S3 usa o seguinte formato do nome do arquivo:
<optional
prefix>
/<distribution
ID>
.YYYY
-MM
-DD
-HH
.unique-ID
.gz
A data e a hora estão em Tempo Universal Coordenado (UTC).
Por exemplo, se você usar example-prefix
como prefixo e seu ID de distribuição for EMLARXS9EXAMPLE
, seus nomes de arquivo serão semelhantes a este:
example-prefix/EMLARXS9EXAMPLE.2019-11-14-20.RT4KCN4SGK9.gz
Ao habilitar o registro para uma distribuição, você pode especificar um prefixo opcional para os nomes dos arquivos, a fim de diferenciar quais arquivos de log são associados a quais distribuições. Se você incluir um valor para o prefixo do arquivo de log e seu prefixo não terminar com uma barra (/
), o CloudFront acrescentará uma automaticamente. Se o seu prefixo terminar com uma barra, o CloudFront não adicionará outra.
O .gz
no fim do nome do arquivo indica que o CloudFront compactou o arquivo de log usando gzip.
Formato de arquivo de log padrão
Cada entrada em um arquivo de log fornece detalhes sobre uma única solicitação do visualizador. Os arquivos de log têm as seguintes características:
-
Contêm valores separados por tabulação.
-
Contêm registros não necessariamente em ordem cronológica.
-
Contém duas linhas de cabeçalho: uma com a versão do formato do arquivo e outra que relaciona os campos do W3C incluídos em cada registro.
-
Contém equivalentes codificados em URL para espaços e alguns outros caracteres em valores de campo.
Equivalentes codificados em URL são usados para os seguintes caracteres:
-
Códigos de caracteres ASCII 0 a 32, inclusive
-
Códigos de caracteres ASCII 127 e posterior
-
Todos os caracteres na tabela a seguir
O padrão de codificação de URL é definido no RFC 1738
. -
Valor codificado em URL |
Caractere |
---|---|
%3C |
< |
%3E |
> |
%22 |
" |
%23 |
# |
%25 |
% |
%7B |
{ |
%7D |
} |
%7C |
| |
%5C |
\ |
%5E |
^ |
%7E |
~ |
%5B |
[ |
%5D |
] |
%60 |
` |
%27 |
' |
%20 |
espaço |
Excluir arquivos de log
O CloudFront não exclui automaticamente os arquivos de log do bucket do Amazon S3. Para ter informações sobre como excluir arquivos de log de um bucket do Amazon S3, consulte Excluir objetos no Guia do usuário do Amazon Simple Storage Service.
Preços
O registro em log padrão é um recurso opcional do CloudFront. O CloudFront não cobra pela habilitação de logs padrão. No entanto, você acumula as cobranças normais do Amazon S3 para armazenar e acessar os arquivos nele. É possível excluí-los a qualquer momento.
Para mais informações sobre a definição de preço do Amazon S3, consulte Definição de preço do Amazon S3
Para mais informações sobre preços do CloudFront, consulte Definição de preço do CloudFront