

# Relatórios, métricas e logs
<a name="reports-and-monitoring"></a>

O CloudFront oferece várias opções para relatar, monitorar e registrar em log os recursos do CloudFront. É possível concluir as seguintes tarefas:
+ Visualizar e baixar relatórios para ver o uso e a atividade das distribuições do CloudFront, inclusive relatórios de faturamento, estatísticas de cache, conteúdo conhecido e principais indicadores.
+ Monitorar e rastrear o CloudFront, inclusive as [funções de computação de borda](https://aws.amazon.com/cloudfront/features/#Edge_Computing), diretamente do console do CloudFront ou usando o Amazon CloudWatch. O CloudFront envia métricas ao CloudWatch para distribuições e funções de borda, tanto do Lambda@Edge quanto do CloudFront Functions.
+ Visualizar logs das solicitações de visualizador recebidas pelas distribuições do CloudFront com logs padrão ou logs de acesso em tempo real. Além dos logs de solicitação do visualizador, você pode usar o CloudWatch Logs para obter logs para suas funções de borda, tanto do Lambda@Edge quanto do CloudFront Functions. Você também pode usar o AWS CloudTrail para obter logs da atividade da API do CloudFront em sua Conta da AWS.
+ Monitorar as alterações de configuração nos recursos do CloudFront usando o AWS Config.

Consulte mais informações sobre essas opções nos tópicos a seguir.

**Topics**
+ [

# Relatórios de uso e faturamento da AWS para o CloudFront
](reports-billing.md)
+ [

# Visualizar relatórios do CloudFront no console
](reports.md)
+ [

# Monitorar métricas do CloudFront com o Amazon CloudWatch
](monitoring-using-cloudwatch.md)
+ [

# Registro em log do CloudFront e de funções de borda
](logging.md)
+ [

# Monitorar as alterações de configuração com o AWS Config
](TrackingChanges.md)

# Relatórios de uso e faturamento da AWS para o CloudFront
<a name="reports-billing"></a>

AWSA fornece dois relatórios de uso para o CloudFront:
+ O relatório de faturamento da AWS é uma visualização de alto nível de todas as atividades dos Serviços da AWS que você está usando, inclusive o CloudFront.
+ O relatório de uso da AWS é um resumo da atividade de um serviço específico, agregado por hora, dia ou mês. Ele também inclui gráficos de uso que fornecem uma representação gráfica do uso que você faz do CloudFront. 

**nota**  
Como os outros Serviços da AWS, o CloudFront cobra apenas pelo que você usa. Para ter mais informações, consulte [Definição de preço do CloudFront](https://aws.amazon.com/cloudfront/pricing/).

**Topics**
+ [

## Visualizar o relatório de faturamento da AWS para o CloudFront
](#billing-report)
+ [

## Visualizar o relatório de uso da AWS para o CloudFront
](#usage-report)
+ [

# Interpretar os relatórios de uso e faturamento da AWS para o CloudFront
](billing-and-usage-interpreting.md)

## Visualizar o relatório de faturamento da AWS para o CloudFront
<a name="billing-report"></a>

É possível ver um resumo do uso e das cobranças da AWS, indicadas por serviço, na página **Faturas** no console do Gerenciamento de Faturamento e Custos da AWS.<a name="billing-report-procedure"></a>

**Como visualizar o relatório de faturamento da AWS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Gerenciamento de Faturamento e Custos da AWS em [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/).

1. No painel de navegação, selecione **Contas**.

1. Escolha um **Período de cobrança**(por exemplo, agosto de 2023).

1. Na guia **Cobranças por serviço**, escolha **CloudFront** e, depois, expanda **Global** ou o nome Região da AWS.

1. Para baixar um relatório de faturamento detalhado no formato CSV, selecione **Fazer download de tudo para CSV**.

Para ter mais informações sobre a fatura da AWS, consulte [Viewing your bill](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html) no *Guia do usuário do AWS Billing*.

O relatório de faturamento inclui os seguintes valores que se aplicam ao CloudFront:
+ **ProductCode**: `AmazonCloudFront`.
+ **UsageType**: um dos seguintes valores:
  + Um código que identifica o tipo de transferência de dados
  + `Invalidations`
  + `Executions-CloudFrontFunctions`
  + `KeyValueStore-APIOperations`
  + `KeyValueStore-EdgeReads`
  + `RealTimeLog-KinesisDataStream`
  + `SSL-Cert-Custom`
+ **ItemDescription**: descrição da taxa de faturamento para o **UsageType**.
+ **UsageStart Date** e **UsageEndDate**: o dia do uso, no Tempo Universal Coordenado (UTC). 
+ **UsageQuantity**: um dos seguintes valores: 
  + O número de solicitações durante o período especificado
  + A quantidade de dados transferidos, em gigabytes
  + O número de objetos invalidados
  + A soma dos meses pro rata nos quais você teve certificados SSL associados a distribuições habilitadas do CloudFront. Por exemplo, se você tiver um certificado associado a uma distribuição ativada por um mês inteiro e outro certificado associado a uma distribuição ativada metade do mês, esse valor será 1,5. 

## Visualizar o relatório de uso da AWS para o CloudFront
<a name="usage-report"></a>

AWSA fornece um relatório de uso do CloudFront que é mais detalhado do que o relatório de faturamento, mas menos detalhado do que os logs de acesso do CloudFront. O relatório de uso fornece dados de uso agregados por hora, dia ou mês e indica as operações por região e tipo de uso, como dados transferidos da região da Austrália.

**Como visualizar o relatório de uso da AWS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Gerenciamento de Faturamento e Custos da AWS em [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/).

1. No painel de navegação, escolha **Explorador de Custos**.

1. Na página **Novo relatório de custo e uso**, no painel **Parâmetros do relatório**, escolha um intervalo de datas e um nível de detalhamento para o relatório.

1. Em **Filtros**, **Serviço**, selecione **CloudFront**.

1. Selecione a guia **Tipo de uso**.

1. Em **Detalhamento de custo e uso**, escolha **Baixar como CSV**.

Para ter mais informações sobre o relatório de uso da AWS, consulte [AWS Usage Report](https://docs.aws.amazon.com/cur/latest/userguide/usage-report.html) no *Guia do usuário do Exportações de dados da AWS*. 

O relatório de uso do CloudFront inclui os seguintes valores:
+ **Serviço** – `AmazonCloudFront`
+ **Operation**: método HTTP. Os valores incluem `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST` e `PUT`.
+ **UsageType**: um dos seguintes valores:
  + Um código que identifica o tipo de transferência de dados
  + `Invalidations`
  + `Executions-CloudFrontFunctions`
  + `KeyValueStore-APIOperations`
  + `KeyValueStore-EdgeReads`
  + `RealTimeLog-KinesisDataStream`
  + `SSL-Cert-Custom`
+ **Resource**: o ID da distribuição do CloudFront associada ao uso ou de um certificado SSL associado a uma distribuição do CloudFront.
+ **StartTime/EndTime**: o dia aplicável do uso, no Tempo Universal Coordenado (UTC). 
+ **UsageValue**: 1) O número de solicitações durante o período especificado ou 2) a quantidade de dados transferidos, em bytes.

Se você estiver usando o Amazon S3 como origem do CloudFront, considere executar o relatório de uso do Amazon S3 também. No entanto, se você usar o Amazon S3 para outros fins além de como uma origem das distribuições do CloudFront, a parte que se aplica ao uso do CloudFront pode não ficar clara.

**dica**  
Para obter informações detalhadas sobre cada solicitação recebida pelo CloudFront para seus objetos, ative os logs de acesso do CloudFront para a sua distribuição. Para obter mais informações, consulte [Logs de acesso (logs padrão)](AccessLogs.md).

Para ter mais informações sobre noções básicas das cobranças e dos tipos de uso do CloudFront nos relatórios, consulte [Interpretar os relatórios de uso e faturamento da AWS para o CloudFront](billing-and-usage-interpreting.md).

# Interpretar os relatórios de uso e faturamento da AWS para o CloudFront
<a name="billing-and-usage-interpreting"></a>

De posse do [relatório de faturamento](reports-billing.md#billing-report) e do [relatório de uso](reports-billing.md#usage-report), você pode usar este tópico para entender como interpretar cada cobrança do CloudFront exibida na fatura e o tipo de uso correspondente de cada cobrança. Este tópico inclui os códigos e as abreviações de Região da AWS que podem aparecer nos dois relatórios.

A maioria dos códigos das duas colunas incluem uma abreviação de duas letras que indica a localização da atividade. Na tabela abaixo, a *região* em um código é substituída em sua fatura e no relatório de uso da AWS por uma das seguintes abreviações de duas letras:
+ **AP:** Hong Kong, Filipinas, Coreia do Sul, Taiwan e Cingapura (Ásia-Pacífico)
+ **AU:** Austrália
+ **CA:** Canadá
+ **UE:** Europa e Israel
+ **IN:** Índia
+ **JP:** Japão
+ **OM:** Oriente Médio
+ **SA:** América do Sul
+ **US:** Estados Unidos
+ **ZA:** África do Sul

Para ter mais informações sobre definição de preço por Região da AWS, consulte [Preço do Amazon CloudFront](https://aws.amazon.com/cloudfront/pricing/).

**Observações**  
Esta tabela não inclui cobranças de transferência de objetos de um bucket do Amazon S3 para pontos de presença do CloudFront. Essas cobranças, se for o caso, serão exibidas na seção **Transferência de dados da AWS** em sua fatura da AWS.
A primeira coluna indica as cobranças exibidas no relatório de faturamento da AWS e explica o que cada uma significa. 
 A segunda coluna indica os itens exibidos no relatório de uso AWS e mostra a correlação entre os itens da fatura e do relatório de uso.


****  

| Cobranças do CloudFront na fatura da AWS | Valores da coluna UsageType no relatório de uso da AWS | 
| --- | --- | 
|  *region***-DataTransfer-Out-Bytes** Total de bytes fornecidos dos locais da borda do CloudFront na *região* em resposta a solicitações `GET` e `HEAD` do usuário.  |  *region***-Out-Bytes-HTTP-Static:** Bytes fornecidos por HTTP para objetos com TTL ≥ 3.600 segundos. *region***-Out-Bytes-HTTPS-Static:** Bytes fornecidos por HTTP para objetos com TTL ≥ 3.600 segundos. *region***-Out-Bytes-HTTP-Dynamic:** Bytes fornecidos por HTTP para objetos com TTL < 3.600 segundos. *region***-Out-Bytes-HTTPS-Dynamic:** Bytes fornecidos por HTTP para objetos com TTL < 3.600 segundos. *region***-Out-Bytes-HTTP-Proxy:** Bytes retornados do CloudFront para os visualizadores em resposta a solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`. *region***-Out-Bytes-HTTPS-Proxy:** Bytes retornados do CloudFront para os visualizadores em resposta a solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`.  Isso inclui bytes retornados do CloudFront para os visualizadores via gRPC.  | 
|  *region***-DataTransfer-Out-OBytes** Total de bytes transferidos de locais da borda do CloudFront para a sua origem ou [função de borda](edge-functions.md) em resposta a solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`. As cobranças incluem transferência de dados para dados WebSocket do cliente para o servidor.  |  *region***-Out-OBytes-HTTP-Proxy** Total de bytes transferidos por HTTP de locais da borda do CloudFront para a sua origem ou [função de borda](edge-functions.md) em resposta a solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`. *region***-Out-OBytes-HTTPS-Proxy** Total de bytes transferidos por HTTP de locais da borda do CloudFront para a sua origem ou [função de borda](edge-functions.md) em resposta a solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`. Isso inclui bytes transferidos por gRPC de locais da borda do CloudFront para a origem ou para o CloudFront Functions.  | 
|  *region***-Requests-Tier1** Número de solicitações HTTP `GET` e `HEAD`.  |  *region***-Requests-HTTP-Static** Número de solicitações HTTP `GET` e `HEAD` atendidas de objetos com TTL ≥ 3.600 segundos. *region***-Requests-HTTP-Dynamic** Número de solicitações HTTP `GET` e `HEAD` atendidas de objetos com TTL < 3.600 segundos.  | 
|  *region***-Requests-Tier2-HTTPS** Número de solicitações HTTPS `GET` e `HEAD`.  |  *region***-Requests-HTTPS-Static** Número de solicitações HTTPS `GET` e `HEAD` atendidas de objetos com TTL ≥ 3.600 segundos. *region***-Requests-HTTPS-Dynamic** Número de solicitações HTTPS `GET` e `HEAD` atendidas de objetos com TTL < 3.600 segundos.  | 
|  *region***-Requests-HTTP-Proxy** Número de solicitações HTTP `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT` que o CloudFront encaminha para a sua origem ou [função de borda](edge-functions.md). Também inclui o número de solicitações de [WebSocket](distribution-working-with.websockets.md) de HTTP (solicitações de `GET` com o cabeçalho `Upgrade: websocket`) que o CloudFront encaminha para a sua origem ou função de borda.  |  *region***-Requests-HTTP-Proxy** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  *region***-Requests-HTTPS-Proxy** Número de solicitações HTTP `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT` que o CloudFront encaminha para a sua origem ou [função de borda](edge-functions.md). Além disso, inclui os seguintes tipos de solicitação: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonCloudFront/latest/DeveloperGuide/billing-and-usage-interpreting.html)  |  *region***-Requests-HTTPS-Proxy** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  *region***-Requests-HTTPS-Proxy-FLE** Número de solicitações HTTPS `DELETE`, `OPTIONS`, `PATCH` e `POST` processadas com a [criptografia em nível de campo](field-level-encryption.md) que o CloudFront encaminha para a sua origem ou [função de borda](edge-functions.md).  |  *region***-Requests-HTTPS-Proxy-FLE** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  *region***-Bytes-OriginShield** Total de bytes transferidos da origem para qualquer [cache de borda regional](HowCloudFrontWorks.md#CloudFrontRegionaledgecaches), incluindo o cache de borda regional que está habilitado como [Origin Shield](origin-shield.md) (Shield de origem).  |  *region***-Bytes-OriginShield** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  *region***-OBytes-OriginShield** Total de bytes transferidos para a origem a partir de qualquer [cache de borda regional](HowCloudFrontWorks.md#CloudFrontRegionaledgecaches), incluindo o cache de borda regional que está habilitado como [Origin Shield](origin-shield.md) (Shield de origem).  |  *region***-OBytes-OriginShield** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  *region***-Requests-OriginShield** Número de solicitações que vão para [Origin Shield](origin-shield.md) (Shield de origem) omo uma camada incremental. Para solicitações dinâmicas (não armazenáveis em cache) encaminhadas por proxy para a origem, o Origin Shield é sempre uma camada incremental. Para solicitações que podem ser armazenados em cache, o Shield de origem é às vezes uma camada incremental. Para obter mais informações, consulte [Estimar custos do Origin Shield](origin-shield.md#origin-shield-costs).  |  *region***-Requests-OriginShield** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  **Invalidações** A cobrança pela invalidação de objetos (remoção de objetos de locais de borda do CloudFront). Para obter mais informações, consulte [Pagar pela invalidação de arquivos](PayingForInvalidation.md).  |  **Invalidações** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  **SSL-Cert-Custom** A cobrança pelo uso de um certificado SSL com um nome de domínio alternativo do CloudFront, como example.com, ao invés de usar o certificado SSL padrão do CloudFront e o nome de domínio que o CloudFront atribui à sua distribuição.  |  **SSL-Cert-Custom** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  **RealTimeLog-KinesisDataStream** A cobrança pelo número de linhas geradas para [logs de acesso em tempo real](real-time-logs.md).  |  **RealTimeLog-KinesisDataStream** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  **Executions-CloudFrontFunctions** A cobrança pelo número de invocações do [CloudFront Functions](cloudfront-functions.md).  |  **Executions-CloudFrontFunctions** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  ***region*-Lambda-Edge-Request** A cobrança pelo número de invocações da função do [Lambda@Edge](lambda-at-the-edge.md).  |  ****region**-Lambda-Edge-Request** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  ***region*-Lambda-Edge-GB-Second** A cobrança pela duração desde o momento em que a função do [Lambda@Edge](lambda-at-the-edge.md) é invocada até o momento em que ela retorna ou é encerrada.  |  ***region*-Lambda-Edge-GB-Second** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  **KeyValueStore-EdgeReads** A cobrança pelo número de chamadas de leitura para os [CloudFront KeyValueStore](kvs-with-functions.md), `get()`, `exists()` e `meta()`. Para obter mais informações, consulte [Métodos auxiliares para armazenamentos de chave-valor](functions-custom-methods.md).  |  **KeyValueStore-EdgeReads** Equivalente ao item correspondente na fatura do CloudFront.  | 
|  **KeyValueStore-APIOperations** A cobrança pelo número de chamadas para a API [CloudFront KeyValueStore](kvs-with-functions.md).  |  **KeyValueStore-APIOperations** Equivalente ao item correspondente na fatura do CloudFront.  | 

# Visualizar relatórios do CloudFront no console
<a name="reports"></a>

Cada relatório fornece informações e visualizações detalhadas. Desse modo, você pode otimizar a entrega de conteúdo, identificar gargalos de performance e tomar decisões orientadas por dados. Se você precisa monitorar a eficiência do cache, analisar padrões de tráfego ou entender melhor seus visualizadores, use esses relatórios para monitorar e analisar com eficácia as distribuições do CloudFront.

É possível visualizar os seguintes relatórios da atividade do CloudFront no console:

**Topics**
+ [

# Visualizar relatórios de estatísticas de cache do CloudFront
](cache-statistics.md)
+ [

# Visualizar relatórios de objetos comuns do CloudFront
](popular-objects-report.md)
+ [

# Visualizar relatórios dos principais indicadores do CloudFront
](top-referrers-report.md)
+ [

# Visualizar relatórios de uso do CloudFront
](usage-charts.md)
+ [

# Visualizar relatórios de visualizadores do CloudFront
](viewers-reports.md)

A maioria desses relatórios é baseada nos dados dos logs de acesso do CloudFront que contêm informações detalhadas sobre cada solicitação do usuário recebida por ele. Não é necessário permitir que os logs de acesso visualizem os relatórios. Para obter mais informações, consulte [Logs de acesso (logs padrão)](AccessLogs.md).

# Visualizar relatórios de estatísticas de cache do CloudFront
<a name="cache-statistics"></a>

O relatório de estatísticas de cache do Amazon CloudFront mostra as seguintes informações:
+ **Total de solicitações**: o número total de solicitações de todos os códigos de status HTTP (por exemplo, 200 ou 404) e de todos os métodos (por exemplo, GET, HEAD ou POST).
+ **Porcentagem de solicitações do visualizador por tipo de resultado**: o número de solicitações atendidas e não atendidas, e erros como uma porcentagem do total de solicitações do visualizador para a distribuição do CloudFront selecionada.
+ **Bytes transferidos aos visualizadores**: o total de bytes e os bytes de solicitações não atendidas.
+ **Códigos de status HTTP**: as solicitações do visualizador por código de status HTTP.
+ **Porcentagem de solicitações GET cujo download não foi concluído**: as solicitações GET do visualizador com download do objeto solicitado não concluído como porcentagem do total de solicitações.

Os dados dessas estatísticas são obtidos da mesma origem que os logs de acesso do CloudFront. No entanto, não é necessário habilitar o [registro em log de acesso](AccessLogs.md) para visualizar as estatísticas de cache.

Você pode exibir gráficos para um intervalo de datas nos últimos 60 dias, com pontos de dados por hora ou dia. Normalmente, é possível visualizar os dados das solicitações recebidas pelo CloudFront há uma hora, mas eles podem atrasar até 24 horas. 

**Topics**
+ [

## Visualizar relatórios de estatísticas de cache do CloudFront no console
](#cache-statistics-howto)
+ [

## Baixar dados no formato CSV
](#cache-statistics-csv)
+ [

## Como os gráficos de estatísticas do cache estão relacionados aos dados nos logs padrão (logs de acesso) do CloudFront
](#cache-statistics-data)

## Visualizar relatórios de estatísticas de cache do CloudFront no console
<a name="cache-statistics-howto"></a>

É possível visualizar o relatório de estatísticas de cache do CloudFront no console.<a name="cache-statistics-procedure"></a>

**Como visualizar o relatório de estatísticas de cache do CloudFront**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, selecione **Estatísticas do cache**.

1. No painel **CloudFront Cache Statistics Reports (Relatórios de estatísticas de cache do CloudFront)**, em **Start Date (Data de início)** e **End Date (Data de término)**, selecione o intervalo de datas para o qual você deseja exibir gráficos de estatísticas do cache. Os intervalos disponíveis dependem do valor selecionado para **Granularity**:
   + **Daily (Diariamente)**: para exibir gráficos com um ponto de dados por dia, selecione qualquer intervalo de datas nos últimos 60 dias.
   + **Hourly (Por hora)**: para exibir gráficos com um ponto de dados por hora, selecione qualquer intervalo de datas de até 14 dias nos últimos 60 dias.

   As datas e horas estão em Tempo Universal Coordenado (UTC).

1. Em **Granularity**, especifique se você deseja exibir um ponto de dados por dia ou por hora nos gráficos. Se você especificar um intervalo de datas maior que 14 dias, a opção para especificar um ponto de dados por hora não estará disponível.

1. Em **Viewer Location**, escolha o continente de origem das solicitações do visualizador ou escolha **All Locations**. Os gráficos de estatísticas do cache incluem dados de solicitações recebidas pelo CloudFront do local especificado.

1. Na lista **Distribution**, selecione as distribuições para as quais você deseja exibir os dados nos gráficos de uso:
   + **An individual distribution (uma distribuição individual)**: os gráficos exibem os dados da distribuição selecionada do CloudFront. A lista **Distribution** exibe o ID e os nomes de domínio alternativos (CNAMEs) da distribuição, se houver. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá os nomes de domínio de origem dela.
   + **Todas as distribuições**: os gráficos exibem a soma dos dados de todas as distribuições que estão associadas à Conta da AWS atual, com exceção das distribuições que você excluiu.

1. Selecione **Atualizar**.

**dica**  
Para visualizar dados de um ponto de dados por dia ou por hora em um gráfico, passe o ponteiro do mouse sobre o ponto de dados.
Nos gráficos que mostram os dados transferidos, é possível alterar a escala vertical para gigabytes, megabytes ou kilobytes.

## Baixar dados no formato CSV
<a name="cache-statistics-csv"></a>

Você pode baixar o relatório de estatísticas do cache no formato CSV. Esta seção explica como fazer download do relatório e descreve os valores dele.<a name="cache-statistics-csv-procedure"></a>

**Para baixar o relatório de estatísticas do cache no formato CSV**

1. No relatório de estatísticas de cache, selecione **CSV**.

1. Na caixa de diálogo **Opening *file name***, opte por abrir ou salvar o arquivo.

### Informações sobre o relatório
<a name="cache-statistics-csv-header"></a>

As primeiras linhas do relatório incluem as seguintes informações:

**Versão**  
A versão do formato desse arquivo CSV.

**Relatório**  
O nome do relatório.

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**StartDateUTC**  
O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**EndDateUTC**  
O término do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**GeneratedTimeUTC**  
A data e a hora nas quais você executou o relatório, no Tempo Universal Coordenado (UTC).

**Granularity**  
Se cada linha do relatório representa uma hora ou um dia. 

**ViewerLocation**  
O continente de origem das solicitações do visualizador ou `ALL` se você optar por fazer download do relatório para todos os locais.

### Dados do relatório de estatísticas do cache
<a name="cache-statistics-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**ViewerLocation**  
O continente de origem das solicitações do visualizador ou `ALL` se você optar por fazer download do relatório para todos os locais.

**TimeBucket**  
A hora ou o dia ao qual os dados se aplicam, no Tempo Universal Coordenado (UTC).

**RequestCount**  
O número total de solicitações de todos os códigos de status do HTTP (por exemplo, 200 ou 404) e de todos os métodos (por exemplo, GET, HEAD ou POST).

**HitCount**  
O número de solicitações do visualizador atendidas pelo objeto de um ponto de presença de caches do CloudFront.

**MissCount**  
O número de solicitações do visualizador para as quais o objeto não está em um ponto de presença de caches, de modo que o CloudFront precise obter o objeto de sua origem.

**ErrorCount**  
O número de solicitações do visualizador que resultaram em erro, fazendo com que o CloudFront não fornecesse o objeto.

**IncompleteDownloadCount**  
O número de solicitações para as quais o visualizador começou, mas não terminou de fazer download do objeto.

**HTTP2xx**  
O número de solicitações do visualizador para as quais o código de status do HTTP é um valor 2xx (realizado).

**HTTP3xx**  
O número de solicitações do visualizador para as quais o código de status do HTTP é um valor 3xx (ação adicional necessária).

**HTTP4xx**  
O número de solicitações do visualizador para as quais o código de status do HTTP é um valor 4xx (erro do cliente).

**HTTP5xx**  
O número de solicitações do visualizador para as quais o código de status do HTTP é um valor 5xx (erro do servidor).

**TotalBytes**  
O número total de bytes enviados para os visualizadores pelo CloudFront em resposta a todas as solicitações de todos os métodos HTTP.

**BytesFromMisses**  
O número de bytes enviados aos visualizadores para objetos que não estavam no ponto de presença de caches no momento da solicitação. Esse valor é uma boa aproximação dos bytes transferidos da origem aos pontos de presença de caches do CloudFront. No entanto, ele não inclui solicitações de objetos que já estão no ponto de presença de cache, mas expiraram.

## Como os gráficos de estatísticas do cache estão relacionados aos dados nos logs padrão (logs de acesso) do CloudFront
<a name="cache-statistics-data"></a>

A tabela a seguir mostra como os gráficos de estatísticas do cache do console do &CloudFront correspondem aos valores dos logs de acesso do CloudFront. Para mais informações sobre os logs de acesso do CloudFront, consulte [Logs de acesso (logs padrão)](AccessLogs.md).

**Total requests**  
Esse gráfico mostra o número total de solicitações de todos os códigos de status do HTTP (por exemplo, 200 ou 404) e de todos os métodos (por exemplo, `GET`, `HEAD` ou `POST`). O total de solicitações exibido nesse gráfico é igual ao número total de solicitações dos arquivos de log de acesso para o mesmo período.

**Percentage of viewer requests by result type**  
Esse gráfico mostra o número de solicitações atendidas e não atendidas, e os erros como porcentagem do total de solicitações do visualizador para a distribuição selecionada do CloudFront:  
+ **Hit (Atendidas)**: uma solicitação do visualizador para a qual o objeto é fornecido de um ponto de presença de caches do CloudFront. Nos logs de acesso, o valor de `x-edge-response-result-type` dessas solicitações é `Hit`.
+ **Miss (Não atendidas)**: uma solicitação do visualizador para a qual o objeto não está em um ponto de presença de caches, de modo que o CloudFront precise obtê-lo de sua origem. Nos logs de acesso, o valor de `x-edge-response-result-type` dessas solicitações é `Miss`.
+ **Error (Erro)**: uma solicitação do visualizador que resultou em erro, fazendo com que o CloudFront não fornecesse o objeto. Nos logs de acesso, o valor de `x-edge-response-result-type` dessas solicitações é `Error`, `LimitExceeded` ou `CapacityExceeded`.
O gráfico não inclui solicitações atendidas de atualização (solicitações de objetos que estão no ponto de presença de caches, mas expiraram). Nos logs de acesso, o valor de `x-edge-response-result-type` dessas solicitações é `RefreshHit`.

**Bytes transferred to viewers**  
Esse gráfico mostra dois valores:  
+ **Total bytes** (Total de bytes) - o número total de bytes enviados para os visualizadores pelo CloudFront em resposta a todas as solicitações de todos os métodos HTTP. Nos logs de acesso do CloudFront, **Total Bytes (Total de bytes)** é a soma dos valores da coluna `sc-bytes` de todas as solicitações durante o mesmo período.
+ **Bytes from misses** (Bytes de perdas) - o número de bytes enviados aos visualizadores para objetos que não estavam no ponto de presença de caches no momento da solicitação. Nos logs de acesso do CloudFront, **Bytes from misses** (Bytes de perdas) é a soma dos valores da coluna `sc-bytes` das solicitações para as quais o valor de `x-edge-result-type` é `Miss`. Esse valor é uma boa aproximação dos bytes transferidos da origem aos pontos de presença de caches do CloudFront. No entanto, ele não inclui solicitações de objetos que já estão no ponto de presença de cache, mas expiraram.

**Códigos de status de HTTP**  
Esse gráfico mostra as solicitações do visualizador por código de status do HTTP. Nos logs de acesso do CloudFront, os códigos de status são exibidos na coluna `sc-status`:  
+ **2xx**: a solicitação foi bem-sucedida.
+ **3xx**: ação adicional necessária. Por exemplo, 301 (Movido permanentemente) significa que o objeto solicitado foi movido para um local diferente.
+ **4xx**: o cliente aparentemente cometeu um erro. Por exemplo, 404 (Não encontrado) significa que o cliente solicitou um objeto não encontrado.
+ **5xx**: o servidor de origem não atendeu a solicitação. Por exemplo, 503 (Serviço indisponível) significa que o servidor de origem está indisponível no momento.

**Percentage of GET requests that didn't finish downloading**  
Esse gráfico mostra as solicitações `GET` do visualizador que não concluíram o download do objeto solicitado como uma porcentagem do total de solicitações. Normalmente, o download de um objeto não é concluído pois o visualizador cancelou o download, por exemplo, clicando em um link diferente ou fechando o navegador. Nos logs de acesso do CloudFront, essas solicitações têm valor `200` na coluna `sc-status` e valor `Error` na coluna `x-edge-result-type`.

# Visualizar relatórios de objetos comuns do CloudFront
<a name="popular-objects-report"></a>

Consulte no relatório de objetos comuns do Amazon CloudFront para ver os 50 objetos mais comuns para uma distribuição durante um intervalo de datas específico nos últimos 60 dias. Também é possível visualizar estatísticas sobre esses objetos, incluindo o seguinte:
+ Número de solicitações para o objeto
+ Número de acertos e erros
+ Hit ratio
+ Número de bytes fornecidos para erros
+ Total de bytes fornecidos
+ Número de downloads incompletos
+ Número de solicitações por código de status HTTP (2xx, 3xx, 4xx e 5xx)

Os dados dessas estatísticas são obtidos da mesma origem que os logs de acesso do CloudFront. No entanto, não é necessário habilitar o [registro em log de acesso](AccessLogs.md) para visualizar objetos populares.

**Topics**
+ [

## Visualizar relatórios de objetos comuns do CloudFront no console
](#popular-objects-howto)
+ [

## Como o CloudFront calcula estatísticas de objetos comuns
](#popular-objects-calculate)
+ [

## Baixar dados no formato CSV
](#popular-objects-csv)
+ [

## Como os dados no relatório de objetos populares estão relacionados aos dados dos logs padrão (logs de acesso) do CloudFront
](#popular-objects-data)

## Visualizar relatórios de objetos comuns do CloudFront no console
<a name="popular-objects-howto"></a>

É possível visualizar o relatório de objetos comuns do CloudFront no console.<a name="popular-objects-report-procedure"></a>

**Como visualizar objetos comuns para uma distribuição do CloudFront**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, selecione **Objetos comuns**.

1. No painel **CloudFront Popular Objects Report (Relatório de objetos populares do CloudFront)**, em **Start Date (Data de início)** e **End Date (Data de término)**, selecione o intervalo de datas para o qual você deseja exibir uma lista de objetos populares. Você pode escolher qualquer intervalo de datas nos últimos 60 dias.

   As datas e horas estão em Tempo Universal Coordenado (UTC).

1. Na lista **Distribution**, selecione a distribuição para a qual você deseja exibir uma lista de objetos populares. 

1. Selecione **Atualizar**.

## Como o CloudFront calcula estatísticas de objetos comuns
<a name="popular-objects-calculate"></a>

Para obter uma contagem precisa dos 50 principais objetos na distribuição, o CloudFront soma as solicitações de todos os objetos em intervalos de 10 minutos a partir da meia-noite e mantém um total de execução dos 150 principais objetos pelas próximas 24 horas. (O CloudFront também mantém totais diários dos 150 principais objetos por 60 dias.)

Na parte inferior da lista, os objetos constantemente sobem de posição ou saem da lista. Portanto, os totais desses objetos são aproximados. Os 50 objetos na parte superior da lista de 150 objetos podem subir ou cair de posição, mas raramente saem da lista. Portanto, os totais desses objetos são mais confiáveis.

Quando um objeto sai da lista dos 150 principais objetos e volta para a lista novamente em um dia específico, o CloudFront adiciona um número estimado de solicitações para o período em que o objeto não estava na lista. A estimativa é baseada no número de solicitações recebidas por qualquer objeto que estava na parte inferior da lista durante esse período.

Se o objeto subir para as 50 primeiras posições posteriormente nesse mesmo dia, as estimativas do número de solicitações recebidas pelo CloudFront enquanto o objeto não estava na lista dos primeiros 150 objetos normalmente faz com que o número de solicitações do relatório de objetos populares ultrapasse o número de solicitações exibido nos logs de acesso desse objeto.

## Baixar dados no formato CSV
<a name="popular-objects-csv"></a>

Você pode baixar o relatório de objetos populares no formato CSV. Esta seção explica como fazer download do relatório e descreve os valores dele.<a name="popular-objects-csv-procedure"></a>

**Para baixar o relatório de objetos populares no formato CSV**

1. No relatório de objetos comuns, selecione **CSV**.

1. Na caixa de diálogo **Opening *file name***, opte por abrir ou salvar o arquivo.

### Informações sobre o relatório
<a name="popular-objects-csv-header"></a>

As primeiras linhas do relatório incluem as seguintes informações:

**Versão**  
A versão do formato desse arquivo CSV.

**Relatório**  
O nome do relatório.

**DistributionID**  
O ID da distribuição para a qual você executou o relatório.

**StartDateUTC**  
O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**EndDateUTC**  
O término do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**GeneratedTimeUTC**  
A data e a hora nas quais você executou o relatório, no Tempo Universal Coordenado (UTC).

### Dados do relatório de objetos populares
<a name="popular-objects-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual você executou o relatório.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**Objeto**  
Os últimos 500 caracteres do URL do objeto.

**RequestCount**  
O número total de solicitações desse objeto.

**HitCount**  
O número de solicitações do visualizador atendidas pelo objeto de um ponto de presença de caches do CloudFront.

**MissCount**  
O número de solicitações do visualizador para as quais o objeto não está em um ponto de presença de caches, de modo que o CloudFront precise obter o objeto de sua origem.

**HitCountPct**  
O valor de `HitCount` como porcentagem do valor de `RequestCount`.

**BytesFromMisses**  
O número de bytes enviados para os visualizadores para essa objeto que ele não estava no ponto de presença de caches no momento da solicitação. 

**TotalBytes**  
O número total de bytes enviados para os visualizadores pelo CloudFront para esse objeto em resposta a todas as solicitações de todos os métodos HTTP.

**IncompleteDownloadCount**  
O número de solicitações desse objeto para as quais o visualizador começou, mas não terminou de fazer download do objeto.

**HTTP2xx**  
O número de solicitações do visualizador para as quais o código de status do HTTP é um valor 2xx (realizado).

**HTTP3xx**  
O número de solicitações do visualizador para as quais o código de status do HTTP é um valor 3xx (ação adicional necessária).

**HTTP4xx**  
O número de solicitações do visualizador para as quais o código de status do HTTP é um valor 4xx (erro do cliente).

**HTTP5xx**  
O número de solicitações do visualizador para as quais o código de status do HTTP é um valor 5xx (erro do servidor).

## Como os dados no relatório de objetos populares estão relacionados aos dados dos logs padrão (logs de acesso) do CloudFront
<a name="popular-objects-data"></a>

A lista a seguir mostra como os valores do relatório de objetos populares do console do CloudFront correspondem aos valores dos logs de acesso do CloudFront. Para mais informações sobre os logs de acesso do CloudFront, consulte [Logs de acesso (logs padrão)](AccessLogs.md).

**URL**  
Os últimos 500 caracteres do URL que os visualizadores usam para acessar o objeto.

**Solicitações**  
O número total de solicitações do objeto. Esse valor normalmente corresponde ao número de solicitações `GET` do objeto no logs de acesso do CloudFront. 

**Hits**  
O número de solicitações do visualizador atendidas pelo objeto de um de ponto de presença de caches do CloudFront. Nos logs de acesso, o valor de `x-edge-response-result-type` dessas solicitações é `Hit`.

**Misses**  
O número de solicitações do visualizador para as quais o objeto não estava em um de ponto de presença de caches, fazendo com que o CloudFront recuperasse o objeto de sua origem. Nos logs de acesso, o valor de `x-edge-response-result-type` dessas solicitações é `Miss`.

**Hit ratio**  
O valor da coluna **Hits** como porcentagem do valor da coluna **Requests**.

**Bytes from misses**  
O número de bytes enviados aos visualizadores para objetos que não estavam no ponto de presença de caches no momento da solicitação. Nos logs de acesso do CloudFront, **Bytes from misses** (Bytes de perdas) é a soma dos valores da coluna `sc-bytes` das solicitações para as quais o valor de `x-edge-result-type` é `Miss`. 

**Total bytes**  
O número total de bytes enviados para os visualizadores pelo CloudFront em resposta a todas as solicitações do objeto de todos os métodos HTTP. Nos logs de acesso do CloudFront, **Total Bytes** (Total de bytes) é a soma dos valores da coluna `sc-bytes` de todas as solicitações durante o mesmo período.

**Incomplete downloads**  
O número de solicitações do visualizador que não concluíram o download do objeto solicitado. Normalmente, um download não é concluído pois o visualizador o cancelou, por exemplo, clicando em um link diferente ou fechando o navegador. Nos logs de acesso do CloudFront, essas solicitações têm valor `200` na coluna `sc-status` e valor `Error` na coluna `x-edge-result-type`.

**2xx**  
O número de solicitações para as quais o código de status do HTTP é `2xx`, `Successful`. Nos logs de acesso do CloudFront, os códigos de status são exibidos na coluna `sc-status`.

**3xx**  
O número de solicitações para as quais o código de status do HTTP é `3xx`, `Redirection`. Os códigos de status `3xx` indicam que uma ação adicional é necessária. Por exemplo, 301 (Movido permanentemente) significa que o objeto solicitado foi movido para um local diferente.

**4xx**  
O número de solicitações para as quais o código de status do HTTP é `4xx`, `Client Error`. Os códigos de status `4xx` indicam que o cliente aparentemente cometeu um erro. Por exemplo, 404 (Não encontrado) significa que o cliente solicitou um objeto não encontrado.

**5xx**  
O número de solicitações para as quais o código de status do HTTP é `5xx`, `Server Error`. Os códigos de status `5xx` indicam que o servidor de origem não atendeu a solicitação. Por exemplo, 503 (Serviço indisponível) significa que o servidor de origem está indisponível no momento.

# Visualizar relatórios dos principais indicadores do CloudFront
<a name="top-referrers-report"></a>

O relatório dos principais indicadores do CloudFront inclui o seguinte para qualquer intervalo de datas nos últimos 60 dias:
+ Os 25 principais indicadores (domínios de sites que originaram a maioria das solicitações HTTP e HTTPS referentes a objetos distribuídos pelo CloudFront para a distribuição)
+ Número de solicitações de um indicador
+ Número de solicitações de um indicador como porcentagem do número total de solicitações durante o período especificado

Os dados do relatório de principais indicadores são obtidos da mesma origem que os logs de acesso do CloudFront. No entanto, não é necessário habilitar o [registro em log de acesso](AccessLogs.md) para visualizar os principais indicadores.

Os principais indicadores podem ser mecanismos de pesquisa, outros sites com link direto aos seus objetos ou seu próprio site. Por exemplo, se `https://example.com/index.html` tiver links para dez elementos gráficos, `example.com` será o indicador de todos eles.

**nota**  
Se um usuário inserir um URL diretamente na linha de endereço do navegador, não haverá indicador para o objeto solicitado.

**Topics**
+ [

## Visualizar relatórios dos principais indicadores do CloudFront no console
](#top-referrers-howto)
+ [

## Como o CloudFront calcula as estatísticas dos principais indicadores
](#top-referrers-calculate)
+ [

## Baixar dados no formato CSV
](#top-referrers-csv)
+ [

## Como os dados do relatório de principais indicadores estão relacionados aos dados dos logs padrão (logs de acesso) do CloudFront
](#top-referrers-data)

## Visualizar relatórios dos principais indicadores do CloudFront no console
<a name="top-referrers-howto"></a>

É possível visualizar o relatório dos principais indicadores do CloudFront no console.<a name="top-referrers-report-procedure"></a>

**Como visualizar os principais indicadores referentes a uma distribuição do CloudFront**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, selecione **Principais indicadores**.

1. No painel **CloudFront Top Referrers Report (Relatório de principais indicadores do CloudFront)**, em **Start Date (Data de início)** e **End Date (Data de ´termino)**, selecione o intervalo de datas para o qual você deseja exibir uma lista dos principais indicadores. 

   As datas e horas estão em Tempo Universal Coordenado (UTC).

1. Na lista **Distribution**, selecione a distribuição para a qual você deseja exibir uma lista dos principais indicadores. 

1. Selecione **Atualizar**.

## Como o CloudFront calcula as estatísticas dos principais indicadores
<a name="top-referrers-calculate"></a>

Para obter uma contagem precisa dos 25 principais indicadores, o CloudFront soma a solicitações de todos os seus objetos em intervalos de 10 minutos e mantém um total de execução dos 75 principais indicadores. Na parte inferior da lista, os indicadores constantemente sobem de posição ou saem da lista. Portanto, os totais desses indicadores são aproximados.

Os 25 indicadores na parte superior da lista de 75 indicadores podem subir ou cair de posição, mas raramente saem da lista. Portanto, os totais desses indicadores costumam ser mais confiáveis.

## Baixar dados no formato CSV
<a name="top-referrers-csv"></a>

Você pode baixar o relatório de principais indicadores no formato CSV. Esta seção explica como fazer download do relatório e descreve os valores dele.<a name="top-referrers-csv-procedure"></a>

**Para baixar o relatório de principais indicadores no formato CSV**

1. No relatório dos principais indicadores, selecione **CSV**.

1. Na caixa de diálogo **Opening *file name***, opte por abrir ou salvar o arquivo.

### Informações sobre o relatório
<a name="top-referrers-csv-header"></a>

As primeiras linhas do relatório incluem as seguintes informações:

**Versão**  
A versão do formato desse arquivo CSV.

**Relatório**  
O nome do relatório.

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**StartDateUTC**  
O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**EndDateUTC**  
O término do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**GeneratedTimeUTC**  
A data e a hora nas quais você executou o relatório, no Tempo Universal Coordenado (UTC).

### Dados do relatório de principais indicadores
<a name="top-referrers-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**Referrer**  
O nome de domínio do indicador.

**RequestCount**  
O número total de solicitações do nome de domínio na coluna `Referrer`.

**RequestsPct**  
O número de solicitações enviadas por um indicador como porcentagem do número total de solicitações durante o período especificado.

## Como os dados do relatório de principais indicadores estão relacionados aos dados dos logs padrão (logs de acesso) do CloudFront
<a name="top-referrers-data"></a>

A lista a seguir mostra como os valores do relatório de principais indicadores do console do CloudFront correspondem aos valores dos logs de acesso do CloudFront. Para mais informações sobre os logs de acesso do CloudFront, consulte [Logs de acesso (logs padrão)](AccessLogs.md).

**Referrer**  
O nome de domínio do indicador. Nos logs de acesso, os indicadores estão indicados na coluna `cs(Referer)`. 

**Request count**  
O número total de solicitações do nome de domínio na coluna **Referrer**. Esse valor normalmente corresponde ao número de solicitações `GET` do indicador no logs de acesso do CloudFront. 

**Solicitação %**  
O número de solicitações enviadas por um indicador como porcentagem do número total de solicitações durante o período especificado. Se você tiver mais de 25 indicadores, não será possível calcular a **% de solicitações** com base nos dados dessa tabela, porque a coluna **Request count** (Contagem de solicitações) não inclui todas as solicitações durante o período especificado.

# Visualizar relatórios de uso do CloudFront
<a name="usage-charts"></a>

Os relatórios de uso do CloudFront incluem as seguintes informações:
+ **Number of requests** 0 (Número de solicitações) mostra o número total de solicitações atendidas pelo CloudFront de locais de borda na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront especificada.
+ **Data transferred by protocol** (Dados transferidos por protocolo) e **Data transferred by destination** (Dados transferidos por destino) - ambos mostram a quantidade total de dados transferidos de locais de borda do CloudFront na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront especificada. Eles separam os dados de forma diferente, da seguinte maneira:
  + **By protocol** (Por protocolo) - separa os dados por protocolo: HTTP ou HTTPS.
  + **Por destino**: separa os dados por destino: para os visualizadores ou para a origem.

O relatório de uso do CloudFront é baseado no relatório de uso da AWS para o CloudFront. Esse relatório não exige configuração adicional. Para obter mais informações, consulte [Visualizar o relatório de uso da AWS para o CloudFront](reports-billing.md#usage-report).

É possível visualizar relatórios referentes a um intervalo de datas nos últimos 60 dias, com pontos de dados por hora ou dia. Normalmente, é possível visualizar os dados das solicitações recebidas pelo CloudFront há quatro horas, mas eles podem atrasar até 24 horas.

Para obter mais informações, consulte [Como os gráficos de uso estão relacionados aos dados do relatório de uso do CloudFront](#usage-charts-table).

**Topics**
+ [

## Visualizar relatórios de uso do CloudFront no console
](#usage-charts-howto)
+ [

## Baixar dados no formato CSV
](#usage-csv)
+ [

## Como os gráficos de uso estão relacionados aos dados do relatório de uso do CloudFront
](#usage-charts-table)

## Visualizar relatórios de uso do CloudFront no console
<a name="usage-charts-howto"></a>

É possível visualizar o relatório de uso do CloudFront no console.<a name="usage-charts-procedure"></a>

**Como visualizar relatórios de uso do CloudFront**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, escolha **Usage Reports (Relatórios de uso)**.

1. No painel **CloudFront Usage Reports (Relatórios de uso do CloudFront)**, em **Start Date (Data de início)** e **End Date (Data de término)**, selecione o intervalo de datas para o qual você deseja exibir gráficos de uso. Os intervalos disponíveis dependem do valor selecionado para **Granularity**:
   + **Daily (Diariamente)**: para exibir gráficos com um ponto de dados por dia, selecione qualquer intervalo de datas nos últimos 60 dias. 
   + **Hourly (Por hora)**: para exibir gráficos com um ponto de dados por hora, selecione qualquer intervalo de datas de até 14 dias nos últimos 60 dias. 

   As datas e horas estão em Tempo Universal Coordenado (UTC).

1. Em **Granularity**, especifique se você deseja exibir um ponto de dados por dia ou por hora nos gráficos. Se você especificar um intervalo de datas maior que 14 dias, a opção para especificar um ponto de dados por hora não estará disponível.

1. Em **Billing Region (Região de faturamento)**, escolha a região de faturamento do CloudFront com os dados que você deseja visualizar ou escolha **All Regions (Todas as regiões)**. Os gráficos de uso incluem dados de solicitações processados pelo CloudFront em pontos de presença na região especificada. A região na qual o CloudFront processa solicitações pode ou não corresponder à localização dos visualizadores. 

   Selecione apenas regiões incluídas na classe de preço da sua distribuição. Caso contrário, os gráficos de uso provavelmente não conterão dados. Por exemplo, se você escolher a classe de preço 200 para sua distribuição, as regiões de faturamento América do Sul e Austrália não serão incluídas, portanto, o CloudFront não processará as solicitações dessas regiões. Para ter mais informações sobre as classes de preços, consulte [Definição de preço do CloudFront](https://aws.amazon.com/cloudfront/pricing/).

1. Na lista **Distribution**, selecione as distribuições para as quais você deseja exibir os dados nos gráficos de uso: 
   + **An individual distribution (uma distribuição individual)**: os gráficos exibem os dados da distribuição selecionada do CloudFront. A lista **Distribution** exibe o ID e os nomes de domínio alternativos (CNAMEs) da distribuição, se houver. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá os nomes de domínio de origem dela.
   + **All distributions (excludes deleted)** (Todas as distribuições (exceto excluídas)): os gráficos exibem a soma dos dados de todas as distribuições que estão associadas à conta atual da AWS, com exceção das distribuições que você excluiu.
   + **All Deleted Distributions** (Todas as distribuições excluídas): os gráficos exibem a soma dos dados de todas as distribuições que estão associadas à conta atual da AWS e que foram excluídas nos últimos 60 dias.

1. Escolha **Atualizar grafos**.

**dica**  
Para visualizar dados de um ponto de dados por dia ou por hora em um gráfico, passe o ponteiro do mouse sobre o ponto de dados. 
Nos gráficos que mostram os dados transferidos, é possível alterar a escala vertical para gigabytes, megabytes ou kilobytes. 

## Baixar dados no formato CSV
<a name="usage-csv"></a>

É possível baixar o relatório de uso no formato CSV. Esta seção explica como fazer download do relatório e descreve os valores dele.<a name="usage-csv-procedure"></a>

**Para baixar o relatório de uso no formato CSV**

1. No relatório de uso, selecione **CSV**.

1. Na caixa de diálogo **Opening *file name***, opte por abrir ou salvar o arquivo.

### Informações sobre o relatório
<a name="usage-csv-header"></a>

As primeiras linhas do relatório incluem as seguintes informações:

**Versão**  
A versão do formato desse arquivo CSV.

**Relatório**  
O nome do relatório.

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado, `ALL` se o relatório tiver sido gerado para todas as distribuições ou `ALL_DELETED` se o relatório tiver sido gerado para todas as distribuições excluídas.

**StartDateUTC**  
O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**EndDateUTC**  
O término do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**GeneratedTimeUTC**  
A data e a hora nas quais você executou o relatório, no Tempo Universal Coordenado (UTC).

**Granularity**  
Se cada linha do relatório representa uma hora ou um dia. 

**BillingRegion**  
O continente de origem das solicitações do visualizador ou `ALL` se você optar por fazer download do relatório para todas as regiões de faturamento.

### Dados do relatório de uso
<a name="usage-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado, `ALL` se o relatório tiver sido gerado para todas as distribuições ou `ALL_DELETED` se o relatório tiver sido gerado para todas as distribuições excluídas.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**BillingRegion**  
A região de faturamento do CloudFront executada no relatório ou `ALL`.

**TimeBucket**  
A hora ou o dia ao qual os dados se aplicam, no Tempo Universal Coordenado (UTC).

**HTTP**  
O número de solicitações HTTP atendidas pelo CloudFront de pontos de presença na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront específica. Os valores incluem:  
+ O número de solicitações `GET` e `HEAD`, que fazem com que o CloudFront transfira dados para os visualizadores
+ O número de solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT` que fazem com que o CloudFront transfira dados para sua origem

**HTTPS**  
O número de solicitações HTTPS atendidas pelo CloudFront de pontos de presença na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront específica. Os valores incluem:  
+ O número de solicitações `GET` e `HEAD`, que fazem com que o CloudFront transfira dados para os visualizadores
+ O número de solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT` que fazem com que o CloudFront transfira dados para sua origem

**HTTPBytes**  
A quantidade total de dados transferidos por HTTP de pontos de presença do CloudFront na região de faturamento selecionada durante o período para a distribuição específica do CloudFront. Os valores incluem:  
+ Os dados transferidos do CloudFront para os visualizadores em resposta às solicitações `GET` e `HEAD`
+ Dados transferidos dos visualizadores ao CloudFront para solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`
+ Os dados transferidos do CloudFront para os visualizadores em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`.

**HTTPSBytes**  
A quantidade total de dados transferidos por HTTPS de pontos de presença do CloudFront na região de faturamento selecionada durante o período para a distribuição específica do CloudFront. Os valores incluem:  
+ Os dados transferidos do CloudFront para os visualizadores em resposta às solicitações `GET` e `HEAD`
+ Dados transferidos dos visualizadores ao CloudFront para solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`
+ Os dados transferidos do CloudFront para os visualizadores em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`.

**BytesIn**  
A quantidade total de dados transferidos do CloudFront para sua origem para as solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT` na região selecionada durante cada intervalo de tempo para a distribuição específica do CloudFront. 

**BytesOut**  
O volume total de dados transferidos por HTTP e HTTPS do CloudFront para os visualizadores na região selecionada durante cada intervalo de tempo para a distribuição específica do CloudFront. Os valores incluem:  
+ Os dados transferidos do CloudFront para os visualizadores em resposta às solicitações `GET` e `HEAD`
+ Os dados transferidos do CloudFront para os visualizadores em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`.

## Como os gráficos de uso estão relacionados aos dados do relatório de uso do CloudFront
<a name="usage-charts-table"></a>

A lista a seguir mostra como o uso gráficos no console do CloudFront correspondem aos valores da coluna **Usage Type (Tipo de uso)** no relatório de uso do CloudFront.

**Topics**
+ [

### Number of requests
](#usage-charts-requests)
+ [

### Data transferred by protocol
](#usage-charts-data-transferred-by-protocol)
+ [

### Data transferred by destination
](#usage-charts-data-transferred-by-destination)

### Number of requests
<a name="usage-charts-requests"></a>

Esse gráfico mostra o número total de solicitações atendidas pelo CloudFront de pontos de presença na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront especificada, separadas por protocolo (HTTP ou HTTPS) e por tipo (estáticas, dinâmicas ou de proxy).

**Number of HTTP requests**  
+ *region***-Requests-HTTP-Static:** número de solicitações `GET` e `HEAD` HTTP atendidas para objetos com TTL ≥ 3600 segundos
+ *region***-Requests-HTTP-Dynamic:** número de solicitações `GET` e `HEAD` HTTP atendidas para objetos com TTL < 3.600 segundos
+ *region***-Requests-HTTP-Proxy:** número de solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e HTTP `PUT` encaminhado pelo CloudFront à sua origem

**Number of HTTPS requests**  
+ *region***-Requests-HTTPS-Static:** número de solicitações `GET` and `HEAD` HTTPS atendidas para objetos com TTL ≥ 3600 segundos
+ *region***-Requests-HTTPS-Dynamic:** Número de solicitações `GET` e `HEAD` HTTPS atendidas para objetos com TTL < 3.600 segundos
+ *region***-Requests-HTTPS-Proxy:** número de solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT` HTTPS que o CloudFront encaminha à sua origem

### Data transferred by protocol
<a name="usage-charts-data-transferred-by-protocol"></a>

Esse grafo mostra o volume total de dados transferidos dos locais da borda do CloudFront na região selecionada durante cada intervalo de tempo para a distribuição especificada do CloudFront, separadas por protocolo (HTTP ou HTTPS), por tipo (estáticas, dinâmicas ou de proxy) e por destino (visualizadores ou origem).

**Data transferred over HTTP**  
+ *region***-Out-Bytes-HTTP-Static:** bytes fornecidos por HTTP para objetos com TTL ≥ 3600 segundos
+ *region***-Out-Bytes-HTTP-Dynamic:** bytes fornecidos por HTTP para objetos com TTL < 3.600 segundos
+ *region***-Out-Bytes-HTTP-Proxy:** bytes retornados por HTTP do CloudFront para os visualizadores em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`
+ *region***-Out-OBytes-HTTP-Proxy:** total de bytes transferidos por HTTP de pontos de presença do CloudFront para sua origem em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`

**Data transferred over HTTPS**  
+ *region***-Out-Bytes-HTTPS-Static:** bytes fornecidos por HTTPS para objetos com TTL ≥ 3600 segundos
+ *region***-Out-Bytes-HTTPS-Dynamic:** Bytes fornecidos por HTTPS para objetos com TTL < 3.600 segundos
+ *region***-Out-Bytes-HTTPS-Proxy:** bytes retornados por HTTPS do CloudFront para os visualizadores em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`
+ *region***-Out-OBytes-HTTPS-Proxy:** total de bytes transferidos por HTTPS de pontos de presença do CloudFront para sua origem em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`

### Data transferred by destination
<a name="usage-charts-data-transferred-by-destination"></a>

Esse grafo mostra o volume total de dados transferidos dos locais da borda do CloudFront na região selecionada durante cada intervalo de tempo para a distribuição especificada do CloudFront, separadas por destino (visualizadores ou origem), protocolo (HTTP ou HTTPS) e tipo (estáticas, dinâmicas ou de proxy).

**Dados transferidos do CloudFront para os visualizadores**  
+ *region***-Out-Bytes-HTTP-Static:** bytes fornecidos por HTTP para objetos com TTL ≥ 3600 segundos
+ *region***-Out-Bytes-HTTPS-Static:** bytes fornecidos por HTTPS para objetos com TTL ≥ 3600 segundos
+ *region***-Out-Bytes-HTTP-Dynamic:** bytes fornecidos por HTTP para objetos com TTL < 3.600 segundos
+ *region***-Out-Bytes-HTTPS-Dynamic:** Bytes fornecidos por HTTPS para objetos com TTL < 3.600 segundos
+ *region***-Out-Bytes-HTTP-Proxy:** bytes retornados por HTTP do CloudFront para os visualizadores em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`
+ *region***-Out-Bytes-HTTPS-Proxy:** bytes retornados por HTTPS do CloudFront para os visualizadores em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`

**Dados transferidos do CloudFront para a sua origem**  
+ *region***-Out-OBytes-HTTP-Proxy:** total de bytes transferidos por HTTP de pontos de presença do CloudFront para sua origem em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`
+ *region***-Out-OBytes-HTTPS-Proxy:** total de bytes transferidos por HTTPS de pontos de presença do CloudFront para sua origem em resposta às solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` e `PUT`

# Visualizar relatórios de visualizadores do CloudFront
<a name="viewers-reports"></a>

Os relatórios de visualizadores do CloudFront incluem as seguintes informações para qualquer intervalo de datas nos últimos 60 dias:
+ **Dispositivos**: os tipos de dispositivos usados com maior frequência para acessar seu conteúdo (como desktop ou dispositivo móvel).
+ **Navegadores**: os dez navegadores mais usados para acessar seu conteúdo (como Chrome ou Firefox).
+ **Sistemas operacionais**: os dez sistemas operacionais mais usados ao acessar seu conteúdo (como Linux, macOS ou Windows).
+ **Locais**: os 50 principais locais (países ou estados/territórios dos EUA) dos visualizadores que acessam seu conteúdo com maior frequência.
  + Também é possível visualizar locais com pontos de dados por hora de qualquer intervalo de datas de até 14 dias nos últimos 60 dias.

**nota**  
Não é necessário habilitar o [registro em log de acesso](AccessLogs.md) para ver os gráficos e relatórios de visualizadores.

**Topics**
+ [

## Visualizar gráficos e relatórios de visualizadores no console
](#viewers-reports-displaying)
+ [

## Baixar dados no formato CSV
](#viewer-csv)
+ [

## Dados incluídos nos relatórios de visualizadores
](#viewer-csv-header)
+ [

## Como os dados do relatório de locais estão relacionados aos dados dos logs padrão (logs de acesso) do CloudFront
](#viewers-reports-data)

## Visualizar gráficos e relatórios de visualizadores no console
<a name="viewers-reports-displaying"></a>

É possível visualizar gráficos e relatórios de visualizadores do CloudFront no console.<a name="viewers-reports-procedure"></a>

**Como visualizar gráficos e relatórios de visualizadores do CloudFront**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, escolha **Visualizadores**.

1. No painel **CloudFront Viewers (Visualizadores do CloudFront)** em **Start Date (Data de início)** e **End Date (Data de término)**, selecione o intervalo de datas para o qual você deseja exibir gráficos e relatórios de visualizadores. 

   No gráfico de locais, os intervalos disponíveis dependem do valor selecionado para **Granularity**:
   + **Daily (Diariamente)**: para exibir gráficos com um ponto de dados por dia, selecione qualquer intervalo de datas nos últimos 60 dias.
   + **Hourly (Por hora)**: para exibir gráficos com um ponto de dados por hora, selecione qualquer intervalo de datas de até 14 dias nos últimos 60 dias.

   As datas e horas estão em Tempo Universal Coordenado (UTC).

1. (Somente nos gráficos de navegadores e sistemas operacionais) Em **Grouping**, especifique se você deseja agrupar os navegadores e sistemas operacionais por nome (Chrome, Firefox) ou por nome e versão (Chrome 40.0, Firefox 35.0). 

1. (Somente no gráfico de locais) Em **Granularity**, especifique se você deseja exibir um ponto de dados por dia ou por hora nos gráficos. Se você especificar um intervalo de datas maior que 14 dias, a opção para especificar um ponto de dados por hora não estará disponível.

1. (Somente no gráfico de locais) Em **Details**, especifique se você deseja exibir os principais locais por país ou estado dos EUA.

1. Na lista **Distribution**, selecione a distribuição para a qual você deseja exibir os dados nos gráficos de uso:
   + **An individual distribution (uma distribuição individual)**: os gráficos exibem os dados da distribuição selecionada do CloudFront. A lista **Distribution** exibe o ID e um nome de domínio alternativo (CNAME) da distribuição, se houver. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.
   + **All distributions (excludes deleted)** (Todas as distribuições (exceto excluídas)): os gráficos exibem a soma dos dados de todas as distribuições que estão associadas à conta atual da AWS, com exceção das distribuições que você excluiu.

1. Selecione **Atualizar**.

Para visualizar dados de um ponto de dados por dia ou por hora em um gráfico, passe o ponteiro do mouse sobre o ponto de dados.

## Baixar dados no formato CSV
<a name="viewer-csv"></a>

Você pode baixar cada um dos relatórios de visualizadores no formato CSV. Esta seção explica como fazer download dos relatórios e descreve os valores dele.<a name="viewer-csv-procedure"></a>

**Para baixar o relatório de visualizadores no formato CSV**

1. No relatório de visualizadores, selecione **CSV**.

1. Escolha os dados que você deseja baixar, por exemplo, **Devices** ou **Devices Trends**.

1. Na caixa de diálogo **Opening *file name***, opte por abrir ou salvar o arquivo.

## Dados incluídos nos relatórios de visualizadores
<a name="viewer-csv-header"></a>

As primeiras linhas de cada relatório incluem as seguintes informações:

**Versão**  
A versão do formato desse arquivo CSV.

**Relatório**  
O nome do relatório.

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**StartDateUTC**  
O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**EndDateUTC**  
O término do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**GeneratedTimeUTC**  
A data e a hora nas quais você executou o relatório, no Tempo Universal Coordenado (UTC).

**Agrupamento (somente relatórios de navegadores e sistemas operacionais)**  
Se os dados são agrupados por nome ou por nome e versão do navegador ou sistema operacional.

**Granularity**  
Se cada linha do relatório representa uma hora ou um dia. 

**Detalhes (somente relatório de locais)**  
Se as solicitações são indicadas por país ou estado dos EUA.

Os tópicos a seguir descrevem as informações nos diferentes relatórios de visualizadores.

**Topics**
+ [

### Relatório de dispositivos
](#viewer-devices-csv-data)
+ [

### Relatório de tendências do dispositivo
](#viewer-device-trends-csv-data)
+ [

### Relatório de navegadores
](#viewer-browsers-csv-data)
+ [

### Relatório de tendências do navegador
](#viewer-browser-trends-csv-data)
+ [

### Relatório de sistemas operacionais
](#viewer-operating-system-csv-data)
+ [

### Relatório de tendências do sistema operacional
](#viewer-operating-system-trends-csv-data)
+ [

### Relatório de locais
](#viewer-locations-csv-data)
+ [

### Relatório de tendências do local
](#viewer-location-trends-csv-data)

### Relatório de dispositivos
<a name="viewer-devices-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**Solicitações**  
O número de solicitações recebidas pelo CloudFront por cada tipo de dispositivo.

**RequestsPct**  
O número de solicitações recebidas pelo CloudFront de cada tipo de dispositivo como porcentagem do número total de solicitações recebidas pelo CloudFront de todos os dispositivos.

**Personalizada**  
As solicitações para as quais o valor do cabeçalho `User-Agent` HTTP não foi associado a um dos tipos de dispositivo padrão, por exemplo, `Desktop` ou `Mobile`.

### Relatório de tendências do dispositivo
<a name="viewer-device-trends-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**TimeBucket**  
A hora ou o dia ao qual os dados se aplicam, no Tempo Universal Coordenado (UTC).

**Desktop**  
O número de solicitações recebidas pelo CloudFront de desktops durante o período.

**Dispositivos móveis**  
O número de solicitações recebidas pelo CloudFront de dispositivos móveis durante o período. Dispositivos móveis podem incluir tablets e celulares. Se o CloudFront não conseguir determinar se uma solicitação foi feita de um celular ou tablet, ela é inserida na coluna `Mobile`.

**Smart-TV**  
O número de solicitações recebidas pelo CloudFront de Smart TVs durante o período.

**Tablet**  
O número de solicitações recebidas pelo CloudFront de tablets durante o período. Se o CloudFront não conseguir determinar se uma solicitação foi feita de um celular ou tablet, ela é inserida na coluna `Mobile`.

**Desconhecido**  
As solicitações para as quais o valor do cabeçalho `User-Agent` HTTP não foi associado a um dos tipos de dispositivo padrão, por exemplo, `Desktop` ou `Mobile`.

**Empty**  
O número de solicitações recebidas pelo CloudFront que não incluem um valor no cabeçalho `User-Agent` HTTP durante o período.

### Relatório de navegadores
<a name="viewer-browsers-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**Grupo**  
O navegador ou o navegador e a versão do qual o CloudFront recebeu solicitações, dependendo do valor de `Grouping`. Além dos nomes dos navegadores, os valores possíveis incluem:  
+ **Bot/Crawler**: solicitações principalmente de mecanismos de pesquisa que estiverem indexando seu conteúdo.
+ **Empty (Vazio)**: solicitações para as quais o valor do cabeçalho `User-Agent` HTTP está vazio.
+ **Other (Outro)**: navegadores identificados pelo CloudFront, mas que não estão entre os mais populares. Se `Bot/Crawler`, `Empty` e/ou `Unknown` não for exibido entre os nove primeiros valores, eles também serão incluídos em `Other`.
+ **Unknown (Desconhecido)**: solicitações para as quais o valor do cabeçalho `User-Agent` HTTP não foi associado a um navegador padrão. A maioria das solicitações dessa categoria são provenientes de aplicativos ou scripts personalizados.

**Solicitações**  
O número de solicitações recebidas pelo CloudFront por cada tipo de navegador.

**RequestsPct**  
O número de solicitações recebidas pelo CloudFront de cada tipo de navegador como porcentagem do número total de solicitações recebidas pelo CloudFront durante o período especificado.

### Relatório de tendências do navegador
<a name="viewer-browser-trends-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**TimeBucket**  
A hora ou o dia ao qual os dados se aplicam, no Tempo Universal Coordenado (UTC).

**(Navegadores)**  
As demais colunas do relatório indicam os navegadores ou os navegadores e suas versões, dependendo do valor de `Grouping`. Além dos nomes dos navegadores, os valores possíveis incluem:  
+ **Bot/Crawler**: solicitações principalmente de mecanismos de pesquisa que estiverem indexando seu conteúdo.
+ **Empty (Vazio)**: solicitações para as quais o valor do cabeçalho `User-Agent` HTTP está vazio.
+ **Other (Outro)**: navegadores identificados pelo CloudFront, mas que não estão entre os mais populares. Se `Bot/Crawler`, `Empty` e/ou `Unknown` não for exibido entre os nove primeiros valores, eles também serão incluídos em `Other`.
+ **Unknown (Desconhecido)**: solicitações para as quais o valor do cabeçalho `User-Agent` HTTP não foi associado a um navegador padrão. A maioria das solicitações dessa categoria são provenientes de aplicativos ou scripts personalizados.

### Relatório de sistemas operacionais
<a name="viewer-operating-system-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**Grupo**  
O sistema operacional ou o sistema operacional e a versão do qual o CloudFront recebeu solicitações, dependendo do valor de `Grouping`. Além dos nomes dos sistemas operacionais, os valores possíveis incluem:  
+ **Bot/Crawler**: solicitações principalmente de mecanismos de pesquisa que estiverem indexando seu conteúdo.
+ **Empty (Vazio)**: solicitações para as quais o valor do cabeçalho `User-Agent` HTTP está vazio.
+ **Other (Outro)**: sistemas operacionais identificados pelo CloudFront, mas que não estão entre os mais populares. Se `Bot/Crawler`, `Empty` e/ou `Unknown` não for exibido entre os nove primeiros valores, eles também serão incluídos em `Other`.
+ **Unknown (Desconhecido)**: solicitações para as quais o valor do cabeçalho `User-Agent` HTTP não foi associado a um navegador padrão. A maioria das solicitações dessa categoria são provenientes de aplicativos ou scripts personalizados.

**Solicitações**  
O número de solicitações recebidas pelo CloudFront por cada tipo de sistema operacional.

**RequestsPct**  
O número de solicitações recebidas pelo CloudFront de cada tipo de sistema operacional, como porcentagem do número total de solicitações recebidas pelo CloudFront durante o período especificado.

### Relatório de tendências do sistema operacional
<a name="viewer-operating-system-trends-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**TimeBucket**  
A hora ou o dia ao qual os dados se aplicam, no Tempo Universal Coordenado (UTC).

**(Sistemas operacionais)**  
As demais colunas do relatório indicam os sistemas operacionais ou os sistemas operacionais e suas versões, dependendo do valor de `Grouping`. Além dos nomes dos sistemas operacionais, os valores possíveis incluem:  
+ **Bot/Crawler**: solicitações principalmente de mecanismos de pesquisa que estiverem indexando seu conteúdo.
+ **Empty (Vazio)**: solicitações para as quais o valor do cabeçalho `User-Agent` HTTP está vazio.
+ **Other (Outro)**: sistemas operacionais identificados pelo CloudFront, mas que não estão entre os mais populares. Se `Bot/Crawler`, `Empty` e/ou `Unknown` não for exibido entre os nove primeiros valores, eles também serão incluídos em `Other`.
+ **Unknown**: solicitações para as quais o sistema operacional não é especificado no cabeçalho `User-Agent` HTTP.

### Relatório de locais
<a name="viewer-locations-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**LocationCode**  
A abreviação do local do qual o CloudFront recebeu solicitações. Para obter mais informações sobre os possíveis valores, veja a descrição de local em [Como os dados do relatório de locais estão relacionados aos dados dos logs padrão (logs de acesso) do CloudFront](#viewers-reports-data).

**LocationName**  
O nome do local do qual o CloudFront recebeu solicitações.

**Solicitações**  
O número de solicitações recebidas pelo CloudFront em cada local.

**RequestsPct**  
O número de solicitações recebidas pelo CloudFront de cada local como porcentagem do número total de solicitações recebidas pelo CloudFront de todos os locais durante o período especificado.

**TotalBytes**  
O número de bytes fornecido pelo CloudFront aos visualizadores nesse país ou estado para a distribuição e o período especificados.

### Relatório de tendências do local
<a name="viewer-location-trends-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual o relatório foi gerado ou `ALL` se o relatório tiver sido gerado para todas as distribuições.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**TimeBucket**  
A hora ou o dia ao qual os dados se aplicam, no Tempo Universal Coordenado (UTC).

**(Locais)**  
As demais colunas do relatório indicam os locais dos quais o CloudFront recebeu solicitações. Para obter mais informações sobre os possíveis valores, veja a descrição de local em [Como os dados do relatório de locais estão relacionados aos dados dos logs padrão (logs de acesso) do CloudFront](#viewers-reports-data).

## Como os dados do relatório de locais estão relacionados aos dados dos logs padrão (logs de acesso) do CloudFront
<a name="viewers-reports-data"></a>

A lista a seguir mostra como os dados do relatório de locais do console do CloudFront correspondem aos valores dos logs de acesso do CloudFront. Para mais informações sobre os logs de acesso do CloudFront, consulte [Logs de acesso (logs padrão)](AccessLogs.md).

**Local**  
O país ou estado dos EUA no qual o visualizador está localizado. Nos logs de acesso, a coluna `c-ip` contém o endereço IP do dispositivo de origem do visualizador. Usamos dados de geolocalização para identificar a localização geográfica do dispositivo com base no endereço IP.  
Se você estiver exibindo o relatório **Localizações** por país, a lista de países é baseada no [ISO 3166-2, *Códigos para a representação dos nomes dos países e das suas subdivisões – Parte 2: Código de subdivisão do país*](https://en.wikipedia.org/wiki/ISO_3166-2). A lista de países inclui os seguintes valores adicionais:  
+ **Anonymous Proxy (Proxy anônimo)**: a solicitação de origem de um proxy anônimo.
+ **Satellite Provider (Provedor de satélite)**: a solicitação de origem de um provedor de satélite que fornece serviços de Internet para vários países. Os visualizadores podem estar em países com alto risco de fraude.
+ **Europe (Unknown) (Europa (desconhecido))**: a solicitação de origem de um IP em um bloco usado por vários países europeus. O país de origem da solicitação não pode ser determinado. O CloudFront usa **Europe (Unknown) (Europa (desconhecido))** como padrão. 
+ **Asia/Pacific (Unknown) (Ásia/Pacífico (desconhecido))**: a solicitação de origem de um IP em um bloco usado por vários países na região Ásia/Pacífico. O país de origem da solicitação não pode ser determinado. O CloudFront usa **Asia/Pacific (Unknown) (Ásia/Pacífico (desconhecido))** como padrão. 
Se você estiver exibindo o relatório **Locations** por estado dos EUA, observe que ele pode incluir os territórios e as regiões das Forças Armadas dos EUA.  
Se o CloudFront não puder determinar a localização de um usuário, o local aparecerá como "Unknown" nos relatórios do visualizador.

**Request Count**  
O número total de solicitações do país ou estado dos EUA no qual o visualizador está localizado, para a distribuição e o período especificados. Esse valor normalmente corresponde ao número de solicitações `GET` dos endereços IP desse país ou estado nos logs de acesso do CloudFront. 

**Solicitação %**  
Um dos seguintes, dependendo do valor selecionado para **Details**:  
+ **Countries (Países)**: as solicitações desse país como porcentagem do número total de solicitações. 
+ **U.S. States** (Estados dos EUA): as solicitações desse estado como porcentagem do número total de solicitações dos Estados Unidos.
Se as solicitações forem provenientes de mais de 50 países, não será possível calcular a **% de solicitações** com base nos dados dessa tabela, porque a coluna **Request Count** não inclui todas as solicitações durante o período especificado.

**Bytes**  
O número de bytes fornecido pelo CloudFront aos visualizadores nesse país ou estado para a distribuição e o período especificados. Para alterar a exibição dos dados dessa coluna para KB, MB ou GB, selecione o link no cabeçalho da coluna. 

# Monitorar métricas do CloudFront com o Amazon CloudWatch
<a name="monitoring-using-cloudwatch"></a>

O Amazon CloudFront é integrado ao Amazon CloudWatch e publica automaticamente métricas operacionais para distribuições e funções de borda (do [Lambda@Edge e CloudFront Functions](edge-functions.md)). É possível usar essas métricas para solucionar problemas, monitorar e depurar problemas. Muitas dessas métricas são exibidas em um conjunto de grafos no console do CloudFront e também podem ser acessadas usando a CLI ou a API do CloudFront. Todas essas métricas estão disponíveis no [console do CloudWatch](https://console.aws.amazon.com/cloudwatch/home) ou por meio da CLI ou da API do CloudWatch. As métricas do CloudFront não são contabilizadas em relação às [cotas do CloudWatch (anteriormente conhecidas como limites)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html) e não geram custo adicional.

Além das métricas padrão para distribuições do CloudFront, é possível ativar outras métricas por um custo adicional. As métricas adicionais se aplicam às distribuições do CloudFront e devem ser ativadas para cada distribuição separadamente. Para obter mais informações sobre o custo, consulte [Estimar o custo para as métricas adicionais do CloudFront](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional-pricing).





Também é possível definir alarmes com base nessas métricas no console do CloudFront ou na API, na CLI ou no console do CloudWatch. Por exemplo, é possível definir um alarme com base na métrica `5xxErrorRate`, que representa a porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta está no intervalo de `500` a `599`. Quando a taxa de erro atinge determinado valor por certo período, por exemplo, 5% das solicitações por cinco minutos contínuos, o alarme é acionado. Especifique o valor do alarme e a respectiva unidade de tempo ao criar o alarme. 

**Observações**  
Ao criar um alarme do CloudWatch no console do CloudFront, ele cria um para você na região Leste dos EUA (Norte da Virgínia) (`us-east-1`). Se você criar um alarme no console do CloudWatch, deverá usar a mesma região. Como o CloudFront é um serviço global, as métricas do serviço são enviadas para o Leste dos EUA (Norte da Virgínia).
Ao criar alarmes, aplica-se o [preço padrão do CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

**Topics**
+ [

# Visualizar métricas do CloudFront e de funções de borda
](viewing-cloudfront-metrics.md)
+ [

# Criar alarmes do para métricas do
](receiving-notifications.md)
+ [

# Baixar dados de métricas no formato CSV
](cloudwatch-csv.md)
+ [

# Tipos de métricas para o CloudFront
](programming-cloudwatch-metrics.md)

# Visualizar métricas do CloudFront e de funções de borda
<a name="viewing-cloudfront-metrics"></a>

É possível visualizar métricas operacionais sobre as distribuições do CloudFront e as [funções de borda](https://aws.amazon.com/cloudfront/features/#Edge_Computing) no console do CloudFront. 

**Como visualizar métricas do CloudFront e de funções de borda no CloudFront**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, escolha **Monitoring (Monitoramento)**.

1. Para visualizar grafos sobre a atividade de uma distribuição do CloudFront ou função de borda específica, selecione uma e, depois, escolha **View distribution metrics** (Visualizar métricas de distribuição) ou **View metrics** (Visualizar métricas).

1. É possível personalizar os gráficos fazendo o seguinte:

   1. Para alterar o intervalo de tempo das informações exibidas nos gráficos, escolha 1h (uma hora), 3h (três horas) ou outro intervalo, ou especifique um intervalo personalizado. 

   1. Para alterar a frequência com que o CloudFront atualiza as informações no gráfico, clique na seta para baixo ao lado do ícone de atualização e escolha uma taxa de atualização. A taxa de atualização padrão é de um minuto, mas é possível escolher outras opções.

1. Para exibir gráficos do CloudFront no console do CloudWatch, escolha **Add to dashboard (Adicionar ao painel)**. É necessário usar a região Leste dos EUA (N. da Virgínia) para visualizar os grafos no console do CloudWatch.

**Topics**
+ [

## Métricas de distribuição padrão do CloudFront
](#monitoring-console.distributions)
+ [

## Ativar métricas adicionais de distribuição do CloudFront
](#monitoring-console.distributions-additional)
+ [

## Métricas de função padrão do Lambda@Edge
](#monitoring-console.lambda-at-edge)
+ [

## Métricas padrão do CloudFront Functions
](#monitoring-console.cloudfront-functions)

## Métricas de distribuição padrão do CloudFront
<a name="monitoring-console.distributions"></a>

As seguintes métricas padrão são incluídas para todas as distribuições do CloudFront, sem custo adicional:

**Solicitações**  
O número total de solicitações de visualizador recebidas pelo CloudFront, para todos os métodos HTTP e para solicitações HTTP e HTTPS.

**Bytes baixados**  
O número de bytes baixados pelos visualizadores para solicitações `GET` e `HEAD`.

**Bytes carregados**  
O número total de bytes carregados pelos visualizadores no CloudFront usando as solicitações `OPTIONS`, `POST` e `PUT`.

**Taxa de erros 4xx**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `4xx`.

**Taxa de erros 5xx**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `5xx`.

**Taxa de erros total**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `4xx` ou `5xx`.

Essas métricas são mostradas em grafos para cada distribuição do CloudFront na página **Monitoramento** do console do CloudFront. Em cada gráfico, os totais são exibidos na granularidade de 1 minuto. Além de visualizar os gráficos, também é possível [fazer download de relatórios de métricas como arquivos CSV](cloudwatch-csv.md).

## Ativar métricas adicionais de distribuição do CloudFront
<a name="monitoring-console.distributions-additional"></a>

Além das métricas padrão, é possível ativar outras métricas por um custo adicional. Para obter mais informações sobre o custo, consulte [Estimar o custo para as métricas adicionais do CloudFront](#monitoring-console.distributions-additional-pricing).

Essas métricas adicionais devem ser ativadas para cada distribuição separadamente:

**Taxa de acertos do cache**  
A porcentagem de todas as solicitações armazenáveis em cache para as quais o CloudFront forneceu o conteúdo do cache. Solicitações HTTP `POST` e `PUT` e erros não são considerados solicitações armazenáveis em cache.

**Latência de origem**  
O tempo total gasto de quando o CloudFront recebe uma solicitação até quando começa a fornecer uma resposta à rede (não ao visualizador), para solicitações que são atendidas da origem, não do cache do CloudFront. Isso também é conhecido como *latência de primeiro byte* ou *tempo até o primeiro byte*.

**Taxa de erro por código de status**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é um código específico no intervalo `4xx` ou `5xx`. Essa métrica está disponível para todos os seguintes códigos de erro: `401`, `403`, `404`, `502`, `503` e `504`.

Você pode ativar métricas adicionais no console do CloudFront com o CloudFormation, com a AWS Command Line Interface (AWS CLI) ou com a API do CloudFront.

------
#### [ Console ]

**Como ativar métricas adicionais**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, escolha **Monitoring (Monitoramento)**.

1. Selecione a distribuição para a qual ativar métricas adicionais e selecione **View distribution metrics** (Visualizar métricas de distribuição).

1. Selecione **Manage additional metrics** (Gerenciar métricas adicionais).

1. Na janela **Manage additional metrics** (Gerenciar métricas adicionais), ative **Enabled** (Habilitado). Após a ativação das métricas adicionais, é possível fechar a janela **Manage additional metrics** (Gerenciar métricas adicionais).

   Após a ativação das métricas adicionais, elas são mostradas em grafos. Em cada gráfico, os totais são exibidos na granularidade de 1 minuto. Além de visualizar os gráficos, também é possível [fazer download de relatórios de métricas como arquivos CSV](cloudwatch-csv.md).

------
#### [ CloudFormation ]

Para ativar métricas adicionais com o CloudFormation, use o tipo de recurso `AWS::CloudFront::MonitoringSubscription`. O exemplo a seguir mostra a sintaxe do modelo do CloudFormation no formato YAML, para habilitar métricas adicionais.

```
Type: AWS::CloudFront::MonitoringSubscription
Properties: 
  DistributionId: EDFDVBD6EXAMPLE
  MonitoringSubscription:
    RealtimeMetricsSubscriptionConfig:
      RealtimeMetricsSubscriptionStatus: Enabled
```

------
#### [ CLI ]

Para gerenciar métricas adicionais com a AWS Command Line Interface (AWS CLI), use um dos seguintes comandos:

**Como ativar métricas adicionais para uma distribuição**
+ Use o comando **create-monitoring-subscription** como no exemplo a seguir. Substitua *EDFDVBD6EXAMPLE* pelo ID da distribuição para a qual você está habilitando métricas adicionais.

  ```
  aws cloudfront create-monitoring-subscription --distribution-id EDFDVBD6EXAMPLE --monitoring-subscription RealtimeMetricsSubscriptionConfig={RealtimeMetricsSubscriptionStatus=Enabled}
  ```

**Como verificar se as métricas adicionais estão ativadas para uma distribuição**
+ Use o comando **get-monitoring-subscription** como no exemplo a seguir. Substitua *EDFDVBD6EXAMPLE* pelo ID da distribuição que você está verificando.

  ```
  aws cloudfront get-monitoring-subscription --distribution-id EDFDVBD6EXAMPLE
  ```

**Como desativar métricas adicionais para uma distribuição**
+ Use o comando **delete-monitoring-subscription** como no exemplo a seguir. Substitua *EDFDVBD6EXAMPLE* pelo ID da distribuição para a qual você está desativando métricas adicionais.

  ```
  aws cloudfront delete-monitoring-subscription --distribution-id EDFDVBD6EXAMPLE
  ```

------
#### [ API ]

Para gerenciar métricas adicionais com a API do CloudFront, use uma das seguintes operações de API.
+ Para ativar métricas adicionais para uma distribuição, use [CreateMonitoringSubscription](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateMonitoringSubscription.html).
+ Para ver se as métricas adicionais estão ativadas para uma distribuição, use [GetMonitoringSubscription](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetMonitoringSubscription.html).
+ Para desativar métricas adicionais para uma distribuição, use [DeleteMonitoringSubscription](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DeleteMonitoringSubscription.html).

Consulte mais informações sobre essas operações de API na documentação de referência da API do AWS SDK ou de outro cliente de API.

------

### Estimar o custo para as métricas adicionais do CloudFront
<a name="monitoring-console.distributions-additional-pricing"></a>

Quando você ativa métricas adicionais para uma distribuição, o CloudFront envia até oito métricas para o CloudWatch na região Leste dos EUA (N. da Virgínia). O CloudWatch cobra uma taxa baixa e fixa para cada métrica. Essa taxa é cobrada apenas uma vez por mês, por métrica (até 8 métricas por distribuição). É uma taxa fixa, portanto, o custo permanece o mesmo, independentemente do número de solicitações ou respostas que a distribuição do CloudFront recebe ou envia. Para obter a taxa por métrica, consulte a [página de definição de preço do Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/) e a [Calculadora de definição de preço do CloudWatch](https://aws.amazon.com/cloudwatch/pricing/#Pricing_calculator). Taxas de API adicionais se aplicam ao recuperar as métricas com a API do CloudWatch.

## Métricas de função padrão do Lambda@Edge
<a name="monitoring-console.lambda-at-edge"></a>

É possível usar métricas do CloudWatch para monitorar, em tempo real, problemas nas funções do Lambda@Edge. Não há cobrança adicional por essas métricas.

Quando você associa uma função do Lambda@Edge a um comportamento de cache em uma distribuição do CloudFront, o Lambda começa a enviar métricas para o CloudWatch automaticamente. As métricas estão disponíveis para todas as regiões do Lambda, mas, para visualizar métricas no console do CloudWatch ou obter os dados de métricas de API do CloudWatch, use a região Leste dos EUA (N. da Virgínia) (`us-east-1`). O nome do grupo de métricas é formatado como: `AWS/CloudFront/distribution-ID`, em que *distribution-ID* é o ID da distribuição do CloudFront à qual a função do Lambda@Edge está associada. Para obter mais informações sobre as métricas do CloudWatch, consulte o [Guia do usuário do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

As seguintes métricas padrão são exibidas em grafos para cada função do Lambda@Edge na página **Monitoramento** do console do CloudFront:
+ `5xx`Taxa de erros do Lambda@Edge
+ Erros de execução do Lambda
+ Respostas inválidas do Lambda
+ Aceleradores do Lambda

Os gráficos incluem o número de invocações, erros, limitações e muito mais. Em cada gráfico, os totais são exibidos na granularidade de 1 minuto, agrupados por região da AWS.

Se você vir um pico nos erros que deseja investigar, será possível escolher uma função e visualizar os arquivos de log por região da AWS, até determinar qual função está causando problemas e em qual região da AWS. Para obter mais informações sobre a resolução de erros do Lambda@Edge, consulte:
+ [Como determinar o tipo de falha](lambda-edge-testing-debugging.md#lambda-edge-testing-debugging-failure-type)
+ [Quatro etapas para depurar sua entrega de conteúdo na AWS](https://aws.amazon.com/blogs/networking-and-content-delivery/four-steps-for-debugging-your-content-delivery-on-aws/)

## Métricas padrão do CloudFront Functions
<a name="monitoring-console.cloudfront-functions"></a>

O CloudFront Functions envia métricas operacionais para o Amazon CloudWatch para que você possa monitorar suas funções. A visualização dessas métricas pode ajudar a solucionar problemas, rastrear e depurar problemas. O CloudFront Functions publica as seguintes métricas no CloudWatch:
+ **Invocations** (Invocações) (`FunctionInvocations`): o número de vezes que a função foi iniciada (invocada) em um determinado período de tempo.
+ **Validation errors** (Erros de validação) (`FunctionValidationErrors`): o número de erros de validação produzidos pela função em um determinado período de tempo. Os erros de validação ocorrem quando a função é executada com êxito, mas retorna dados inválidos (um [objeto de evento](functions-event-structure.md) inválido).
+ **Execution errors** (Erros de execução) (`FunctionExecutionErrors`): o número de erros de execução que ocorreram em um determinado período de tempo. Erros de execução ocorrem quando a função falha ao concluir com êxito.
+ **Compute utilization** (Utilização de computação) `FunctionComputeUtilization`: a quantidade de tempo que a função levou para ser executada como um percentual do tempo máximo permitido. Por exemplo, um valor de 35 significa que a função foi concluída em 35% do tempo máximo permitido. Esta métrica é um número entre 0 e 100.

  Se esse valor atingir ou estiver próximo de 100, a função usou ou está perto de usar o tempo de execução permitido e as solicitações subsequentes poderão ser submetidas a controle de utilização. Se sua função estiver sendo executada com 80% ou mais de utilização, recomendamos que você revise sua função para reduzir o tempo de execução e melhorar a utilização. Por exemplo, talvez você queira registrar somente erros em log, simplificar qualquer expressão regex complexa ou remover a análise desnecessária de objetos JSON complexos.
+ **Limitações**(`FunctionThrottles`): o número de vezes que a função foi limitada em determinado período. As funções podem ser limitadas pelos seguintes motivos:
  + A função excede continuamente o tempo máximo permitido para execução.
  + A função causa erros de compilação.
  + Há um número excepcionalmente alto de solicitações por segundo.

O KeyValueStore do CloudFront também envia as seguintes métricas operacionais para o Amazon CloudWatch:
+ **Read requests (Solicitações de leitura)** (`KvsReadRequests`): o número de vezes que a função foi lida com êxito do armazenamento de chave-valor em determinado período.
+ **Read errors (Erros de leitura)** (`KvsReadErrors`): o número de vezes que a função falhou ao ler o armazenamento de chave-valor em determinado período.

Todas essas métricas são publicadas no CloudWatch na região Leste dos EUA (Norte da Virgínia) (`us-east-1`), no namespace do CloudFront. Você também pode visualizar essas métricas no console do CloudWatch. No console do CloudWatch, você pode visualizar as métricas por função ou por função por distribuição.

Você também pode usar o CloudWatch para definir alarmes com base nessas métricas. Por exemplo, você pode definir um alarme com base na métrica de tempo de execução (`FunctionComputeUtilization`), que representa a porcentagem do tempo disponível que a função levou para executar. Quando o tempo de execução atinge determinado valor por certo período. Por exemplo, se você escolher mais de 70% do tempo disponível por 15 minutos contínuos, o alarme será acionado. Especifique o valor do alarme e a respectiva unidade de tempo ao criar o alarme.

**nota**  
O CloudFront Functions envia métricas ao CloudWatch apenas para funções na fase `LIVE` que são executadas em resposta a solicitações e respostas de produção. Quando você [testa uma função](test-function.md), o CloudFront não envia métricas para o CloudWatch. A saída de teste contém informações sobre erros, utilização de computação e logs de funções (instruções `console.log()`), mas essas informações não são enviadas para o CloudWatch.

Para obter informações sobre como obter essas métricas com a API do CloudWatch, consulte [Tipos de métricas para o CloudFront](programming-cloudwatch-metrics.md).

# Criar alarmes do para métricas do
<a name="receiving-notifications"></a>

No console do CloudFront, é possível definir alarmes para notificá-lo pelo Amazon Simple Notification Service (Amazon SNS) com base em métricas específicas do CloudFront.

**Como criar alarmes para métricas**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, selecione **Alarmes**.

1. Selecione **Create alarm (Criar alarme)**.

1. Em **Detalhes**, especifique o seguinte: 

   1. **Nome do alarme**: um nome para o alarme.

   1. **Distribuição**: a distribuição do CloudFront para a qual você está criando o alarme.

1. Em **Condição**, especifique o seguinte:

   1. **Métrica**: a métrica para a qual você está criando o alarme.

   1. **“SE” <condition>**: o limite de quando o CloudWatch deve acionar um alarme e enviar uma notificação para o tópico do Amazon SNS. Por exemplo, para receber uma notificação quando a taxa de erro `5xx` exceder 1%, especifique o seguinte:

      **Taxa de erros 5xx** **> 1**

   1. **“POR” períodos consecutivos**: o período em que a condição deve ser atendida antes de acionar um alarme. Ao escolher um valor, vise um equilíbrio adequado entre um valor que não acione o alarme para problemas temporários, mas que acione o alarme para problemas persistentes ou reais.

   1. (Opcional) **Notificar**: o tópico do Amazon SNS para o qual enviar a notificação se essa métrica acionar um alarme.

1. Selecione **Criar alarme**.

**Observações**  
Ao inserir os valores da condição, use números inteiros sem pontuação. Por exemplo, para especificar mil, insira **1000**.
Para as taxas de erro `4xx`, `5xx` e total, o valor especificado é uma porcentagem.
Para solicitações, bytes obtidos por download e bytes enviados por upload, o valor especificado é em unidades. Por exemplo, 1073742000 bytes.

Consulte mais informações sobre como criar tópicos do Amazon SNS em [Creating an Amazon SNS topic](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) no *Guia do desenvolvedor do Amazon Simple Notification Service*.

# Baixar dados de métricas no formato CSV
<a name="cloudwatch-csv"></a>

É possível fazer download dos dados de métricas do CloudWatch para uma distribuição do CloudFront no formato CSV. 

**Como baixar dados de métricas no formato CSV**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, escolha **Monitoring (Monitoramento)**.

1. Selecione a distribuição e escolha **Visualizar métricas de distribuição**.

1. Selecione **Baixar CSV** e escolha o período (por exemplo, **Para o último dia (período de 1 hora)**.

1. Depois que o arquivo for baixado, abra-o para visualizar as informações a seguir.

**Topics**
+ [

## Informações sobre o relatório
](#cloudwatch-csv-header)
+ [

## Dados no relatório de métricas
](#cloudwatch-csv-data)

## Informações sobre o relatório
<a name="cloudwatch-csv-header"></a>

As primeiras linhas do relatório incluem as seguintes informações:

**Versão**  
A versão dos relatórios do CloudFront.

**Relatório**  
O nome do relatório.

**DistributionID**  
O ID da distribuição para a qual você executou o relatório.

**StartDateUTC**  
O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**EndDateUTC**  
O término do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC).

**GeneratedTimeUTC**  
A data e a hora nas quais você executou o relatório, no Tempo Universal Coordenado (UTC).

**Granularity**  
O período de cada linha do relatório, por exemplo, `ONE_MINUTE`.

## Dados no relatório de métricas
<a name="cloudwatch-csv-data"></a>

O relatório inclui os seguintes valores:

**DistributionID**  
O ID da distribuição para a qual você executou o relatório.

**FriendlyName**  
Um nome de domínio alternativo (CNAME), se houver, para a distribuição. Se uma distribuição não tiver nomes de domínio alternativos, a lista incluirá um nome de domínio de origem dela.

**TimeBucket**  
A hora ou o dia ao qual os dados se aplicam, no Tempo Universal Coordenado (UTC).

**Solicitações**  
O número total de solicitações de todos os códigos de status do HTTP (por exemplo, `200` ou `404`) e de todos os métodos (por exemplo, `GET`, `HEAD` ou `POST`) durante o período.

**BytesDownloaded**  
O número de bytes baixados pelos visualizadores para a distribuição especificada durante o período.

**BytesUploaded**  
O número de bytes que visualizadores enviaram por upload para a distribuição especificada durante o período.

**TotalErrorRatePct**  
A porcentagem de solicitações para as quais o código de status HTTP foi um erro `4xx` ou `5xx` para a distribuição especificada durante o período.

**4xxErrorRatePct**  
A porcentagem de solicitações para as quais o código de status HTTP foi um erro `4xx` para a distribuição especificada durante o período.

**5xxErrorRatePct**  
A porcentagem de solicitações para as quais o código de status HTTP foi um erro `5xx` para a distribuição especificada durante o período.

Se você tiver [ativado métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional) para a distribuição, o relatório também incluirá os seguintes valores adicionais:

**401ErrorRatePct**  
A porcentagem de solicitações para as quais o código de status HTTP foi um erro `401` para a distribuição especificada durante o período.

**403ErrorRatePct**  
A porcentagem de solicitações para as quais o código de status HTTP foi um erro `403` para a distribuição especificada durante o período.

**404ErrorRatePct**  
A porcentagem de solicitações para as quais o código de status HTTP foi um erro `404` para a distribuição especificada durante o período.

**502ErrorRatePct**  
A porcentagem de solicitações para as quais o código de status HTTP foi um erro `502` para a distribuição especificada durante o período.

**503ErrorRatePct**  
A porcentagem de solicitações para as quais o código de status HTTP foi um erro `503` para a distribuição especificada durante o período.

**504ErrorRatePct**  
A porcentagem de solicitações para as quais o código de status HTTP foi um erro `504` para a distribuição especificada durante o período.

**OriginLatency**  
O tempo total gasto, em milissegundos, desde o momento em que o CloudFront recebeu uma solicitação até o instante em que começou a fornecer uma resposta à rede (não ao visualizador), para solicitações que foram fornecidas da origem, não do cache do CloudFront. Isso também é conhecido como *latência de primeiro byte* ou *tempo até o primeiro byte*.

**CacheHitRate**  
A porcentagem de todas as solicitações armazenáveis em cache para as quais o CloudFront forneceu o conteúdo do cache. Solicitações HTTP `POST` e `PUT` e erros não são considerados solicitações armazenáveis em cache.

# Tipos de métricas para o CloudFront
<a name="programming-cloudwatch-metrics"></a>

É possível pode usar a API ou a AWS Command Line Interface (AWS CLI) do CloudWatch para obter as métricas do CloudFront em programas ou aplicações que você cria. É possível usar os dados brutos para criar seus próprios painéis personalizados, suas próprias ferramentas de alarmes e muito mais. 

Consulte mais informações em [get-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html) na *Referência de comandos da AWS CLI* ou na operação de API [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) na *Referência de API do Amazon CloudWatch*.

**Topics**
+ [

## Valores para todas as métricas do CloudFront
](#cloudfront-metrics-global-values)
+ [

## Valores para métricas de distribuição do CloudFront
](#cloudfront-metrics-distribution-values)
+ [

## Valores para métricas de função do CloudFront
](#cloudfront-metrics-function-values)

**nota**  
Para obter as métricas do CloudFront da API do CloudWatch, use a região Leste dos EUA (Norte da Virgínia) (`us-east-1`). Você também precisa conhecer alguns valores e tipos para cada métrica.

## Valores para todas as métricas do CloudFront
<a name="cloudfront-metrics-global-values"></a>

Os valores a seguir se aplicam a todas as métricas do CloudFront:

**`Namespace`**  
O valor para `Namespace` é sempre `AWS/CloudFront`.

**Dimensões**  
Cada métrica do CloudFront tem as seguintes dimensões:    
**`DistributionId`**  
O ID da distribuição do CloudFront para o qual você deseja obter métricas.  
**`FunctionName`**  
O nome da função (no CloudFront Functions) para a qual você deseja obter métricas.  
Essa dimensão se aplica apenas a funções.  
**`Region`**  
O valor de `Region` é sempre `Global`, pois o CloudFront é um serviço global.

## Valores para métricas de distribuição do CloudFront
<a name="cloudfront-metrics-distribution-values"></a>

Use as informações da lista a seguir para obter detalhes sobre métricas específicas de distribuição do CloudFront da API do CloudWatch. Algumas dessas métricas ficam disponíveis somente quando você ativa métricas adicionais para a distribuição.

**nota**  
Apenas uma estatística, `Average` ou `Sum`, é aplicável para cada métrica. A lista a seguir especifica qual estatística é aplicável a essa métrica.

**Taxa de erros 4xx**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `4xx`.  
+ Nome da métrica: `4xxErrorRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Taxa de erro 401**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `401`. Para obter essa métrica, primeiro é necessário [ativar métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional).  
+ Nome da métrica: `401ErrorRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Taxa de erro 403**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `403`. Para obter essa métrica, primeiro é necessário [ativar métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional).  
+ Nome da métrica: `403ErrorRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Taxa de erro 404**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `404`. Para obter essa métrica, primeiro é necessário [ativar métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional).  
+ Nome da métrica: `404ErrorRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Taxa de erros 5xx**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `5xx`.  
+ Nome da métrica: `5xxErrorRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Taxa de erro 502**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `502`. Para obter essa métrica, primeiro é necessário [ativar métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional).  
+ Nome da métrica: `502ErrorRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Taxa de erro 503**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `503`. Para obter essa métrica, primeiro é necessário [ativar métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional).  
+ Nome da métrica: `503ErrorRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Taxa de erro 504**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `504`. Para obter essa métrica, primeiro é necessário [ativar métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional).  
+ Nome da métrica: `504ErrorRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Bytes baixados**  
O número de bytes baixados pelos visualizadores para solicitações `GET` e `HEAD`.  
+ Nome da métrica: `BytesDownloaded`
+ Estatística válida: `Sum`
+ Unidade: `None`

**Bytes carregados**  
O número total de bytes carregados pelos visualizadores no CloudFront usando as solicitações `OPTIONS`, `POST` e `PUT`.  
+ Nome da métrica: `BytesUploaded`
+ Estatística válida: `Sum`
+ Unidade: `None`

**Taxa de acertos do cache**  
A porcentagem de todas as solicitações armazenáveis em cache para as quais o CloudFront forneceu o conteúdo do cache. Solicitações HTTP `POST` e `PUT` e erros não são considerados solicitações armazenáveis em cache. Para obter essa métrica, primeiro é necessário [ativar métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional).  
+ Nome da métrica: `CacheHitRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Latência de origem**  
O tempo total gasto, em milissegundos, de quando o CloudFront recebe uma solicitação até quando começa a fornecer uma resposta à rede (não ao visualizador), para solicitações que são fornecidas pela origem, não pelo cache do CloudFront. Isso também é conhecido como *latência de primeiro byte* ou *tempo até o primeiro byte*. Para obter essa métrica, primeiro é necessário [ativar métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional).  
+ Nome da métrica: `OriginLatency`
+ Estatística válida: `Percentile`
+ Unidade: `Milliseconds`
Para obter uma estatística `Percentile` da API do CloudWatch, use o parâmetro `ExtendedStatistics`, não `Statistics`. Para obter mais informações, consulte [GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html) na *Referência da API do Amazon CloudWatch *ou a documentação de referência dos [AWS SDKs](https://docs.aws.amazon.com/#sdks).

**Solicitações**  
O número total de solicitações de visualizador recebidas pelo CloudFront, para todos os métodos HTTP e para solicitações HTTP e HTTPS.  
+ Nome da métrica: `Requests`
+ Estatística válida: `Sum`
+ Unidade: `None`

**Taxa de erros total**  
A porcentagem de todas as solicitações do visualizador para as quais o código de status HTTP da resposta é `4xx` ou `5xx`.  
+ Nome da métrica: `TotalErrorRate`
+ Estatística válida: `Average`
+ Unidade: `Percent`

## Valores para métricas de função do CloudFront
<a name="cloudfront-metrics-function-values"></a>

Use as informações da lista a seguir para obter detalhes sobre métricas específicas de função do CloudFront da API do CloudWatch.

**nota**  
Apenas uma estatística, `Average` ou `Sum`, é aplicável para cada métrica. A lista a seguir especifica qual estatística é aplicável a essa métrica.

**Invocações**  
O número de vezes que a função foi iniciada (invocada) em um determinado período de tempo.  
+ Nome da métrica: `FunctionInvocations`
+ Estatística válida: `Sum`
+ Unidade: `None`

**Erros de validação**  
O número de erros de validação produzidos pela função em um determinado período de tempo. Os erros de validação ocorrem quando a função é executada com êxito, mas retorna dados inválidos (um objeto de evento inválido).  
+ Nome da métrica: `FunctionValidationErrors`
+ Estatística válida: `Sum`
+ Unidade: `None`

**Erros de execução**  
O número de erros de execução que ocorreram em um determinado período de tempo. Erros de execução ocorrem quando a função falha ao concluir com êxito.  
+ Nome da métrica: `FunctionExecutionErrors`
+ Estatística válida: `Sum`
+ Unidade: `None`

**Utilização de recursos de computação**  
A quantidade de tempo (0 a 100) que a função levou para ser executada como uma porcentagem do tempo máximo permitido. Por exemplo, um valor de 35 significa que a função foi concluída em 35% do tempo máximo permitido.  
+ Nome da métrica: `FunctionComputeUtilization`
+ Estatística válida: `Average`
+ Unidade: `Percent`

**Controles de utilização**  
O número de vezes que a função foi limitada em determinado período.  
+ Nome da métrica: `FunctionThrottles`
+ Estatística válida: `Sum`
+ Unidade: `None`

# Registro em log do CloudFront e de funções de borda
<a name="logging"></a>

O Amazon CloudFront fornece diferentes tipos de registro em log. É possível registrar em log as solicitações do visualizador recebidas pelas distribuições do CloudFront ou registrar as atividades do serviço do CloudFront (atividade de API) em sua conta da AWS. Também é possível obter logs das funções do CloudFront Functions e do Lambda@Edge.

## Registrar solicitações em log
<a name="logging-requests"></a>

O CloudFront fornece as seguintes maneiras de registrar em log as solicitações recebidas por suas distribuições.

**Logs de acesso (logs padrão)**  
Os logs de acesso do CloudFront fornecem registros detalhados sobre cada solicitação feita a uma distribuição. Você pode usar os logs para cenários, como auditorias de segurança e acesso.   
Os logs de acesso do CloudFront são entregues ao destino que você especificar.   
Use logs de acesso quando precisar de:  
+ análise e relatórios históricos;
+ requisitos de segurança e conformidade;
+ retenção econômica de logs em longo prazo.
Para obter mais informações, consulte [Logs de acesso (logs padrão)](AccessLogs.md).

**Logs de acesso em tempo real**  
Os logs de acesso em tempo real do CloudFront são entregues em segundos depois o recebimento das solicitações e fornecem informações em tempo real sobre as solicitações feitas a uma distribuição. É possível escolher a *taxa de amostragem* para os logs de acesso em tempo real; isto é, a porcentagem de solicitações para as quais deseja receber registros de logs de acesso em tempo real. Também é possível escolher os campos específicos que deseja receber nos registros de log. Os logs de acesso em tempo real são ideais para monitoramento em tempo real do desempenho da entrega de conteúdo.  
Os logs de acesso em tempo real do CloudFront são entregues ao fluxo de dados de sua preferência no Amazon Kinesis Data Streams. Além das cobranças de uso do Kinesis Data Streams, o CloudFront cobra por logs de acesso em tempo real.  
Use logs de acesso em tempo real quando precisar de:  
+ monitoramento e alertas em tempo real;
+ painéis e insights operacionais em tempo real.
Para obter mais informações, consulte [Usar logs de acesso em tempo real](real-time-logs.md).

**Logs de conexão**  
Os logs de conexão fornecem informações detalhadas sobre a conexão entre o servidor e o cliente para distribuições habilitadas para mTLS. Eles mostram informações sobre certificados de cliente, sobre os motivos das falhas na autenticação mTLS e sobre se a conexão foi permitida ou recusada.  
Como os logs de acesso (logs padrão), os logs de conexão são entregues ao destino que você especificar.   
 Para habilitar os logs de conexão, primeiro você deve [habilitar a mTLS](mtls-authentication.md) para sua distribuição. 
Use logs de conexão quando precisar:  
+ Saber o motivo do êxito ou falha de uma conexão durante o handshake do TLS. 
+ Ter visibilidade das informações sobre certificados de cliente.
Para obter mais informações, consulte [Observabilidade por meio de logs de conexão](connection-logs.md).

## Registrar em log funções de borda
<a name="logging-edge-functions"></a>

É possível usar o Amazon CloudWatch Logs para obter logs para as funções de borda, tanto do Lambda@Edge quanto do CloudFront Functions. É possível acessar os logs usando o console do CloudWatch ou a API do CloudWatch Logs. Para obter mais informações, consulte [Logs de funções de borda](edge-functions-logs.md).

## Registrar em log as atividades do serviço
<a name="logging-service-activity"></a>

Você pode usar o AWS CloudTrail para registrar a atividade do serviço do CloudFront (atividade de API) em sua conta da AWS. O CloudTrail fornece um registro de ações de API realizadas por um usuário, uma função ou um serviço da AWS no CloudFront. Usando as informações coletadas pelo CloudTrail, é possível determinar a solicitação de API realizada para o CloudFront, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita, além de detalhes adicionais.

Para obter mais informações, consulte [Registrar em log chamadas de API do Amazon CloudFront usando o AWS CloudTrail](logging_using_cloudtrail.md).

Consulte mais informações sobre o registro em log nos seguintes tópicos:

**Topics**
+ [

## Registrar solicitações em log
](#logging-requests)
+ [

## Registrar em log funções de borda
](#logging-edge-functions)
+ [

## Registrar em log as atividades do serviço
](#logging-service-activity)
+ [

# Logs de acesso (logs padrão)
](AccessLogs.md)
+ [

# Usar logs de acesso em tempo real
](real-time-logs.md)
+ [

# Logs de funções de borda
](edge-functions-logs.md)
+ [

# Registrar em log chamadas de API do Amazon CloudFront usando o AWS CloudTrail
](logging_using_cloudtrail.md)

# Logs de acesso (logs padrão)
<a name="AccessLogs"></a>

Você pode configurar o CloudFront para criar arquivos de log que contenham informações detalhadas sobre todas as solicitações dos usuários (visualizadores) que ele recebe. Esses são chamados de *logs de acesso*, também conhecidos como *logs padrão*. 

Cada log contém informações, como a hora em que a solicitação foi recebida, tempo de processamento, caminhos de solicitação e respostas do servidor. Você pode usar esses logs de acesso para analisar os tempos de resposta e solucionar problemas.

O diagrama a seguir mostra como o CloudFront registra informações sobre as solicitações de seus objetos. Neste exemplo, as distribuições estão configuradas para enviar logs de acesso a um bucket do Amazon S3.

![\[Fluxo básico de logs de acesso\]](http://docs.aws.amazon.com/pt_br/AmazonCloudFront/latest/DeveloperGuide/images/Logging.png)


1. Neste diagrama, você tem dois sites, A e B, e duas distribuições do CloudFront correspondentes. Os usuários solicitam seus objetos usando URLs associados a suas distribuições.

1. O CloudFront encaminha cada solicitação para o ponto de presença adequado.

1. O CloudFront grava dados sobre cada solicitação em um arquivo de log específico a essa distribuição. Neste exemplo, informações sobre as solicitações relacionadas à Distribuição A são registradas em um arquivo de log exclusivo para ela. Da mesma forma, informações sobre as solicitações relacionadas à Distribuição B são registradas em um arquivo de log exclusivo para ela.

1. O CloudFront periodicamente salva o arquivo de log de uma distribuição no bucket do Amazon S3 especificado ao habilitar o registro. Depois, o CloudFront começa salvando as informações de solicitações subsequentes em um novo arquivo de log para a distribuição.

   Se nenhum visualizador acessar seu conteúdo em uma hora específica, você não receberá arquivos de log referentes a essa hora.

**nota**  
Recomendamos que você use os logs para compreender a natureza das solicitações do seu conteúdo, não como uma contabilidade completa de todas as solicitações. O CloudFront entrega logs de acesso com base no melhor esforço. A entrada do log de uma solicitação específica pode ser entregue muito depois do processamento da solicitação e, raramente, nunca ser entregue. Quando uma entrada de log for omitida dos logs de acesso, o número de entradas nos logs não corresponderá ao uso exibido nos relatórios de uso e faturamento da AWS.

O CloudFront é compatível com duas versões de registro em log padrão. O registro em log padrão (legado) permite o envio de logs de acesso *somente* ao Amazon S3. O registro em log padrão (v2) permite outros destinos de entrega. Você pode configurar ambos ou qualquer uma das opções de registro em log para sua distribuição. Para saber mais, consulte os seguintes tópicos:

**Topics**
+ [

# Configurar o registro em log padrão (v2)
](standard-logging.md)
+ [

# Configurar o registro em log padrão (legado)
](standard-logging-legacy-s3.md)
+ [

# Referência do registro em log padrão
](standard-logs-reference.md)

**dica**  
O CloudFront também oferece logs de acesso em tempo real, que fornecem informações sobre solicitações feitas a uma distribuição em tempo real (os logs são entregues em segundos após o recebimento das solicitações). É possível usar os logs de acesso em tempo real para monitorar, analisar e executar ações com base no desempenho da entrega de conteúdo. Para obter mais informações, consulte [Usar logs de acesso em tempo real](real-time-logs.md).

# Configurar o registro em log padrão (v2)
<a name="standard-logging"></a>

É possível habilitar os logs de acesso (logs padrão) ao criar ou atualizar uma distribuição. Os recurso do registro em log padrão (v2) permitem o seguinte:
+ Enviar logs de acesso ao Amazon CloudWatch Logs, Amazon Data Firehose e Amazon Simple Storage Service (Amazon S3).
+ Selecionar os campos de log desejados. Também é possível selecionar um [subconjunto de campos de log de acesso em tempo real](#standard-logging-real-time-log-selection).
+ Selecionar formatos adicionais de [arquivo de log de saída](#supported-log-file-format).

Se você estiver usando o Amazon S3, você tem recursos opcionais, como:
+ Enviar logs a Regiões da AWS habilitadas.
+ Organizar os logs com particionamento.
+ Habilitar nomes de arquivos compatíveis com o Hive.

Para obter mais informações, consulte [Enviar logs ao Amazon S3](#send-logs-s3).

Para começar a usar o registro em log padrão, conclua as seguintes etapas:

1. Configure as permissões necessárias para o AWS service (Serviço da AWS) especificado que receberá os logs.

1. Configure o registro em log padrão por meio do console do CloudFront ou da API do CloudWatch.

1. Visualize os logs de acesso.

**nota**  
Se você habilitar o registro em log padrão (v2), isso não afetará nem alterará o registro em log padrão (legado). Você pode continuar usando o registro em log padrão (legado) para sua distribuição, além de usar o registro em log padrão (v2). Para obter mais informações, consulte [Configurar o registro em log padrão (legado)](standard-logging-legacy-s3.md).
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.

## Permissões
<a name="permissions-standard-logging"></a>

O CloudFront usa os logs fornecidos pelo CloudWatch para entregar logs de acesso. Para habilitar a entrega de registro em log, você precisa de permissões para o AWS service (Serviço da AWS) especificado.

Para ver as permissões necessárias para cada destino de registro em log, escolha um dos tópicos a seguir no *Guia do usuário do Amazon CloudWatch Logs*.
+ [CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs)
+ [Firehose](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-Firehose)
+ [Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-S3)

Depois de configurar as permissões para seu destino de registro em log, você pode habilitar o registro em log padrão para sua distribuição.

**nota**  
O CloudFront permite o envio de logs de acesso a diferentes Contas da AWS (entre contas). Para permitir a entrega entre contas, ambas (sua conta e a conta de recebimento) devem ter as permissões necessárias. Para obter mais informações, consulte a seção [Habilitar o registro em log padrão para entrega entre contas](#enable-standard-logging-cross-accounts) ou [Cross-account delivery example](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#vended-logs-crossaccount-example) no *Guia do usuário do Amazon CloudWatch Logs*. 

## Habilitar o registro padrão
<a name="set-up-standard-logging"></a>

Para habilitar o registro em log padrão, você pode usar o console do CloudFront ou a API do CloudWatch.

**Contents**
+ [

### Habilitar o registro em log padrão (console do CloudFront)
](#access-logging-console)
+ [

### Habilitar o registro em log padrão (API do CloudWatch)
](#enable-access-logging-api)

### Habilitar o registro em log padrão (console do CloudFront)
<a name="access-logging-console"></a>

**Para habilitar o registro em log padrão para uma distribuição do CloudFront (console)**

1. Use o console do CloudFront para [atualizar uma distribuição existente](HowToUpdateDistribution.md#HowToUpdateDistributionProcedure).

1. Escolha a guia **Logging** (Registrar em log).

1. Escolha **Adicionar** e selecione o serviço para receber os logs:
   + CloudWatch Logs
   + Firehose
   + Amazon S3

1. Em **Destino**, selecione o recurso para seu serviço. Se você ainda não criou seu recurso, pode escolher **Criar** ou consultar a documentação a seguir.
   + Para o CloudWatch Logs, insira o **[nome do grupo de logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)**.
   + Para o Firehose, insira o **[fluxo de entrega do Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)**.
   + Para o Amazon S3, insira o **[nome do bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)**. 
**dica**  
Para especificar um prefixo, insira o prefixo após o nome do bucket, como `amzn-s3-demo-bucket.s3.amazonaws.com/MyLogPrefix`. Se você não especificar um prefixo, o CloudFront adicionará um automaticamente para você. Para obter mais informações, consulte [Enviar logs ao Amazon S3](#send-logs-s3).

1. Em **Configurações adicionais: *opcional***, você pode especificar as seguintes opções:

   1. Em **Seleção de campos**, escolha o nome dos campos de log que você deseja entregar ao seu destino. Você pode selecionar [campos de log de acesso](standard-logs-reference.md#BasicDistributionFileFormat) e um subconjunto de [campos de log de acesso em tempo real](#standard-logging-real-time-log-selection).

   1. (Somente para o Amazon S3) Em **Particionamento**, especifique o caminho para particionar os dados do arquivo de log. 

   1. (Somente para o Amazon S3) Em **Formato de arquivo compatível com o Hive**, você pode marcar a caixa de seleção para usar caminhos do S3 compatíveis com o Hive. Isso ajuda a simplificar o carregamento de novos dados em suas ferramentas compatíveis com o Hive.

   1. Em **Formato de saída**, especifique o formato de sua preferência.
**nota**  
Se você escolher **Parquet**, essa opção incorrerá em cobranças do CloudWatch pela conversão dos logs de acesso em Apache Parquet. Para ter mais informações, consulte a seção sobre logs fornecidos em [Definição de preço do Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

   1. Em **Delimitador de campo**, especifique como separar os campos de log. 

1. Conclua as etapas para atualizar ou criar sua distribuição.

1. Para adicionar outro destino, repita as etapas de 3 a 6.

1. Na página **Logs**, verifique se o status dos logs padrão está **ativado** ao lado da distribuição.

1. (Opcional) Para habilitar o registro em log de cookies, escolha **Gerenciar** e **Configurações**, ative **Registro de cookies** e escolha **Salvar alterações**.
**dica**  
O registro em log de cookies é uma configuração global que se aplica a *todos *os registros em log padrão da sua distribuição. Você não pode substituir essa configuração para destinos de entrega separados.

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](standard-logs-reference.md).

### Habilitar o registro em log padrão (API do CloudWatch)
<a name="enable-access-logging-api"></a>

Você também pode usar a API do CloudWatch para habilitar o registro em log padrão para suas distribuições. 

**Observações**  
Ao chamar a API do CloudWatch para habilitar o registro em log padrão, você deve especificar a região Leste dos EUA (Norte da Virgínia) (`us-east-1`), mesmo que queira habilitar a entrega entre regiões para outro destino. Por exemplo, se você quiser enviar seus logs de acesso a um bucket do S3 na região Europa (Irlanda) (`eu-west-1`), use a API do CloudWatch na região `us-east-1`.
Há uma opção adicional para incluir cookies no registro em log padrão. Na API do CloudFront, é o parâmetro `IncludeCookies`. Se você configurar o registro em log de acesso usando a API do CloudWatch e especificar que deseja incluir cookies, deverá usar o console ou a API do CloudFront para atualizar sua distribuição e incluir cookies. Caso contrário, o CloudFront não poderá enviar cookies ao destino de log. Para obter mais informações, consulte [Registro em log de cookies](DownloadDistValuesGeneral.md#DownloadDistValuesCookieLogging).

**Como habilitar o registro em log padrão para uma distribuição (API do CloudWatch)**

1. Depois de criar uma distribuição, obtenha o nome de recurso da Amazon (ARN). 

   Você pode encontrar o ARN na página **Distribuição** no console do CloudFront ou usar a operação de API [GetDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html). Um ARN de distribuição segue o formato `arn:aws:cloudfront::123456789012:distribution/d111111abcdef8`. 

1. Em seguida, use a operação de API [PutDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html) do CloudWatch para criar uma origem de entrega para a distribuição. 

   1. Insira um nome para a origem de entrega.

   1. Passe o `resourceArn` da distribuição. 

   1. Em `logType`, especifique `ACCESS_LOGS` como o tipo de log que será coletado. 

   1.   
**Example Exemplo do comando put-delivery-source da AWS CLI**  

      Veja abaixo um exemplo de configuração de origem de entrega para uma distribuição.

      ```
      aws logs put-delivery-source --name S3-delivery --resource-arn arn:aws:cloudfront::123456789012:distribution/d111111abcdef8 --log-type ACCESS_LOGS
      ```

      **Output**

      ```
      {
       "deliverySource": {
       "name": "S3-delivery",
       "arn": "arn:aws:logs:us-east-1:123456789012:delivery-source:S3-delivery",
       "resourceArns": [
       "arn:aws:cloudfront::123456789012:distribution/d111111abcdef8"
       ],
       "service": "cloudfront",
       "logType": "ACCESS_LOGS"
       }
      }
      ```

1. Use a operação de API [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html) para configurar onde armazenar os logs. 

   1. Em `destinationResourceArn`, especifique o ARN do destino. Isso pode ser um grupo de logs do CloudWatch Logs, a um fluxo de entrega do Firehose ou um bucket do Amazon S3.

   1. Em `outputFormat`, especifique o formato de saída para os logs.

   1.   
**Example Exemplo do comando put-delivery-destination da AWS CLI**  

      Veja abaixo um exemplo de configuração de destino de entrega para um bucket do Amazon S3.

      ```
      aws logs put-delivery-destination --name S3-destination --delivery-destination-configuration destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket
      ```

      **Output**

      ```
      {
          "name": "S3-destination",
          "arn": "arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination",
          "deliveryDestinationType": "S3",
          "deliveryDestinationConfiguration": {
              "destinationResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket"
          }
      }
      ```
**nota**  
Se você estiver entregando logs entre contas, deverá usar a operação de API [PutDeliveryDestinationPolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html) para atribuir uma política do AWS Identity and Access Management (IAM) à conta de destino. A política do IAM permite a entrega de uma conta para outra.

1. Use a operação de API [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html) para vincular a origem de entrega ao destino que você criou nas etapas anteriores. Essa operação de API associa a fonte de entrega ao destino final.

   1. Para `deliverySourceName`, especifique o nome da origem.

   1. Para `deliveryDestinationArn`, especifique o ARN do destino de entrega.

   1. Para `fieldDelimiter`, especifique a string para separar cada campo de log.

   1. Para `recordFields`, especifique os campos de log que você deseja.

   1. Se você estiver usando o S3, especifique se deseja usar `enableHiveCompatiblePath` e `suffixPath`.  
**Example Exemplo do comando create-delivery da AWS CLI**  

   Veja a seguir um exemplo de criação de entrega. 

   ```
   aws logs create-delivery --delivery-source-name cf-delivery --delivery-destination-arn arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination
   ```

   **Output**

   ```
   {
       "id": "abcNegnBoTR123",
       "arn": "arn:aws:logs:us-east-1:123456789012:delivery:abcNegnBoTR123",
       "deliverySourceName": "cf-delivery",
       "deliveryDestinationArn": "arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination",
       "deliveryDestinationType": "S3",
       "recordFields": [
           "date",
           "time",
           "x-edge-location",
           "sc-bytes",
           "c-ip",
           "cs-method",
           "cs(Host)",
           "cs-uri-stem",
           "sc-status",
           "cs(Referer)",
           "cs(User-Agent)",
           "cs-uri-query",
           "cs(Cookie)",
           "x-edge-result-type",
           "x-edge-request-id",
           "x-host-header",
           "cs-protocol",
           "cs-bytes",
           "time-taken",
           "x-forwarded-for",
           "ssl-protocol",
           "ssl-cipher",
           "x-edge-response-result-type",
           "cs-protocol-version",
           "fle-status",
           "fle-encrypted-fields",
           "c-port",
           "time-to-first-byte",
           "x-edge-detailed-result-type",
           "sc-content-type",
           "sc-content-len",
           "sc-range-start",
           "sc-range-end",
           "c-country",
           "cache-behavior-path-pattern"
       ],
        "fieldDelimiter": ""
   }
   ```

1. No console do CloudFront, na página **Logs**, verifique se o status dos logs padrão está **Habilitado** 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](standard-logs-reference.md).

**nota**  
Para habilitar o registro em log padrão (v2) para o CloudFront usando o AWS CloudFormation, você pode usar as seguintes propriedades do CloudWatch Logs:  
[Delivery](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)
[DeliveryDestination](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)
[DeliverySource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)
`ResourceArn` é a distribuição do CloudFront e `LogType` deve ser `ACCESS_LOGS` como o tipo de log compatível.

## Habilitar o registro em log padrão para entrega entre contas
<a name="enable-standard-logging-cross-accounts"></a>

Se você habilitar o registro em log padrão para sua Conta da AWS e quiser entregar os logs de acesso a outra conta, configure a conta de origem e a conta de destino corretamente. A *conta de origem* com a distribuição do CloudFront envia os logs de acesso à *conta de destino*.

No procedimento deste exemplo, a conta de origem *111.111.111.111*) envia os respectivos logs de acesso a um bucket do Amazon S3 na conta de destino (*222.222.222.222*). Para enviar logs de acesso a um bucket do Amazon S3 na conta de destino, use a AWS CLI. 

### Configurar a conta de destino
<a name="steps-destination-account"></a>

Para a conta de destino, conclua o procedimento a seguir.

**Como configurar a conta de destino**

1. Para criar o destino da entrega de logs, você pode inserir o comando da AWS CLI a seguir. Este exemplo usa a string `MyLogPrefix` para criar um prefixo para os logs de acesso.

   ```
   aws logs put-delivery-destination --name cloudfront-delivery-destination --delivery-destination-configuration "destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/MyLogPrefix"
   ```

   **Output**

   ```
   {
       "deliveryDestination": {
           "name": "cloudfront-delivery-destination",
           "arn": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination",
           "deliveryDestinationType": "S3",
           "deliveryDestinationConfiguration": {"destinationResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/MyLogPrefix"}
       }
   }
   ```
**nota**  
Se você especificar um bucket do S3 *sem* um prefixo, o CloudFront anexará automaticamente o `AWSLogs/<account-ID>/CloudFront` como um prefixo que aparece no `suffixPath` do destino de entrega do S3. Para ter mais informações, consulte [S3DeliveryConfiguration](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_S3DeliveryConfiguration.html).

1. Adicione a política de recursos para o destino de entrega de logs a fim de permitir que a conta de origem crie uma entrega de logs.

   Na política a seguir, substitua *111111111111* pelo ID da conta de origem e especifique o ARN do destino de entrega com base na saída da etapa 1. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowCreateDelivery",
               "Effect": "Allow",
               "Principal": {"AWS": "111111111111"},
               "Action": ["logs:CreateDelivery"],
               "Resource": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination"
           }
       ]
   }
   ```

------

1. Salve o arquivo, como `deliverypolicy.json`, por exemplo.

1. Para anexar a política anterior ao destino de entrega, digite o comando da AWS CLI a seguir.

   ```
   aws logs put-delivery-destination-policy --delivery-destination-name cloudfront-delivery-destination --delivery-destination-policy file://deliverypolicy.json
   ```

1. Adicione a declaração abaixo à política de bucket do Amazon S3 de destino, substituindo o ARN do recurso e o ID da conta de origem. Essa política permite que a entidade principal do serviço `delivery.logs.amazonaws.com` execute a ação `s3:PutObject`.

   ```
   {
       "Sid": "AWSLogsDeliveryWrite",
       "Effect": "Allow",
       "Principal": {"Service": "delivery.logs.amazonaws.com"},
       "Action": "s3:PutObject",
       "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/*",
       "Condition": {
           "StringEquals": {
               "s3:x-amz-acl": "bucket-owner-full-control",
               "aws:SourceAccount": "111111111111"
           },
           "ArnLike": {"aws:SourceArn": "arn:aws:logs:us-east-1:111111111111:delivery-source:*"}
       }
   }
   ```

1. Se você estiver usando o AWS KMS para seu bucket, adicione a declaração a seguir à política de chave do KMS para conceder permissões à entidade principal do serviço `delivery.logs.amazonaws.com`.

   ```
   {
       "Sid": "Allow Logs Delivery to use the key",
       "Effect": "Allow",
       "Principal": {"Service": "delivery.logs.amazonaws.com"},
       "Action": [
           "kms:Encrypt",
           "kms:Decrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey*",
           "kms:DescribeKey"
       ],
       "Resource": "*",
       "Condition": {
           "StringEquals": {"aws:SourceAccount": "111111111111"},
           "ArnLike": {"aws:SourceArn": "arn:aws:logs:us-east-1:111111111111:delivery-source:*"}
       }
   }
   ```

### Configurar a conta de origem
<a name="steps-source-account"></a>

Depois de configurar a conta de destino, siga este procedimento para criar a origem de entrega e habilitar o registro em log para a distribuição na conta de origem.

**Como configurar a conta de origem**

1. Crie uma origem de entrega para o registro em log padrão do CloudFront para que possa enviar arquivos de log ao CloudWatch Logs. 

   Você pode inserir o comando da AWS CLI a seguir, substituindo o nome e o ARN da sua distribuição.

   ```
   aws logs put-delivery-source --name s3-cf-delivery --resource-arn arn:aws:cloudfront::111111111111:distribution/E1TR1RHV123ABC --log-type ACCESS_LOGS
   ```

   **Output**

   ```
   {
       "deliverySource": {
           "name": "s3-cf-delivery",
           "arn": "arn:aws:logs:us-east-1:111111111111:delivery-source:s3-cf-delivery",
           "resourceArns": ["arn:aws:cloudfront::111111111111:distribution/E1TR1RHV123ABC"],
           "service": "cloudfront",
           "logType": "ACCESS_LOGS"
       }
   }
   ```

1. Crie uma entrega para associar a origem de entrega de logs da conta de origem e o destino de entrega de logs da conta de destino.

   No comando da AWS CLI a seguir, especifique o ARN do destino de entrega com base na saída da [Etapa 1: configurar a conta de destino](#steps-destination-account).

   ```
   aws logs create-delivery --delivery-source-name s3-cf-delivery --delivery-destination-arn arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination
   ```

   **Output**

   ```
   {
       "delivery": {
           "id": "OPmOpLahVzhx1234",
           "arn": "arn:aws:logs:us-east-1:111111111111:delivery:OPmOpLahVzhx1234",
           "deliverySourceName": "s3-cf-delivery",
           "deliveryDestinationArn": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination",
           "deliveryDestinationType": "S3",
           "recordFields": [
               "date",
               "time",
               "x-edge-location",
               "sc-bytes",
               "c-ip",
               "cs-method",
               "cs(Host)",
               "cs-uri-stem",
               "sc-status",
               "cs(Referer)",
               "cs(User-Agent)",
               "cs-uri-query",
               "cs(Cookie)",
               "x-edge-result-type",
               "x-edge-request-id",
               "x-host-header",
               "cs-protocol",
               "cs-bytes",
               "time-taken",
               "x-forwarded-for",
               "ssl-protocol",
               "ssl-cipher",
               "x-edge-response-result-type",
               "cs-protocol-version",
               "fle-status",
               "fle-encrypted-fields",
               "c-port",
               "time-to-first-byte",
               "x-edge-detailed-result-type",
               "sc-content-type",
               "sc-content-len",
               "sc-range-start",
               "sc-range-end",
               "c-country",
               "cache-behavior-path-pattern"
           ],
           "fieldDelimiter": "\t"
       }
   }
   ```

1. Verifique se a entrega entre contas foi bem-sucedida.

   1. Na conta de *origem*, faça login no console do CloudFront e escolha sua distribuição. Na guia **Registro em log**, em **Tipo**, você verá uma entrada criada para a entrega de logs entre contas do S3.

   1. Na conta de *destino*, faça login no console do Amazon S3 e escolha seu bucket do Amazon S3. Você verá o prefixo `MyLogPrefix` no nome do bucket e quaisquer logs de acesso entregues a essa pasta. 

## Formato do arquivo de saída
<a name="supported-log-file-format"></a>

Dependendo do destino de entrega escolhido, você pode especificar um dos seguintes formatos para arquivos de log:
+ JSON
+ Plain
+ w3c
+ Bruto
+ Parquet (somente para o Amazon S3)

**nota**  
Você só pode definir o formato de saída quando cria o destino de entrega pela primeira vez. Isso não pode ser atualizado mais tarde. Para alterar o formato de saída, exclua a entrega e crie outra.

Para ter mais informações, consulte [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html) na *Referência de API do Amazon CloudWatch Logs*.

## Editar as configurações do registro em log padrão
<a name="standard-logs-v2-edit-settings"></a>

Você pode habilitar ou desabilitar o registro em log e atualizar outras configurações de log usando o [console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home) ou a API do CloudWatch. As alterações feitas nas configurações de registro são aplicadas em até 12 horas.

Para saber mais, consulte os seguintes tópicos:
+ Para atualizar uma distribuição usando o console do CloudFront, consulte [Atualizar uma distribuição](HowToUpdateDistribution.md).
+ Para atualizar uma distribuição usando a API do CloudFront, consulte [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) na *Referência de API do Amazon CloudFront*.
+ Para ter mais informações sobre as operações de API do CloudWatch Logs, consulte a [Referência de API do Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/Welcome.html).

## Acessar campos de log
<a name="standard-logging-real-time-log-selection"></a>

Você pode selecionar os mesmos campos de registro em log que o registro em log padrão (legado) oferece. Consulte mais informações em [Campos de arquivo de log](standard-logs-reference.md#BasicDistributionFileFormat).

Além disso, você pode selecionar os [campos de log de acesso em tempo real](real-time-logs.md#understand-real-time-log-config) a seguir.

1. `timestamp(ms)`: carimbo de data/hora em milissegundos.

1. `origin-fbl`: o número de segundos de latência de primeiro byte entre o CloudFront e a origem. 

1. `origin-lbl`: o número de segundos de latência de último byte entre o CloudFront e a origem. 

1. `asn`: o número de sistema autônomo (ASN) do visualizador. 

1. `c-country`: um código de país que representa a localização geográfica do visualizador, conforme determinado pelo endereço IP do visualizador. Para obter uma lista de códigos de país, consulte [ISO 3166-1 alfa-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

1. `cache-behavior-path-pattern`: o padrão do caminho que identifica o comportamento de cache que correspondeu à solicitação do visualizador. 

## Enviar logs ao CloudWatch Logs
<a name="send-logs-cloudwatch-logs"></a>

Para enviar logs ao Amazon CloudWatch Logs, crie ou use um grupo de logs existente do CloudWatch Logs. Para ter mais informações sobre grupos de logs do CloudWatch Logs, consulte [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).

Depois de criar o grupo de logs, você deve ter as permissões necessárias para autorizar o registro em log padrão. Para ter mais informações sobre o CloudWatch Logs, consulte [Logs sent to CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs) no *Guia do usuário do Amazon CloudWatch Logs*. 

**Observações**  
Ao especificar o nome do grupo de logs do CloudWatch Logs, use somente o padrão regex `[\w-]`. Para ter mais informações, consulte a operação de API [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html#API_PutDeliveryDestination_RequestSyntax) na *Referência de API do Amazon CloudWatch Logs*.
Verifique se a política de recursos do grupo de logs não excede o limite de tamanho. Consulte a seção [Log group resource policy size limit considerations](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs) no tópico CloudWatch Logs.

### Exemplo de log de acesso enviado ao CloudWatch Logs
<a name="example-access-logs-cwl"></a>

```
{ 
"date": "2024-11-14", 
"time": "21:34:06", 
"x-edge-location": "SOF50-P2", 
"asn": "16509", 
"timestamp(ms)": "1731620046814", 
"origin-fbl": "0.251", 
"origin-lbl": "0.251", 
"x-host-header": "d111111abcdef8.cloudfront.net", 
"cs(Cookie)": "examplecookie=value" 
}
```

## Enviar logs ao Firehose
<a name="send-logs-kinesis"></a>

Para enviar logs ao Firehose, crie ou use um fluxo de entrega existente do Firehose. Identifica um fluxo de entrega do Amazon Firehose como o destino da entrega de logs. Você deve especificar um fluxo de entrega do Firehose na região Leste dos EUA (Norte da Virgínia) (us-east-1).

Para obter mais informações sobre criar seu fluxo de entrega, consulte [Criar um fluxo de entrega do Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html). 

Depois de criar o fluxo de entrega, você deve ter as permissões necessárias para autorizar o registro em log padrão. Para ter mais informações, consulte [Logs sent do Firehose](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-Firehose) no *Guia do usuário do Amazon CloudWatch Logs*.

**nota**  
Ao especificar o nome do fluxo do Firehose, use somente o padrão regex `[\w-]`. Para ter mais informações, consulte a operação de API [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html#API_PutDeliveryDestination_RequestSyntax) na *Referência de API do Amazon CloudWatch Logs*.

### Exemplo de log de acesso enviado ao Firehose
<a name="example-access-logs-firehose"></a>

```
{"date":"2024-11-15","time":"19:45:51","x-edge-location":"SOF50-P2","asn":"16509","timestamp(ms)":"1731699951183","origin-fbl":"0.254","origin-lbl":"0.254","x-host-header":"d111111abcdef8.cloudfront.net","cs(Cookie)":"examplecookie=value"}
{"date":"2024-11-15","time":"19:45:52","x-edge-location":"SOF50-P2","asn":"16509","timestamp(ms)":"1731699952950","origin-fbl":"0.125","origin-lbl":"0.125","x-host-header":"d111111abcdef8.cloudfront.net","cs(Cookie)":"examplecookie=value"}
```

## Enviar logs ao Amazon S3
<a name="send-logs-s3"></a>

Para enviar logs de acesso ao Amazon S3, crie ou use um bucket do S3 existente. Ao habilitar o registro em log no CloudFront, especifique o nome do bucket. Para ter informações sobre como criar um bucket, consulte [Criação de um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), no *Guia do usuário do Amazon Simple Storage Service*.

Depois de criar o bucket, você deve ter as permissões necessárias para autorizar o registro em log padrão. Para obter mais informações, consulte [Logs enviados ao Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-S3) no *Guia do usuário do Amazon CloudWatch Logs*.
+ Após a habilitação do registro em log, a AWS adiciona automaticamente as políticas de bucket necessárias para você.
+ Você também pode usar buckets S3 nas [Regiões da AWS habilitadas](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html).

**nota**  
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.

**Topics**
+ [

### Especificar um bucket do S3
](#prefix-s3-buckets)
+ [

### Particionamento
](#partitioning)
+ [

### Formato de nome de arquivo compatível com o Hive
](#hive-compatible-file-name-format)
+ [

### Exemplo de caminhos para acessar logs
](#bucket-path-examples)
+ [

### Exemplo de log de acesso enviado ao Amazon S3
](#example-access-logs-s3)

### Especificar um bucket do S3
<a name="prefix-s3-buckets"></a>

Ao especificar um bucket do S3 como destino de entrega, observe os fatores a seguir.

O nome do bucket do S3 só pode usar o padrão regex `[\w-]`. Para ter mais informações, consulte a operação de API [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html#API_PutDeliveryDestination_RequestSyntax) na *Referência de API do Amazon CloudWatch Logs*.

Se você especificou um prefixo para o bucket do S3, os logs aparecerão sob esse caminho. Se você não especificar um prefixo, o CloudFront anexará automaticamente o prefixo `AWSLogs/{account-id}/CloudFront` para você. 

Para obter mais informações, consulte [Exemplo de caminhos para acessar logs](#bucket-path-examples).

### Particionamento
<a name="partitioning"></a>

Você pode usar o particionamento para organizar os logs de acesso quando o CloudFront os envia ao bucket do S3. Isso ajuda você a organizar e localizar os logs de acesso com base no caminho que você deseja.

Você pode usar as variáveis a seguir para criar um caminho de pasta.
+ `{DistributionId}` ou `{distributionid}`
+ `{yyyy}`
+ `{MM}`
+ `{dd}`
+ `{HH}`
+ `{accountid}`

Você pode usar qualquer número de variáveis e especificar nomes de pasta em seu caminho. O CloudFront então usa esse caminho para criar uma estrutura de pastas para você no bucket do S3.

**Exemplos**
+ `my_distribution_log_data/{DistributionId}/logs`
+ `/cloudfront/{DistributionId}/my_distribution_log_data/{yyyy}/{MM}/{dd}/{HH}/logs `

**nota**  
 Você pode usar qualquer uma das variáveis para o ID da distribuição no caminho do sufixo. No entanto, se você estiver enviando logs de acesso ao AWS Glue, use a variável `{distributionid}` porque o AWS Glue supõe que os nomes de partição estejam em minúsculas. Atualize a configuração de log existente no CloudFront para substituir `{DistributionId}` por `{distributionid}`. 

### Formato de nome de arquivo compatível com o Hive
<a name="hive-compatible-file-name-format"></a>

Você pode usar essa opção para que os objetos do S3 que contêm logs de acesso entregues usem uma estrutura de prefixo que permita a integração com o Apache Hive. Para ter mais informações, consulte a operação de API [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).

**Example Exemplo**  

```
/cloudfront/DistributionId={DistributionId}/my_distribution_log_data/year={yyyy}/month={MM}/day={dd}/hour={HH}/logs
```

Para ter mais informações sobre particionamento e as opções compatíveis com o Hive, consulte o elemento [S3DeliveryConfiguration](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_S3DeliveryConfiguration.html) na *Referência de API do Amazon CloudWatch Logs*.

### Exemplo de caminhos para acessar logs
<a name="bucket-path-examples"></a>

Ao especificar um bucket do S3 como destino, você pode usar as seguintes opções para criar o caminho para os logs de acesso:
+ Um bucket do Amazon S3, com ou sem prefixo
+ Particionamento, usando uma variável fornecida pelo CloudFront ou inserindo sua própria
+ Habilitar a opção compatível com o Hive

As tabelas a seguir mostram como os logs de acesso aparecem no bucket, dependendo das opções que você escolher.

#### Bucket do Amazon S3 com um prefixo
<a name="bucket-with-prefix"></a>


| Nome do bucket do Amazon S3 | Partição que você especifica no caminho do sufixo | Caminho de sufixo atualizado | Compatibilidade com o Hive habilitada? | Os logs de acesso são enviados para | 
| --- | --- | --- | --- | --- | 
| amzn-s3-demo-bucket/MyLogPrefix | Nenhum | Nenhum | Não | amzn-s3-demo-bucket/MyLogPrefix/ | 
| amzn-s3-demo-bucket/MyLogPrefix | myFolderA/ | myFolderA/ | Não | amzn-s3-demo-bucket/MyLogPrefix/myFolderA/ | 
| amzn-s3-demo-bucket/MyLogPrefix | myFolderA/\$1yyyy\$1 | myFolderA/\$1yyyy\$1 | Sim | amzn-s3-demo-bucket/MyLogPrefix/myFolderA/year=2025 | 

#### Bucket do Amazon S3 com um prefixo
<a name="bucket-without-prefix"></a>


| Nome do bucket do Amazon S3 | Partição que você especifica no caminho do sufixo | Caminho de sufixo atualizado | Compatibilidade com o Hive habilitada? | Os logs de acesso são enviados para | 
| --- | --- | --- | --- | --- | 
| amzn-s3-demo-bucket | Nenhum | AWSLogs/\$1account-id\$1/CloudFront/ | Não | amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/ | 
| amzn-s3-demo-bucket | myFolderA/ | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/ | Não | amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/myFolderA/ | 
| amzn-s3-demo-bucket | myFolderA/ | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/ | Sim | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/ | 
| amzn-s3-demo-bucket | myFolderA/\$1yyyy\$1 | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/\$1yyyy\$1 | Sim | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/year=2025 | 

#### ID da Conta da AWS como uma partição
<a name="bucket-account-id-partition"></a>


| Nome do bucket do Amazon S3 | Partição que você especifica no caminho do sufixo | Caminho de sufixo atualizado | Compatibilidade com o Hive habilitada? | Os logs de acesso são enviados para | 
| --- | --- | --- | --- | --- | 
| amzn-s3-demo-bucket | Nenhum | AWSLogs/\$1account-id\$1/CloudFront/ | Sim | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/ | 
| amzn-s3-demo-bucket | myFolderA/\$1accountid\$1 | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/\$1accountid\$1 | Sim | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/accountid=<your-account-ID> | 

**Observações**  
A variável `{account-id}` é reservada para o CloudFront. O CloudFront adiciona automaticamente essa variável ao caminho de sufixo se você especificar um bucket do Amazon S3 *sem* um prefixo. Se os logs forem compatíveis com o Hive, essa variável aparecerá como `aws-account-id`.
Você pode usar a variável `{accountid}` para que o CloudFront adicione o ID da sua conta ao caminho do sufixo. Se os logs forem compatíveis com o Hive, essa variável aparecerá como `accountid`.
Para ter mais informações sobre o caminho do sufixo, consulte [S3DeliveryConfiguration](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_S3DeliveryConfiguration.html).

### Exemplo de log de acesso enviado ao Amazon S3
<a name="example-access-logs-s3"></a>

```
#Fields: date time x-edge-location asn timestamp(ms) x-host-header cs(Cookie)
2024-11-14    22:30:25    SOF50-P2    16509    1731623425421    
d111111abcdef8.cloudfront.net    examplecookie=value2
```

## Desabilitar o registro em log padrão
<a name="delete-standard-log-destination"></a>

Você pode desabilitar o registro em log padrão da sua distribuição caso não precise mais dele.

**Como desabilitar o registro em log padrão**

1. Faça login no console do CloudFront.

1. Selecione **Distribuição** e escolha o ID de sua distribuição. 

1. Escolha **Registro em log** e, em **Destinos de log de acesso**, selecione o destino.

1. Selecione **Gerenciar** e, em seguida, **Excluir**.

1. Repita a etapa anterior se você tiver mais de um registro em log padrão.

**nota**  
Quando você exclui o registro em log padrão do console do CloudFront, essa ação exclui somente a entrega e o destino da entrega. Isso não exclui a origem de entrega da sua Conta da AWS. Para excluir uma origem de entrega, especifique o nome da origem de entrega no comando `aws logs delete-delivery-source --name DeliverySourceName`. Para ter mais informações, consulte [DeleteDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteDeliverySource.html) na *Referência de API do Amazon CloudWatch Logs*.

## Solução de problemas
<a name="troubleshooting-access-logs-v2"></a>

Use as informações a seguir para corrigir problemas comuns ao trabalhar com o registro em log padrão (v2) do CloudFront.

### A origem de entrega já existe
<a name="access-logging-resource-already-used"></a>

Ao habilitar o registro em log padrão para uma distribuição, você cria uma origem de entrega. Em seguida, você usa essa origem de entrega para criar entregas para o tipo de destino desejado: CloudWatch Logs, Firehose e Amazon S3. No momento, você só pode ter uma origem de entrega por distribuição. Se você tentar criar outra origem de entrega para a mesma distribuição, a mensagem de erro a seguir será exibida.

```
This ResourceId has already been used in another Delivery Source in this account
```

Para criar outra origem de entrega, exclua primeiro a existente. Para ter mais informações, consulte [DeleteDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteDeliverySource.html) na *Referência de API do Amazon CloudWatch Logs*.

### Alterei o caminho do sufixo e o bucket do Amazon S3 não pode receber meus logs
<a name="access-logging-s3-permission"></a>

Se você habilitou o registro em log padrão (v2) e especificou um ARN de bucket sem prefixo, o CloudFront anexará o seguinte padrão ao caminho do sufixo: `AWSLogs/{account-id}/CloudFront`. Se você usar o console do CloudFront ou a operação de API [UpdateDeliveryConfiguration](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UpdateDeliveryConfiguration.html) para especificar um caminho de sufixo diferente, deverá atualizar a política de bucket do Amazon S3 para usar o mesmo caminho.

**Example Exemplo: atualização do caminho do sufixo**  

1. O caminho de sufixo padrão é `AWSLogs/{account-id}/CloudFront` e você o substitui por `myFolderA`. 

1. Como o novo caminho de sufixo é diferente do caminho especificado na política de bucket do Amazon S3, os logs de acesso não serão entregues.

1. Você pode seguir uma destas etapas:
   + Atualize a permissão do bucket do Amazon S3 de `amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/*` para `amzn-s3-demo-bucket/myFolderA/*`.
   + Atualize a configuração de registro em log para usar o sufixo padrão novamente: `AWSLogs/{account-id}/CloudFront` 
Para obter mais informações, consulte [Permissões](#permissions-standard-logging).

## Excluir arquivos de log
<a name="standard-logs-v2-delete"></a>

O CloudFront não exclui automaticamente os arquivos de log do seu destino. Para ter informações sobre como excluir arquivos de log, consulte os seguintes tópicos:

**Amazon S3**
+ [Excluir objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html) no *Guia de usuário do Amazon Simple Storage Service*

**CloudWatch Logs**
+ [Working with log groups and log streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) no *Guia do usuário do Amazon CloudWatch Logs*
+ [DeleteLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteLogGroup.html) na *Referência de API do Amazon CloudWatch Logs*

**Firehose**
+ [DeleteDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_DeleteDeliveryStream.html) na *Referência de API do Amazon Data Firehose*

## Preços
<a name="pricing-standard-logs"></a>

O CloudFront não cobra pela habilitação de logs padrão. Entretanto, você pode incorrer em cobranças pela entrega, ingestão, armazenamento ou acesso, dependendo do destino de entrega de log selecionado. Para ter mais informações, consulte [Definição de preço do Amazon CloudWatch Logs](https://aws.amazon.com/cloudwatch/pricing/). Em **Nível pago**, escolha a guia **Logs** e, em **Logs fornecidos**, consulte as informações referentes a cada destino de entrega.

Para ter mais informações sobre o preço de cada AWS service (Serviço da AWS), consulte os seguintes tópicos:
+ [Definição de preço do Amazon CloudWatch Logs](https://aws.amazon.com/cloudwatch/pricing/)
+ [Definição de preço do Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/pricing/)
+ [Preços do Amazon S](https://aws.amazon.com/s3/pricing/) 
**nota**  
Não há cobranças adicionais pela entrega de logs para o Amazon S3, embora você incorra em cobranças do Amazon S3 pelo armazenamento e acesso aos arquivos de log. Se você habilitar a opção **Parquet** para converter os logs de acesso em Apache Parquet, essa opção incorrerá em cobranças do CloudWatch. Para ter mais informações, consulte a seção sobre logs fornecidos em [Definição de preço do Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

# Configurar o registro em log padrão (legado)
<a name="standard-logging-legacy-s3"></a>

**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)](standard-logging.md).
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:

1. Escolha o bucket do Amazon S3 que receberá os logs e adicione as permissões necessárias.

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

1. Visualize os logs de acesso.

## Escolher um bucket do Amazon S3 para logs padrão
<a name="access-logs-choosing-s3-bucket"></a>

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](#AccessLogsBucketAndFileOwnership).
Não escolha um bucket do Amazon S3 com [Propriedade do objeto do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) 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.[Registro em log padrão V2](standard-logging.md)[Regiões da AWS](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html)

## Permissões
<a name="AccessLogsBucketAndFileOwnership"></a>

**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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-new-bucket.html) ou habilitar ACLs para um [bucket existente](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html).  
Para obter mais informações sobre as alterações, consulte [Perguntas frequentes sobre configurações padrão para novos buckets do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-faq.html) 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](https://aws.amazon.com/blogs/aws/heads-up-amazon-s3-security-changes-are-coming-in-april-of-2023/) no *blog de notícias da AWS.*

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ão `FULL_CONTROL`. A conta `awslogsdelivery` 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 obter mais informações, consulte [Registro em log padrão](DownloadDistValuesGeneral.md#DownloadDistValuesLoggingOnOff).
+ 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 para `awslogsdelivery`, 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html) 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 conta `awslogsdelivery` 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
<a name="AccessLogsKMSPermissions"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html), 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html) no *Guia do usuário do Amazon Simple Storage Service*.

## Habilitar o registro em log padrão (legado)
<a name="standard-logs-legacy-enable"></a>

Para habilitar logs padrão, use o console ou a API do CloudFront.

**Contents**
+ [

### Habilitar o registro em log padrão (legado) (console do CloudFront)
](#standard-logs-legacy-enable-console)
+ [

### Habilitar o registro em log padrão (legado) (API do CloudFront)
](#standard-logs-legacy-enable-api)

### Habilitar o registro em log padrão (legado) (console do CloudFront)
<a name="standard-logs-legacy-enable-console"></a>

**Como habilitar logs padrão para uma distribuição do CloudFront (console)**

1. Use o console do CloudFront para criar uma [nova distribuição](distribution-web-creating-console.md) ou [atualizar uma existente](HowToUpdateDistribution.md#HowToUpdateDistributionProcedure).

1. Na seção **Registro em log padrão**, em **Entrega de logs**, escolha **Ativado**.

1. (Opcional) Em **Registro de cookie**, escolha **Ativado** se quiser incluir cookies nos logs. Para obter mais informações, consulte [Registro em log de cookies](DownloadDistValuesGeneral.md#DownloadDistValuesCookieLogging).
**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.

1. Na seção **Entregar para**, especifique **Amazon S3 (legado)**.

1. 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html).

1. (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 obter mais informações, consulte [Prefixo de log](DownloadDistValuesGeneral.md#DownloadDistValuesLogPrefix).

1. Conclua as etapas para atualizar ou criar sua distribuição.

1. 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](standard-logs-reference.md).

### Habilitar o registro em log padrão (legado) (API do CloudFront)
<a name="standard-logs-legacy-enable-api"></a>

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](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html) ou [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) e configure o objeto [LoggingConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_LoggingConfig.html).

## Editar as configurações do registro em log padrão
<a name="ChangeSettings"></a>

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](https://console.aws.amazon.com/cloudfront/v4/home). As alterações feitas nas configurações de registro são aplicadas em até 12 horas.

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](HowToUpdateDistribution.md).
+ Para atualizar uma distribuição usando a API do CloudFront, consulte [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) na *Referência de API do Amazon CloudFront*.

## Enviar logs ao Amazon S3
<a name="standard-logs-in-s3"></a>

Quando você envia logs ao Amazon S3, eles aparecem no formato a seguir.

### Formato do nome do arquivo
<a name="AccessLogsFileNaming"></a>

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
<a name="LogFileFormat"></a>

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:
+ Use o [formato do arquivo de log estendido do W3C](https://www.w3.org/TR/WD-logfile.html).
+ 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](https://tools.ietf.org/html/rfc1738.html).


|  Valor codificado em URL  |  Caractere  | 
| --- | --- | 
|  %3C  |  <  | 
|  %3E  |  >  | 
|  %22  |  "  | 
|  %23  |  \$1  | 
|  %25  |  %  | 
|  %7B  |  \$1  | 
|  %7D  |  \$1  | 
|  %7C  |  \$1  | 
|  %5C  |  \$1  | 
|  %5E  |  ^  | 
|  %7E  |  \$1  | 
|  %5B  |  [  | 
|  %5D  |  ]  | 
|  %60  |  `  | 
|  %27  |  '  | 
|  %20  |  espaço  | 

## Excluir arquivos de log
<a name="DeletingLogFiles"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html) no *Guia do usuário do Amazon Simple Storage Service*.

## Preços
<a name="AccessLogsCharges"></a>

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](https://aws.amazon.com/s3/pricing/).

Para mais informações sobre preços do CloudFront, consulte [Definição de preço do CloudFront](https://aws.amazon.com/cloudfront/pricing/).

# Referência do registro em log padrão
<a name="standard-logs-reference"></a>

As seções a seguir se aplicam tanto ao registro em log padrão (v2) quanto ao registro em log padrão (legado).

**Topics**
+ [

## Prazos de entrega dos arquivos de log
](#access-logs-timing)
+ [

## Como as solicitações são registradas em log quando os cabeçalhos ou o URL de solicitação excedem o tamanho máximo
](#access-logs-request-URL-size)
+ [

## Campos de arquivo de log
](#BasicDistributionFileFormat)
+ [

## Analisar logs
](#access-logs-analyzing)

## Prazos de entrega dos arquivos de log
<a name="access-logs-timing"></a>

O CloudFront oferece logs para uma distribuição até várias vezes por hora. Em geral, um arquivo de log contém informações sobre as solicitações recebidas pelo CloudFront durante um período específico. O CloudFront geralmente entrega o arquivo de log desse período ao seu destino em até uma hora após os eventos exibidos no log. No entanto, observe que algumas ou todas as entradas do arquivo de log referentes a um período podem demorar até 24 horas. Quando as entradas de log atrasam, o CloudFront as salva em um arquivo de log no qual o nome do arquivo inclui a data e a hora do período de *ocorrência* das solicitações, não de entrega do arquivo.

Ao criar um arquivo de log, o CloudFront consolida as informações da sua distribuição de todos os pontos de presença que receberam solicitações de seus objetos durante o período de cobertura do arquivo de log.

O CloudFront pode salvar mais de um arquivo por período, dependendo da quantidade de solicitações recebidas pelo CloudFront dos objetos associados a uma distribuição.

O CloudFront começa a entregar os logs de acesso cerca de quatro horas depois de você habilitar o registro. É possível que você receba alguns logs de acesso antes disso.

**nota**  
Se nenhum usuário solicitar seus objetos nesse período, você não receberá arquivos de log referentes a ele.

## Como as solicitações são registradas em log quando os cabeçalhos ou o URL de solicitação excedem o tamanho máximo
<a name="access-logs-request-URL-size"></a>

Se o tamanho total de todos os cabeçalhos de solicitação, incluindo cookies, exceder 20 KB, ou se o URL exceder 8192 bytes, o CloudFront não poderá analisar a solicitação completamente e não poderá registrá-la. Como a solicitação não está conectada, você não verá no log os arquivos que o código de status de erro HTTP retornou.

Se o corpo da solicitação exceder o tamanho máximo, a solicitação será registrada, incluindo o código de status de erro HTTP.

## Campos de arquivo de log
<a name="BasicDistributionFileFormat"></a>

O arquivo de log para uma distribuição contém 33 campos. A lista a seguir contém cada nome de campo, em ordem, juntamente com uma descrição das informações nesse campo.

1. **`date`**

   A data em que o evento ocorreu no formato `YYYY-MM-DD`. Por exemplo, `2019-06-30`. A data e a hora estão em Tempo Universal Coordenado (UTC). Para conexões WebSockets, esta é a data em que a conexão foi encerrada.

1. **`time`**

   A hora em que o servidor do CloudFront terminou de responder à solicitação (em UTC), por exemplo, `01:42:39`. Para conexões WebSockets, este é o momento em que a conexão é fechada.

1. **`x-edge-location`**

   O ponto de presença que atendeu à solicitação. Cada ponto de presença é identificado por um código de três letras e um número atribuído arbitrariamente (por exemplo, DFW3). O código de três letras normalmente corresponde ao código da Associação Internacional de Transportes Aéreos (IATA) de um aeroporto perto da localização geográfica do local da borda. (Essas abreviações podem mudar no futuro.)

1. **`sc-bytes`**

   O número total de bytes enviados pelo servidor para o visualizador em resposta à solicitação, inclusive os cabeçalhos. Para conexões WebSocket e gRPC, esse é o número total de bytes enviados do servidor para o cliente por meio da conexão.

1. **`c-ip`**

   O endereço IP do visualizador que fez a solicitação, por exemplo, `192.0.2.183` ou `2001:0db8:85a3::8a2e:0370:7334`. Se o visualizador usar um proxy HTTP ou um load balancer para enviar a solicitação, o valor desse campo será o endereço IP do proxy ou do load balancer. Veja também o campo `x-forwarded-for`.

1. **`cs-method`**

   O método de solicitação HTTP recebido do visualizador.

1. **`cs(Host)`**

   O nome de domínio da distribuição do CloudFront (por exemplo, d111111abcdef8.cloudfront.net).

1. **`cs-uri-stem`**

   A parte do URL da solicitação que identifica o caminho e o objeto (por exemplo, `/images/cat.jpg`). Os pontos de interrogação (?) em URLs e strings de consulta não são incluídos no log.

1. **`sc-status`**

   Contém um dos seguintes valores:
   + O código de status HTTP da resposta do servidor (por exemplo, `200`).
   + `000`, que indica que o visualizador fechou a conexão antes que o servidor pudesse responder à solicitação. Se o visualizador fecha a conexão após o servidor começar a enviar a resposta, esse campo contém o código de status HTTP da resposta que o servidor começou a enviar.

1. **`cs(Referer)`**

   O valor do cabeçalho `Referer` na solicitação. Esse é o nome do domínio que originou a solicitação. Indicadores comuns incluem: mecanismos de pesquisa, outros sites vinculados diretamente aos seus objetos e seu próprio site.

1. **`cs(User-Agent)`**

   O valor do cabeçalho `User-Agent` na solicitação. O cabeçalho `User-Agent` identifica a origem da solicitação, como o tipo de dispositivo e o navegador que enviou a solicitação e, se a solicitação for proveniente de um mecanismo de pesquisa, o mecanismo de pesquisa.

1. **`cs-uri-query`**

   A parte da string de consulta do URL da solicitação, se houver.

   Quando um URL não contém uma string de consulta, o valor desse campo é um hífen (-). Para obter mais informações, consulte [Conteúdo em cache com base em parâmetros de string de consulta](QueryStringParameters.md).

1. **`cs(Cookie)`**

   O cabeçalho `Cookie` na solicitação, incluindo pares de nome-valor e os atributos associados.

   Se você habilitar o registro de cookies, o CloudFront os registrará em todas as solicitações, independentemente de quais você optar por encaminhar para a origem. Quando uma solicitação não inclui um cabeçalho de cookie, o valor desse campo é um hífen (-). Para obter mais informações sobre cookies, consulte [Conteúdo em cache com base em cookies](Cookies.md).

1. **`x-edge-result-type`**

   Como o servidor classificou a resposta após o último byte sair do servidor. Em alguns casos, o tipo de resultado pode mudar entre a hora em que o servidor está pronto para enviar a resposta e a hora em que ele conclui o envio. Veja também o campo `x-edge-response-result-type`.

   Por exemplo, em streaming HTTP, suponha que o servidor encontre um segmento do stream no cache. Nesse cenário, o valor desse campo normalmente seria `Hit`. No entanto, se o visualizador encerrar a conexão antes de o servidor entregar o segmento inteiro, o tipo do resultado final (e, portanto, o valor desse campo) será `Error`.

   As conexões WebSocket e gRPC terão um valor de `Miss` para esse campo porque o conteúdo não é armazenável em cache e é enviado diretamente de volta ao servidor de origem.

   Os possíveis valores incluem:
   + `Hit`: o servidor forneceu o objeto do cache ao visualizador.
   + `RefreshHit`: o servidor encontrou o objeto no cache, mas o objeto expirou, portanto, o servidor entrou em contato com a origem para verificar se o cache tinha a versão mais recente do objeto.
   + `Miss`: não foi possível atender à solicitação por um objeto no cache e, portanto, o servidor a encaminhou ao servidor de origem e retornou o resultado ao visualizador.
   + `LimitExceeded`: a solicitação foi negada porque uma cota do CloudFront (anteriormente conhecida como limite) foi excedida.
   + `CapacityExceeded`: o servidor retornou um código de status HTTP 503 porque não tinha capacidade suficiente no momento da solicitação para fornecer o objeto.
   + `Error`: normalmente, isso significa que a solicitação resultou em um erro de cliente (o valor do campo `sc-status` está no intervalo `4xx`) ou em um erro de servidor (o valor do campo `sc-status` está no intervalo `5xx`). Se o valor do campo `sc-status` for `200` ou se o valor desse campo for `Error` e o valor do campo `x-edge-response-result-type` não for `Error`, isso significa que a solicitação HTTP foi bem-sucedida, mas o cliente desconectou antes de receber todos os bytes.
   + `Redirect`: o servidor redirecionou o visualizador de HTTP para HTTPS de acordo com as configurações de distribuição.
   + `LambdaExecutionError`: a função Lambda@Edge associada à distribuição não foi concluída devido a uma má-formação da associação, um tempo limite de função, um problema de dependência da AWS ou outro problema de disponibilidade geral.

1. **`x-edge-request-id`**

   Uma string opaca que identifica exclusivamente uma solicitação. O CloudFront também envia essa string no cabeçalho de resposta `x-amz-cf-id`.

1. **`x-host-header`**

   O valor incluído pelo visualizador no cabeçalho `Host` da solicitação. Se você estiver usando o nome de domínio do CloudFront nos URLs de objetos (como d111111abcdef8.cloudfront.net), esse campo conterá esse nome de domínio. Se você estiver usando nomes de domínio alternativos (CNAMES) nos URLs de objetos (como www.example.com), esse campo conterá o nome de domínio alternativo.

   Se você estiver usando nomes de domínio alternativos, consulte `cs(Host)` no campo 7 do nome de domínio associado a sua distribuição.

1. **`cs-protocol`**

   O protocolo da solicitação do visualizador (`http`, `https`, `grpcs`, `ws` ou `wss`).

1. **`cs-bytes`**

   O número de bytes de dados que o visualizador adicionou à solicitação, incluindo cabeçalhos. Para conexões WebSocket e gRPC, esse é o número total de bytes enviados do cliente para o servidor na conexão.

1. **`time-taken`**

   O número de segundos (até o milésimo de segundo, por exemplo, 0,082) de quando o servidor recebe a solicitação do visualizador até quando o servidor grava o último byte da resposta na fila de saída, conforme medido no servidor. Da perspectiva do visualizador, o tempo total para obter o objeto completo será mais longo que esse valor devido à latência da rede e o armazenamento em buffer do TCP.

1. **`x-forwarded-for`**

   Se o visualizador usar um proxy HTTP ou um load balancer para enviar a solicitação, o valor do campo `c-ip` será o endereço IP do proxy ou do load balancer. Nesse caso, esse campo é o endereço IP do visualizador que originou a solicitação. Esse campo pode conter vários endereços IP separados por vírgula. Cada endereço IP pode ser um endereço IPv4 (por exemplo, `192.0.2.183`) ou um endereço IPv6 (por exemplo, `2001:0db8:85a3::8a2e:0370:7334`).

   Se o visualizador não tiver usado um proxy HTTP ou um load balancer, o valor deste campo será um hífen (-).

1. **`ssl-protocol`**

   Quando a solicitação usa HTTPS, esse campo contém o protocolo SSL/TLS que o visualizador e o servidor negociaram para transmitir a solicitação e a resposta. Para obter uma lista de valores possíveis, consulte os protocolos SSL/TLS compatíveis em [Protocolos e cifras compatíveis entre visualizadores e o CloudFront](secure-connections-supported-viewer-protocols-ciphers.md).

   Quando `cs-protocol` no campo 17 for `http`, o valor desse campo será um hífen (-).

1. **`ssl-cipher`**

   Quando a solicitação usa HTTPS, esse campo contém a cifra SSL/TLS que o visualizador e o servidor negociaram para criptografar a solicitação e a resposta. Para obter uma lista de valores possíveis, consulte as cifras SSL/TLS compatíveis em [Protocolos e cifras compatíveis entre visualizadores e o CloudFront](secure-connections-supported-viewer-protocols-ciphers.md).

   Quando `cs-protocol` no campo 17 for `http`, o valor desse campo será um hífen (-).

1. **`x-edge-response-result-type`**

   Como o servidor classificou a resposta logo antes de devolvê-la para o visualizador. Veja também o campo `x-edge-result-type`. Os possíveis valores incluem:
   + `Hit`: o servidor forneceu o objeto do cache ao visualizador.
   + `RefreshHit`: o servidor encontrou o objeto no cache, mas o objeto expirou, portanto, o servidor entrou em contato com a origem para verificar se o cache tinha a versão mais recente do objeto.
   + `Miss`: não foi possível atender à solicitação por um objeto no cache, portanto, o servidor a encaminhou ao servidor de origem e retornou o resultado ao visualizador.
   + `LimitExceeded`: a solicitação foi negada porque uma cota do CloudFront (anteriormente conhecida como limite) foi excedida.
   + `CapacityExceeded`: o servidor retornou um erro 503 porque não tinha capacidade suficiente no momento da solicitação para fornecer o objeto.
   + `Error`: normalmente, isso significa que a solicitação resultou em um erro de cliente (o valor do campo `sc-status` está no intervalo `4xx`) ou em um erro de servidor (o valor do campo `sc-status` está no intervalo `5xx`).

     Se o valor do campo `x-edge-result-type` for `Error` e o valor desse campo não for `Error`, o cliente desconectou antes de concluir o download.
   + `Redirect`: o servidor redirecionou o visualizador de HTTP para HTTPS de acordo com as configurações de distribuição.
   + `LambdaExecutionError`: a função Lambda@Edge associada à distribuição não foi concluída devido a uma má-formação da associação, um tempo limite de função, um problema de dependência da AWS ou outro problema de disponibilidade geral.

1. **`cs-protocol-version`**

   A versão HTTP especificada pelo visualizador na solicitação. Os valores possíveis incluem `HTTP/0.9`, `HTTP/1.0`, `HTTP/1.1`, `HTTP/2.0` e `HTTP/3.0`.

1. **`fle-status`**

   Quando a [criptografia em nível de campo](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) é configurada para uma distribuição, esse campo contém um código que indica se o corpo da solicitação foi processado com êxito. Quando o servidor processa o corpo da solicitação, criptografa os valores nos campos especificados e encaminha a solicitação para a origem com êxito, o valor desse campo é `Processed`. Nesse caso, o valor de `x-edge-result-type` pode indicar um erro do lado do cliente ou do lado do servidor.

   Os valores possíveis para esse campo incluem:
   + `ForwardedByContentType`: o servidor encaminhou a solicitação para a origem sem análise nem criptografia, pois nenhum tipo de conteúdo foi configurado.
   + `ForwardedByQueryArgs`: o servidor encaminhou a solicitação para a origem sem análise nem criptografia, pois a solicitação contém um argumento de consulta que não foi configurado para a criptografia em nível de campo.
   + `ForwardedDueToNoProfile`: o servidor encaminhou a solicitação para a origem sem análise nem criptografia, pois nenhum perfil foi especificado na configuração da criptografia em nível de campo.
   + `MalformedContentTypeClientError`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois o valor do cabeçalho `Content-Type` estava em um formato inválido.
   + `MalformedInputClientError`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois o corpo da solicitação estava em um formato inválido.
   + `MalformedQueryArgsClientError`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois um argumento de consulta estava vazio ou em um formato inválido.
   + `RejectedByContentType`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois nenhum tipo de conteúdo foi especificado na configuração para criptografia em nível de campo.
   + `RejectedByQueryArgs`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois nenhum argumento de consulta foi especificado na configuração para criptografia em nível de campo.
   + `ServerError`: o servidor de origem retornou um erro.

   Se a solicitação exceder uma cota de criptografia em nível de campo (anteriormente conhecida como limite), esse campo conterá um dos seguintes códigos de erro, e o servidor retornará o código de status HTTP 400 ao visualizador. Para obter uma lista das cotas atuais de criptografia no nível de campo, consulte [Cotas para criptografia no nível de campo](cloudfront-limits.md#limits-field-level-encryption).
   + `FieldLengthLimitClientError`: um campo configurado para ser criptografado excedeu o tamanho máximo permitido.
   + `FieldNumberLimitClientError`: uma solicitação que a distribuição está configurada para criptografar contém o número de campos maior do que o permitido.
   + `RequestLengthLimitClientError`: o tamanho do corpo da solicitação excedeu o tamanho máximo permitido quando a criptografia no nível de campo foi configurada.

   Se a criptografia no nível de campo não estiver configurada para a distribuição, o valor desse campo será um hífen (-).

1. **`fle-encrypted-fields`**

   O número de campos de [criptografia em nível de campo](field-level-encryption.md) que o servidor de borda criptografou e encaminhou para a origem. Os servidores do CloudFront fazem streaming da solicitação processada para a origem à medida que criptografam dados, portanto, esse campo pode ter um valor, mesmo que o valor de `fle-status` seja um erro.

   Se a criptografia no nível de campo não estiver configurada para a distribuição, o valor desse campo será um hífen (-).

1. **`c-port`**

   O número da porta da solicitação do visualizador.

1. **`time-to-first-byte`**

   O número de segundos entre o recebimento da solicitação e a gravação do primeiro byte da resposta, conforme medido no servidor.

1. **`x-edge-detailed-result-type`**

   Esse campo conterá o mesmo valor que o campo `x-edge-result-type`, exceto nos seguintes casos:
   + Quando o objeto for enviado ao visualizador do cache da camada [Origin Shield](origin-shield.md), esse campo conterá `OriginShieldHit`.
   + Quando o objeto não estiver no cache do CloudFront e a resposta for gerada por uma [função Lambda@Edge de solicitação de origem](lambda-at-the-edge.md), esse campo conterá `MissGeneratedResponse`.
   + Quando o valor do campo `x-edge-result-type` for `Error`, esse campo conterá um dos seguintes valores com mais informações sobre o erro:
     + `AbortedOrigin`: o servidor encontrou um problema com a origem.
     + `ClientCommError`: a resposta ao visualizador foi interrompida devido a um problema de comunicação entre o servidor e o visualizador.
     + `ClientGeoBlocked`: a distribuição é configurada para recusar solicitações da localização geográfica do visualizador.
     + `ClientHungUpRequest` – o visualizador parou prematuramente ao enviar a solicitação.
     + `Error`: ocorreu um erro para o qual o tipo de erro não se encaixa em nenhuma das outras categorias. Esse tipo de erro pode ocorrer quando o servidor fornece uma resposta de erro do cache.
     + `InvalidRequest`: o servidor recebeu uma solicitação inválida do visualizador.
     + `InvalidRequestBlocked` – o acesso ao recurso solicitado é bloqueado.
     + `InvalidRequestCertificate`: a distribuição não corresponde ao certificado SSL/TLS para o qual a conexão HTTPS foi estabelecida.
     + `InvalidRequestHeader`: a solicitação continha um cabeçalho inválido.
     + `InvalidRequestMethod` – a distribuição não está configurada para lidar com o método de solicitação HTTP que foi usado. Isso pode acontecer quando a distribuição oferece suporte somente a solicitações armazenáveis em cache.
     + `OriginCommError`: a solicitação expirou durante a conexão à origem ou a leitura de dados da origem.
     + `OriginConnectError`: o servidor não pôde se conectar à origem.
     + `OriginContentRangeLengthError`: o cabeçalho `Content-Length` na resposta da origem não corresponde ao tamanho no cabeçalho `Content-Range`.
     + `OriginDnsError`: o servidor não pôde resolver o nome de domínio da origem.
     + `OriginError` – a origem retornou uma resposta incorreta.
     + `OriginHeaderTooBigError`: um cabeçalho retornado pela origem é muito grande para o processamento pelo servidor de borda.
     + `OriginInvalidResponseError` – a origem retornou uma resposta inválida.
     + `OriginReadError`: o servidor não pôde ler na origem.
     + `OriginWriteError`: o servidor não pôde gravar na origem.
     + `OriginZeroSizeObjectError` – um objeto de tamanho zero enviado da origem resultou em um erro.
     + `SlowReaderOriginError` – o visualizador ficou lento ao ler a mensagem que causou o erro de origem.

1. **`sc-content-type`**

   O valor do cabeçalho do HTTP `Content-Type` da resposta.

1. **`sc-content-len`**

   O valor do cabeçalho do HTTP `Content-Length` da resposta.

1. **`sc-range-start`**

   Quando a resposta contém o cabeçalho do HTTP `Content-Range`, esse campo contém o valor inicial do intervalo.

1. **`sc-range-end`**

   Quando a resposta contém o cabeçalho do HTTP `Content-Range`, esse campo contém o valor final do intervalo.

1. **`distribution-tenant-id`**

   O ID do locatário da distribuição.

1. **`connection-id`**

   Um identificador exclusivo para a conexão TLS. 

   Para receber informações para esse campo, primeiro é necessário habilitar a mTLS para suas distribuições. Para obter mais informações, consulte [Autenticação TLS mútua com o CloudFront (mTLS de visualizador)TLS mútua de origem com o CloudFront](mtls-authentication.md).

   

Veja a seguir um exemplo de arquivo de log para uma distribuição.

```
#Version: 1.0
#Fields: date time x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uri-stem sc-status cs(Referer) cs(User-Agent) cs-uri-query cs(Cookie) x-edge-result-type x-edge-request-id x-host-header cs-protocol cs-bytes time-taken x-forwarded-for ssl-protocol ssl-cipher x-edge-response-result-type cs-protocol-version fle-status fle-encrypted-fields c-port time-to-first-byte x-edge-detailed-result-type sc-content-type sc-content-len sc-range-start sc-range-end
2019-12-04	21:02:31	LAX1	392	192.0.2.100	GET	d111111abcdef8.cloudfront.net	/index.html	200	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Hit	SOX4xwn4XV6Q4rgb7XiVGOHms_BGlTAC4KyHmureZmBNrjGdRLiNIQ==	d111111abcdef8.cloudfront.net	https	23	0.001	-	TLSv1.2	ECDHE-RSA-AES128-GCM-SHA256	Hit	HTTP/2.0	-	-	11040	0.001	Hit	text/html	78	-	-
2019-12-04	21:02:31	LAX1	392	192.0.2.100	GET	d111111abcdef8.cloudfront.net	/index.html	200	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Hit	k6WGMNkEzR5BEM_SaF47gjtX9zBDO2m349OY2an0QPEaUum1ZOLrow==	d111111abcdef8.cloudfront.net	https	23	0.000	-	TLSv1.2	ECDHE-RSA-AES128-GCM-SHA256	Hit	HTTP/2.0	-	-	11040	0.000	Hit	text/html	78	-	-
2019-12-04	21:02:31	LAX1	392	192.0.2.100	GET	d111111abcdef8.cloudfront.net	/index.html	200	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Hit	f37nTMVvnKvV2ZSvEsivup_c2kZ7VXzYdjC-GUQZ5qNs-89BlWazbw==	d111111abcdef8.cloudfront.net	https	23	0.001	-	TLSv1.2	ECDHE-RSA-AES128-GCM-SHA256	Hit	HTTP/2.0	-	-	11040	0.001	Hit	text/html	78	-	-	
2019-12-13	22:36:27	SEA19-C1	900	192.0.2.200	GET	d111111abcdef8.cloudfront.net	/favicon.ico	502	http://www.example.com/	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Error	1pkpNfBQ39sYMnjjUQjmH2w1wdJnbHYTbag21o_3OfcQgPzdL2RSSQ==	www.example.com	http	675	0.102	-	-	-	Error	HTTP/1.1	-	-	25260	0.102	OriginDnsError	text/html	507	-	-
2019-12-13	22:36:26	SEA19-C1	900	192.0.2.200	GET	d111111abcdef8.cloudfront.net	/	502	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Error	3AqrZGCnF_g0-5KOvfA7c9XLcf4YGvMFSeFdIetR1N_2y8jSis8Zxg==	www.example.com	http	735	0.107	-	-	-	Error	HTTP/1.1	-	-	3802	0.107	OriginDnsError	text/html	507	-	-
2019-12-13	22:37:02	SEA19-C2	900	192.0.2.200	GET	d111111abcdef8.cloudfront.net	/	502	-	curl/7.55.1	-	-	Error	kBkDzGnceVtWHqSCqBUqtA_cEs2T3tFUBbnBNkB9El_uVRhHgcZfcw==	www.example.com	http	387	0.103	-	-	-	Error	HTTP/1.1	-	-	12644	0.103	OriginDnsError	text/html	507	-	-
```

## Analisar logs
<a name="access-logs-analyzing"></a>

Como você pode receber vários logs de acesso por hora, recomendamos que combine todos os arquivos de log recebidos em um determinado período em um único arquivo. Assim você poderá analisar os dados desse período de forma mais precisa e completa.

Uma forma de analisar seus logs de acesso é usar o [Amazon Athena](https://aws.amazon.com/athena/). O Athena é um serviço de consulta interativo que pode ajudar você a analisar dados de serviços da AWS, incluindo o CloudFront. Para saber mais, consulte [ Consultar logs do Amazon CloudFront](https://docs.aws.amazon.com/athena/latest/ug/cloudfront-logs.html) no *Guia do usuário do Amazon Athena*.

Além disso, as seguintes postagens de blog da AWS discutem algumas maneiras de analisar os logs de acesso.
+ [ Registro em log de solicitações do Amazon CloudFront](https://aws.amazon.com/blogs/aws/amazon-cloudfront-request-logging/) (para conteúdo distribuído via HTTP)
+ [ Logs avançados do CloudFront, agora com strings de consulta](https://aws.amazon.com/blogs/aws/enhanced-cloudfront-logs-now-with-query-strings/)

# Usar logs de acesso em tempo real
<a name="real-time-logs"></a>

Com os logs de acesso em tempo real do CloudFront, é possível receber informações em tempo real sobre as solicitações feitas a uma distribuição (os logs são entregues em segundos após o recebimento das solicitações). É possível usar os logs de acesso em tempo real para monitorar, analisar e executar ações com base no desempenho da entrega de conteúdo.

Os logs de acesso em tempo real do CloudFront são configuráveis. É possível escolher:
+ A *taxa de amostragem* dos logs de acesso em tempo real; isto é, a porcentagem de solicitações para as quais deseja receber registros de logs de acesso em tempo real.
+ Os campos específicos que você deseja receber nos registros de log.
+ Os comportamentos de cache específicos (padrões de caminho) dos quais você deseja receber logs em tempo real.

Os logs de acesso em tempo real do CloudFront são entregues ao fluxo de dados de sua preferência no Amazon Kinesis Data Streams. É possível criar seu próprio [consumidor de fluxo de dados do Kinesis](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-consumers.html) ou usar o Amazon Data Firehose para enviar dados de log para o Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service (OpenSearch Service) ou um serviço de processamento de log de terceiros.

Além das cobranças de uso do Kinesis Data Streams, o CloudFront cobra por logs de acesso em tempo real. Para obter mais informações sobre definição de preço, consulte [Definição de preço do Amazon CloudFront](https://aws.amazon.com/cloudfront/pricing/) e [Definição de preço do Amazon Kinesis Data Streams](https://aws.amazon.com/kinesis/data-streams/pricing/).

**Importante**  
Recomendamos que você use os logs para compreender a natureza das solicitações do seu conteúdo, não como uma contabilidade completa de todas as solicitações. O CloudFront tenta entregar logs de acesso em tempo real da melhor maneira possível. A entrada do log de uma solicitação específica pode ser entregue muito depois do processamento da solicitação e, raramente, nunca ser entregue. Quando uma entrada de log for omitida dos logs de acesso em tempo real, o número de entradas nesses logs não corresponderá ao uso exibido nos relatórios de uso e faturamento da AWS.

**Topics**
+ [

## Criar e usar configurações de log de acesso em tempo real
](#create-real-time-log-config)
+ [

## Noções básicas sobre as configurações de log de acesso em tempo real
](#understand-real-time-log-config)
+ [

## Criar um consumidor do Kinesis Data Streams
](#real-time-log-consumer-guidance)
+ [

## Solução de problemas de logs de acesso em tempo real
](#real-time-log-troubleshooting)

## Criar e usar configurações de log de acesso em tempo real
<a name="create-real-time-log-config"></a>

Para ter informações sobre solicitações feitas a uma distribuição em tempo real, use as configurações de log de acesso em tempo real. Os logs são entregues em segundos após o recebimento das solicitações. É possível criar uma configuração de log de acesso em tempo real no console do CloudFront, com a AWS Command Line Interface (AWS CLI) ou com a API do CloudFront.

Para usar uma configuração de log de acesso em tempo real, anexe-a a um ou mais comportamentos de cache em uma distribuição do CloudFront.

------
#### [ Console ]

**Como criar uma configuração de log de acesso em tempo real**

1. Faça login no Console de gerenciamento da AWS e abra a página **Logs** no console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home?#/logs](https://console.aws.amazon.com/cloudfront/v4/home?#/logs).

1. Selecione a guia **Real-time log configurations** (Configurações de log em tempo real).

1. Escolha **Criar configuração**.

1. Em **Name** (Nome), insira um nome para a configuração.

1. Em **Sampling rate** (Taxa de amostragem), insira a porcentagem de solicitações para as quais deseja receber registros de log.

1. Em **Campos**, escolha os campos a serem recebidos nos logs de acesso em tempo real.
   + Para incluir todos os [campos CMCD](#CMCD-real-time-logging-fields) em seus registros de log, selecione **CMCD all keys** (todas as chaves CMCD).

1. Em **Endpoint**, escolha um ou mais fluxos de dados do Kinesis para receber logs de acesso em tempo real.
**nota**  
Os logs de acesso em tempo real do CloudFront são entregues ao fluxo de dados especificado no Kinesis Data Streams. Para ler e analisar os logs de acesso em tempo real, é possível criar seu próprio consumidor de fluxo de dados do Kinesis. Também é possível usar o Firehose para enviar dados de log para o Amazon S3, Amazon Redshift, Amazon OpenSearch Service ou um serviço de processamento de log de terceiros.

1. Em **IAM role** (Perfil do IAM), selecione **Create new service role** (Criar novo perfil de serviço) ou selecione um perfil existente. Você deve ter permissão para criar funções do IAM.

1. (Opcional) Em **Distribuição**, selecione um comportamento de cache e uma distribuição do CloudFront a serem anexados à configuração de log de acesso em tempo real.

1. Escolha **Criar configuração**.

Se a configuração for criada com êxito, o console mostrará os detalhes da configuração de log de acesso em tempo real que você acabou de criar.

Para obter mais informações, consulte [Noções básicas sobre as configurações de log de acesso em tempo real](#understand-real-time-log-config).

------
#### [ AWS CLI ]

Para criar uma configuração de log de acesso em tempo real com a AWS CLI, use o comando **aws cloudfront create-realtime-log-config**. É possível usar um arquivo de entrada para fornecer os parâmetros de entrada do comando, em vez de especificar cada parâmetro individual como entrada na linha de comando.

**Como criar uma configuração de log de acesso em tempo real (CLI com arquivo de entrada)**

1. Use o comando a seguir para criar um arquivo chamado `rtl-config.yaml` que contém todos os parâmetros de entrada para o comando **create-realtime-log-config**.

   ```
   aws cloudfront create-realtime-log-config --generate-cli-skeleton yaml-input > rtl-config.yaml
   ```

1. Abra o arquivo chamado `rtl-config.yaml` que você acabou de criar. Edite o arquivo para especificar as configurações de log de acesso em tempo real desejadas e salve o arquivo. Observe o seguinte:
   + Para `StreamType`, o único valor válido é `Kinesis`.

   Para obter mais informações sobre as configurações de log em tempo real, consulte [Noções básicas sobre as configurações de log de acesso em tempo real](#understand-real-time-log-config).

1. Use o comando a seguir para criar a configuração de log de acesso em tempo real utilizando parâmetros de entrada do arquivo `rtl-config.yaml`.

   ```
   aws cloudfront create-realtime-log-config --cli-input-yaml file://rtl-config.yaml
   ```

Se a configuração for criada com êxito, a saída do comando mostrará os detalhes da configuração de log de acesso em tempo real que você acabou de criar.

**Como anexar uma configuração de log de acesso em tempo real a uma distribuição existente (CLI com arquivo de entrada)**

1. Use o comando a seguir para salvar a configuração da distribuição do CloudFront que você deseja atualizar. Substitua *distribution\$1ID* pelo ID da distribuição.

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. Abra o arquivo chamado `dist-config.yaml` que você acabou de criar. Edite o arquivo, fazendo as alterações a seguir em cada comportamento de cache que você está atualizando para usar uma configuração de log de acesso em tempo real.
   + No comportamento de cache, adicione um campo chamado `RealtimeLogConfigArn`. Para o valor do campo, use o ARN da configuração de log de acesso em tempo real que você deseja anexar a esse comportamento de cache.
   + Renomeie o campo `ETag` para `IfMatch`, mas não altere o valor do campo.

   Ao concluir, salve o arquivo.

1. Use o comando a seguir para atualizar a distribuição e usar a configuração de log de acesso em tempo real. Substitua *distribution\$1ID* pelo ID da distribuição.

   ```
   aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
   ```

Se tiver êxito, a saída do comando mostrará os detalhes da distribuição que você acabou de atualizar.

------
#### [ API ]

Para criar uma configuração de log de acesso em tempo real com a API do CloudFront, use a operação de API [CreateRealtimeLogConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateRealtimeLogConfig.html). Para obter mais informações sobre os parâmetros especificados nessa chamada de API, consulte [Noções básicas sobre as configurações de log de acesso em tempo real](#understand-real-time-log-config) e a documentação de referência da API do seu SDK da AWS ou de outro cliente de API.

Após a criação de uma configuração de log de acesso em tempo real, é possível anexá-la a um comportamento de cache, usando uma das seguintes operações de API:
+ Para anexá-la a um comportamento de cache em uma distribuição existente, use [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Para anexá-la a um comportamento de cache em uma nova distribuição, use [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Para ambas as operações de API, forneça o ARN da configuração de log de acesso em tempo real no campo `RealtimeLogConfigArn`, dentro de um comportamento de cache. Para mais informações sobre os outros campos especificados nessas chamadas de API, consulte [Referência de configurações de todas as distribuições](distribution-web-values-specify.md) e a documentação de referência da API do AWS SDK ou de outro cliente de API.

------

## Noções básicas sobre as configurações de log de acesso em tempo real
<a name="understand-real-time-log-config"></a>

Para usar os logs de acesso em tempo real do CloudFront, primeiro crie uma configuração de log de acesso em tempo real. A configuração de log de acesso em tempo real contém informações sobre quais campos de log você deseja receber, a *taxa de amostragem* de registros de log e o fluxo de dados do Kinesis ao qual você deseja entregar os logs.

Mais especificamente, uma configuração de log de acesso em tempo real contém as seguintes configurações:

**Contents**
+ [

### Nome
](#real-time-logs-name)
+ [

### Taxa de amostragem
](#real-time-logs-sampling-rate)
+ [

### Campos
](#real-time-logs-fields)
+ [

### Endpoint (Kinesis Data Streams)
](#real-time-logs-endpoint)
+ [

### perfil do IAM
](#real-time-logs-IAM)

### Nome
<a name="real-time-logs-name"></a>

Um nome para identificar a configuração de log de acesso em tempo real.

### Taxa de amostragem
<a name="real-time-logs-sampling-rate"></a>

A taxa de amostragem é um número inteiro entre 1 e 100 (inclusive) que determina a porcentagem de solicitações de visualizador enviadas ao Kinesis Data Streams como registros de log de acesso em tempo real. Para incluir cada solicitação de visualizador nos logs de acesso em tempo real, especifique 100 como taxa de amostragem. É possível escolher uma taxa de amostragem mais baixa para reduzir custos e continuar recebendo uma amostra representativa de dados de solicitação nos logs de acesso em tempo real.

### Campos
<a name="real-time-logs-fields"></a>

Uma lista de campos incluídos em cada registro de log de acesso em tempo real. Cada registro de log pode conter até quarenta campos, e é possível optar por receber todos os campos disponíveis ou apenas os campos necessários para monitorar e analisar o desempenho.

A lista a seguir contém cada nome de campo e uma descrição das informações nesse campo. Os campos são listados na ordem em que aparecem nos registros de log que são entregues ao Kinesis Data Streams.

Os campos 46–63 são [Common Media Client Data (CMCD)](#CMCD-real-time-logging-fields) que os clientes do media player podem enviar às CDNs com cada solicitação. É possível usar esses dados para entender cada solicitação, como o tipo de mídia (áudio, vídeo), a taxa de reprodução e a duração da transmissão. Esses campos só aparecerão nos logs de acesso em tempo real se forem enviados ao CloudFront. 

1. **`timestamp`**

   A data e a hora em que o servidor de borda concluiu a resposta à solicitação.

1. **`c-ip`**

   O endereço IP do visualizador que fez a solicitação, por exemplo, `192.0.2.183` ou `2001:0db8:85a3::8a2e:0370:7334`. Se o visualizador usar um proxy HTTP ou um load balancer para enviar a solicitação, o valor desse campo será o endereço IP do proxy ou do load balancer. Veja também o campo `x-forwarded-for`.

1. **`s-ip`**

   O endereço IP do servidor do CloudFront que atendeu à solicitação; por exemplo, `192.0.2.183` ou `2001:0db8:85a3::8a2e:0370:7334`.

1. **`time-to-first-byte`**

   O número de segundos entre o recebimento da solicitação e a gravação do primeiro byte da resposta, conforme medido no servidor.

1. **`sc-status`**

   O código de status HTTP da resposta do servidor (por exemplo, `200`).

1. **`sc-bytes`**

   O número total de bytes enviados pelo servidor para o visualizador em resposta à solicitação, inclusive os cabeçalhos. Para conexões WebSocket e gRPC, esse é o número total de bytes enviados do servidor para o cliente por meio da conexão.

1. **`cs-method`**

   O método de solicitação HTTP recebido do visualizador.

1. **`cs-protocol`**

   O protocolo da solicitação do visualizador (`http`, `https`, `grpcs`, `ws` ou `wss`).

1. **`cs-host`**

   O valor incluído pelo visualizador no cabeçalho `Host` da solicitação. Se você estiver usando o nome de domínio do CloudFront nos URLs de objetos (como d111111abcdef8.cloudfront.net), esse campo conterá esse nome de domínio. Se você estiver usando nomes de domínio alternativos (CNAMES) nos URLs de objetos (como www.example.com), esse campo conterá o nome de domínio alternativo.

1. **`cs-uri-stem`**

   Todo o URL da solicitação, inclusive a string de consulta (se houver), mas sem o nome do domínio. Por exemplo, `/images/cat.jpg?mobile=true`.
**nota**  
Em [logs padrão](AccessLogs.md), o valor de `cs-uri-stem` não inclui a string de consulta.

1. **`cs-bytes`**

   O número de bytes de dados que o visualizador adicionou à solicitação, incluindo cabeçalhos. Para conexões WebSocket e gRPC, esse é o número total de bytes enviados do cliente para o servidor na conexão.

1. **`x-edge-location`**

   O ponto de presença que atendeu à solicitação. Cada ponto de presença é identificado por um código de três letras e um número atribuído arbitrariamente (por exemplo, DFW3). O código de três letras normalmente corresponde ao código da Associação Internacional de Transportes Aéreos (IATA) de um aeroporto perto da localização geográfica do local da borda. (Essas abreviações podem mudar no futuro.)

1. **`x-edge-request-id`**

   Uma string opaca que identifica exclusivamente uma solicitação. O CloudFront também envia essa string no cabeçalho de resposta `x-amz-cf-id`.

1. **`x-host-header`**

   O nome de domínio da distribuição do CloudFront (por exemplo, d111111abcdef8.cloudfront.net).

1. **`time-taken`**

   O número de segundos (até o milésimo de segundo, por exemplo, 0,082) de quando o servidor recebe a solicitação do visualizador até quando o servidor grava o último byte da resposta na fila de saída, conforme medido no servidor. Da perspectiva do visualizador, o tempo total para obter o objeto completo será mais longo que esse valor devido à latência da rede e o armazenamento em buffer do TCP.

1. **`cs-protocol-version`**

   A versão HTTP especificada pelo visualizador na solicitação. Os valores possíveis incluem `HTTP/0.9`, `HTTP/1.0`, `HTTP/1.1`, `HTTP/2.0` e `HTTP/3.0`.

1. **`c-ip-version`**

   A versão IP da solicitação (IPv4 ou IPv6).

1. **`cs-user-agent`**

   O valor do cabeçalho `User-Agent` na solicitação. O cabeçalho `User-Agent` identifica a origem da solicitação, como o tipo de dispositivo e o navegador que enviou a solicitação e, se a solicitação for proveniente de um mecanismo de pesquisa, o mecanismo de pesquisa.

1. **`cs-referer`**

   O valor do cabeçalho `Referer` na solicitação. Esse é o nome do domínio que originou a solicitação. Indicadores comuns incluem: mecanismos de pesquisa, outros sites vinculados diretamente aos seus objetos e seu próprio site.

1. **`cs-cookie`**

   O cabeçalho `Cookie` na solicitação, incluindo pares de nome-valor e os atributos associados.
**nota**  
Este campo é truncado em 800 bytes.

1. **`cs-uri-query`**

   A parte da string de consulta do URL da solicitação, se houver.

1. **`x-edge-response-result-type`**

   Como o servidor classificou a resposta logo antes de devolvê-la para o visualizador. Veja também o campo `x-edge-result-type`. Os possíveis valores incluem:
   + `Hit`: o servidor forneceu o objeto do cache ao visualizador.
   + `RefreshHit`: o servidor encontrou o objeto no cache, mas o objeto expirou, portanto, o servidor entrou em contato com a origem para verificar se o cache tinha a versão mais recente do objeto.
   + `Miss`: não foi possível atender à solicitação por um objeto no cache, portanto, o servidor a encaminhou ao servidor de origem e retornou o resultado ao visualizador.
   + `LimitExceeded`: a solicitação foi negada porque uma cota do CloudFront (anteriormente conhecida como limite) foi excedida.
   + `CapacityExceeded`: o servidor retornou um erro 503 porque não tinha capacidade suficiente no momento da solicitação para fornecer o objeto.
   + `Error`: normalmente, isso significa que a solicitação resultou em um erro de cliente (o valor do campo `sc-status` está no intervalo `4xx`) ou em um erro de servidor (o valor do campo `sc-status` está no intervalo `5xx`).

     Se o valor do campo `x-edge-result-type` for `Error` e o valor desse campo não for `Error`, o cliente desconectou antes de concluir o download.
   + `Redirect`: o servidor redirecionou o visualizador de HTTP para HTTPS de acordo com as configurações de distribuição.
   + `LambdaExecutionError`: a função Lambda@Edge associada à distribuição não foi concluída devido a uma má-formação da associação, um tempo limite de função, um problema de dependência da AWS ou outro problema de disponibilidade geral.

1. **`x-forwarded-for`**

   Se o visualizador usar um proxy HTTP ou um load balancer para enviar a solicitação, o valor do campo `c-ip` será o endereço IP do proxy ou do load balancer. Nesse caso, esse campo é o endereço IP do visualizador que originou a solicitação. Esse campo pode conter vários endereços IP separados por vírgula. Cada endereço IP pode ser um endereço IPv4 (por exemplo, `192.0.2.183`) ou um endereço IPv6 (por exemplo, `2001:0db8:85a3::8a2e:0370:7334`).

1. **`ssl-protocol`**

   Quando a solicitação usa HTTPS, esse campo contém o protocolo SSL/TLS que o visualizador e o servidor negociaram para transmitir a solicitação e a resposta. Para obter uma lista de valores possíveis, consulte os protocolos SSL/TLS compatíveis em [Protocolos e cifras compatíveis entre visualizadores e o CloudFront](secure-connections-supported-viewer-protocols-ciphers.md).

1. **`ssl-cipher`**

   Quando a solicitação usa HTTPS, esse campo contém a cifra SSL/TLS que o visualizador e o servidor negociaram para criptografar a solicitação e a resposta. Para obter uma lista de valores possíveis, consulte as cifras SSL/TLS compatíveis em [Protocolos e cifras compatíveis entre visualizadores e o CloudFront](secure-connections-supported-viewer-protocols-ciphers.md).

1. **`x-edge-result-type`**

   Como o servidor classificou a resposta após o último byte sair do servidor. Em alguns casos, o tipo de resultado pode mudar entre a hora em que o servidor está pronto para enviar a resposta e a hora em que ele conclui o envio. Veja também o campo `x-edge-response-result-type`.

   Por exemplo, em streaming HTTP, suponha que o servidor encontre um segmento do stream no cache. Nesse cenário, o valor desse campo normalmente seria `Hit`. No entanto, se o visualizador encerrar a conexão antes de o servidor entregar o segmento inteiro, o tipo do resultado final (e, portanto, o valor desse campo) será `Error`.

   As conexões WebSocket e gRPC terão um valor de `Miss` para esse campo porque o conteúdo não é armazenável em cache e é enviado diretamente de volta ao servidor de origem.

   Os possíveis valores incluem:
   + `Hit`: o servidor forneceu o objeto do cache ao visualizador.
   + `RefreshHit`: o servidor encontrou o objeto no cache, mas o objeto expirou, portanto, o servidor entrou em contato com a origem para verificar se o cache tinha a versão mais recente do objeto.
   + `Miss`: não foi possível atender à solicitação por um objeto no cache e, portanto, o servidor a encaminhou ao servidor de origem e retornou o resultado ao visualizador.
   + `LimitExceeded`: a solicitação foi negada porque uma cota do CloudFront (anteriormente conhecida como limite) foi excedida.
   + `CapacityExceeded`: o servidor retornou um código de status HTTP 503 porque não tinha capacidade suficiente no momento da solicitação para fornecer o objeto.
   + `Error`: normalmente, isso significa que a solicitação resultou em um erro de cliente (o valor do campo `sc-status` está no intervalo `4xx`) ou em um erro de servidor (o valor do campo `sc-status` está no intervalo `5xx`). Se o valor do campo `sc-status` for `200` ou se o valor desse campo for `Error` e o valor do campo `x-edge-response-result-type` não for `Error`, isso significa que a solicitação HTTP foi bem-sucedida, mas o cliente desconectou antes de receber todos os bytes.
   + `Redirect`: o servidor redirecionou o visualizador de HTTP para HTTPS de acordo com as configurações de distribuição.
   + `LambdaExecutionError`: a função Lambda@Edge associada à distribuição não foi concluída devido a uma má-formação da associação, um tempo limite de função, um problema de dependência da AWS ou outro problema de disponibilidade geral.

1. **`fle-encrypted-fields`**

   O número de campos de [criptografia em nível de campo](field-level-encryption.md) que o servidor de borda criptografou e encaminhou para a origem. Os servidores do CloudFront fazem streaming da solicitação processada para a origem à medida que criptografam dados, portanto, esse campo pode ter um valor, mesmo que o valor de `fle-status` seja um erro.

1. **`fle-status`**

   Quando a [criptografia em nível de campo](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) é configurada para uma distribuição, esse campo contém um código que indica se o corpo da solicitação foi processado com êxito. Quando o servidor processa o corpo da solicitação, criptografa os valores nos campos especificados e encaminha a solicitação para a origem com êxito, o valor desse campo é `Processed`. Nesse caso, o valor de `x-edge-result-type` pode indicar um erro do lado do cliente ou do lado do servidor.

   Os valores possíveis para esse campo incluem:
   + `ForwardedByContentType`: o servidor encaminhou a solicitação para a origem sem análise nem criptografia, pois nenhum tipo de conteúdo foi configurado.
   + `ForwardedByQueryArgs`: o servidor encaminhou a solicitação para a origem sem análise nem criptografia, pois a solicitação contém um argumento de consulta que não foi configurado para a criptografia em nível de campo.
   + `ForwardedDueToNoProfile`: o servidor encaminhou a solicitação para a origem sem análise nem criptografia, pois nenhum perfil foi especificado na configuração da criptografia em nível de campo.
   + `MalformedContentTypeClientError`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois o valor do cabeçalho `Content-Type` estava em um formato inválido.
   + `MalformedInputClientError`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois o corpo da solicitação estava em um formato inválido.
   + `MalformedQueryArgsClientError`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois um argumento de consulta estava vazio ou em um formato inválido.
   + `RejectedByContentType`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois nenhum tipo de conteúdo foi especificado na configuração para criptografia em nível de campo.
   + `RejectedByQueryArgs`: o servidor rejeitou a solicitação e retornou o código de status HTTP 400 para o visualizador, pois nenhum argumento de consulta foi especificado na configuração para criptografia em nível de campo.
   + `ServerError`: o servidor de origem retornou um erro.

   Se a solicitação exceder uma cota de criptografia em nível de campo (anteriormente conhecida como limite), esse campo conterá um dos seguintes códigos de erro, e o servidor retornará o código de status HTTP 400 ao visualizador. Para obter uma lista das cotas atuais de criptografia no nível de campo, consulte [Cotas para criptografia no nível de campo](cloudfront-limits.md#limits-field-level-encryption).
   + `FieldLengthLimitClientError`: um campo configurado para ser criptografado excedeu o tamanho máximo permitido.
   + `FieldNumberLimitClientError`: uma solicitação que a distribuição está configurada para criptografar contém o número de campos maior do que o permitido.
   + `RequestLengthLimitClientError`: o tamanho do corpo da solicitação excedeu o tamanho máximo permitido quando a criptografia no nível de campo foi configurada.

1. **`sc-content-type`**

   O valor do cabeçalho do HTTP `Content-Type` da resposta.

1. **`sc-content-len`**

   O valor do cabeçalho do HTTP `Content-Length` da resposta.

1. **`sc-range-start`**

   Quando a resposta contém o cabeçalho do HTTP `Content-Range`, esse campo contém o valor inicial do intervalo.

1. **`sc-range-end`**

   Quando a resposta contém o cabeçalho do HTTP `Content-Range`, esse campo contém o valor final do intervalo.

1. **`c-port`**

   O número da porta da solicitação do visualizador.

1. **`x-edge-detailed-result-type`**

   Esse campo conterá o mesmo valor que o campo `x-edge-result-type`, exceto nos seguintes casos:
   + Quando o objeto for enviado ao visualizador do cache da camada [Origin Shield](origin-shield.md), esse campo conterá `OriginShieldHit`.
   + Quando o objeto não estiver no cache do CloudFront e a resposta for gerada por uma [função Lambda@Edge de solicitação de origem](lambda-at-the-edge.md), esse campo conterá `MissGeneratedResponse`.
   + Quando o valor do campo `x-edge-result-type` for `Error`, esse campo conterá um dos seguintes valores com mais informações sobre o erro:
     + `AbortedOrigin`: o servidor encontrou um problema com a origem.
     + `ClientCommError`: a resposta ao visualizador foi interrompida devido a um problema de comunicação entre o servidor e o visualizador.
     + `ClientGeoBlocked`: a distribuição é configurada para recusar solicitações da localização geográfica do visualizador.
     + `ClientHungUpRequest` – o visualizador parou prematuramente ao enviar a solicitação.
     + `Error`: ocorreu um erro para o qual o tipo de erro não se encaixa em nenhuma das outras categorias. Esse tipo de erro pode ocorrer quando o servidor fornece uma resposta de erro do cache.
     + `InvalidRequest`: o servidor recebeu uma solicitação inválida do visualizador.
     + `InvalidRequestBlocked` – o acesso ao recurso solicitado é bloqueado.
     + `InvalidRequestCertificate`: a distribuição não corresponde ao certificado SSL/TLS para o qual a conexão HTTPS foi estabelecida.
     + `InvalidRequestHeader`: a solicitação continha um cabeçalho inválido.
     + `InvalidRequestMethod` – a distribuição não está configurada para lidar com o método de solicitação HTTP que foi usado. Isso pode acontecer quando a distribuição oferece suporte somente a solicitações armazenáveis em cache.
     + `OriginCommError`: a solicitação expirou durante a conexão à origem ou a leitura de dados da origem.
     + `OriginConnectError`: o servidor não pôde se conectar à origem.
     + `OriginContentRangeLengthError`: o cabeçalho `Content-Length` na resposta da origem não corresponde ao tamanho no cabeçalho `Content-Range`.
     + `OriginDnsError`: o servidor não pôde resolver o nome de domínio da origem.
     + `OriginError` – a origem retornou uma resposta incorreta.
     + `OriginHeaderTooBigError`: um cabeçalho retornado pela origem é muito grande para o processamento pelo servidor de borda.
     + `OriginInvalidResponseError` – a origem retornou uma resposta inválida.
     + `OriginReadError`: o servidor não pôde ler na origem.
     + `OriginWriteError`: o servidor não pôde gravar na origem.
     + `OriginZeroSizeObjectError` – um objeto de tamanho zero enviado da origem resultou em um erro.
     + `SlowReaderOriginError` – o visualizador ficou lento ao ler a mensagem que causou o erro de origem.

1. **`c-country`**

   Um código de país que representa a localização geográfica do visualizador, conforme determinado pelo endereço IP do visualizador. Para obter uma lista de códigos de país, consulte [ISO 3166-1 alfa-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

1. **`cs-accept-encoding`**

    O valor do cabeçalho `Accept-Encoding` na solicitação do visualizador.

1. **`cs-accept`**

   O valor do cabeçalho `Accept` na solicitação do visualizador.

1. **`cache-behavior-path-pattern`**

   O padrão do caminho que identifica o comportamento de cache que correspondeu à solicitação do visualizador.

1. **`cs-headers`**

   Os cabeçalhos HTTP (nomes e valores) na solicitação do visualizador.
**nota**  
Este campo é truncado em 800 bytes.

1. **`cs-header-names`**

   Os nomes dos cabeçalhos HTTP (não valores) na solicitação do visualizador.
**nota**  
Este campo é truncado em 800 bytes.

1. **`cs-headers-count`**

    O número de cabeçalhos HTTP na solicitação do visualizador.

1. **`primary-distribution-id`**

   Quando a implantação contínua está habilitada, essa ID identifica qual distribuição é a principal na distribuição atual.

1. **`primary-distribution-dns-name`**

   Quando a implantação contínua está habilitada, esse valor mostra o nome de domínio principal relacionado à distribuição atual do CloudFront (por exemplo, d111111abcdef8.cloudfront.net).

1. **`origin-fbl`**

   O número de segundos de latência de primeiro byte entre o CloudFront e a origem.

1. **`origin-lbl`**

   O número de segundos de latência de último byte entre o CloudFront e a origem.

1. **`asn`**

   O número de sistema autônomo (ASN) do visualizador.

1. <a name="CMCD-real-time-logging-fields"></a>
**Campos de CMCD em logs de acesso em tempo real**  
Para ter mais informações sobre esses campos, consulte o documento [Ecossistema em vídeo de aplicativo da web de especificação CTA: Common Media Client Data CTA-5004](https://cdn.cta.tech/cta/media/media/resources/standards/pdfs/cta-5004-final.pdf).

1. **`cmcd-encoded-bitrate`**

   A taxa de bits codificada do objeto de áudio ou vídeo solicitado. 

1. **`cmcd-buffer-length`**

   O tamanho do buffer do objeto de mídia solicitado.

1. **`cmcd-buffer-starvation`**

   Se o buffer ficou inativo em algum momento entre a solicitação anterior e a solicitação do objeto. Isso pode fazer com que o player fique em um estado de rearmazenamento em buffer, o que pode interromper a reprodução de vídeo ou áudio. 

1. **`cmcd-content-id`**

   Uma string exclusiva que identifica o conteúdo atual.

1. **`cmcd-object-duration`**

   A duração da reprodução do objeto solicitado (em milissegundos). 

1. **`cmcd-deadline`**

   O prazo a partir do momento da solicitação em que a primeira amostra desse objeto deve estar disponível, para que um estado de buffer inoperante ou outros problemas de reprodução sejam evitados. 

1. **`cmcd-measured-throughput`**

   O throughput entre o cliente e o servidor, conforme medido pelo cliente.

1. **`cmcd-next-object-request`**

   O caminho relativo do próximo objeto solicitado.

1. **`cmcd-next-range-request`**

   Se a próxima solicitação for uma solicitação de objeto parcial, essa string indica o intervalo de bytes a ser solicitado.

1. **`cmcd-object-type`**

   O tipo de mídia do objeto atual que está sendo solicitado.

1. **`cmcd-playback-rate`**

   1 se estiver em tempo real, 2 se estiver em velocidade dupla, 0 se não estiver sendo reproduzido. 

1. **`cmcd-requested-maximum-throughput`**

   O throughput máximo solicitado que o cliente considera suficiente para a entrega de ativos.

1. **`cmcd-streaming-format`**

   O formato de streaming que define a solicitação atual.

1. **`cmcd-session-id`**

   Um GUID que identifica a sessão de reprodução atual.

1. **`cmcd-stream-type`**

   Token que identifica a disponibilidade do segmento. `v` = todos os segmentos estão disponíveis. `l` = os segmentos ficam disponíveis ao longo do tempo.

1. **`cmcd-startup`**

   A chave é incluída sem um valor se o objeto for necessário com urgência durante o startup, busca ou recuperação após um evento de esvaziamento do buffer.

1. **`cmcd-top-bitrate`**

   A representação de taxa de bits mais alta que o cliente pode reproduzir.

1. **`cmcd-version`**

   A versão dessa especificação usada para interpretar os nomes e chave-valor definidos. Se essa chave for omitida, o cliente e o servidor *devem* interpretar os valores como definidos pela versão 1.

1. **`r-host`**

   Esse campo é enviado para solicitações para a origem e indica o domínio do servidor de origem usado para fornecer o objeto. Em caso de erros, você pode usar esse campo para encontrar a última origem que foi tentada; por exemplo: `cd8jhdejh6a.mediapackagev2.us-east-1.amazonaws.com`.

1. **`sr-reason`**

   Esse campo fornece o motivo pelo qual a origem foi selecionada. Ele fica vazio quando uma solicitação para a origem primária é bem-sucedida.

   Se ocorrer um failover de origem, o campo conterá o código de erro HTTP que provocou o failover, como `Failover:403` ou `Failover:502`. Em caso de failover de origem, se a solicitação repetida também falhar e você não tiver configurado páginas de erro personalizadas, `r-status` indicará a resposta da segunda origem. Entretanto, se você tiver configurado páginas de erro personalizadas com o failover de origem, isso conterá a resposta da segunda origem se a solicitação falhar e, em vez disso, for exibida uma página de erro personalizada.

   Se não ocorrer nenhum failover de origem, mas ocorrer seleção de origem por meio do recurso Resiliência com Reconhecimento de Qualidade da Mídia (MQAR), isso será registrado como `MediaQuality`. Para obter mais informações, consulte [Resiliência com Reconhecimento de Qualidade da Mídia](media-quality-score.md).

1. **`x-edge-mqcs`**

   Esse campo indica a Pontuação de Confiança na Qualidade da Mídia (MQCS) (intervalo: 0-100) para segmentos de mídia que o CloudFront recuperou nos cabeçalhos de resposta do CMSD do MediaPackage v2. Ele está disponível para solicitações que correspondam a um comportamento de cache que tenha um grupo de origem habilitado para MQAR. O CloudFront registra esse campo em log para segmentos de mídia que também são fornecidos pelo respectivo cache, além das solicitações para a origem. Para obter mais informações, consulte [Resiliência com Reconhecimento de Qualidade da Mídia](media-quality-score.md).

1. **`distribution-tenant-id`**

   O ID do locatário da distribuição.

1. **`connection-id`**

   Um identificador exclusivo para a conexão TLS. 

   Para receber informações para esse campo, primeiro é necessário habilitar a mTLS para suas distribuições. Para obter mais informações, consulte [Autenticação TLS mútua com o CloudFront (mTLS de visualizador)TLS mútua de origem com o CloudFront](mtls-authentication.md).

### Endpoint (Kinesis Data Streams)
<a name="real-time-logs-endpoint"></a>

O endpoint contém informações sobre o Kinesis Data Streams para o qual você quer enviar logs em tempo real. Forneça o nome de recurso da Amazon (ARN) do stream de dados.

Consulte mais informações sobre como criar um Kinesis Data Streams nos tópicos a seguir no *Guia do desenvolvedor do Amazon Kinesis Data Streams*.
+ [Criar e gerenciar fluxos](https://docs.aws.amazon.com/streams/latest/dev/working-with-streams.html)
+ [Executar operações básicas do Kinesis Data Streams usando a AWS CLI](https://docs.aws.amazon.com/streams/latest/dev/fundamental-stream.html)
+ [Criar um fluxo](https://docs.aws.amazon.com/streams/latest/dev/kinesis-using-sdk-java-create-stream.html) (usa o AWS SDK para Java)

Ao criar um stream de dados, você precisa especificar o número de fragmentos. Use as seguintes informações para ajudá-lo a estimar o número de fragmentos necessários.

**Como estimar o número de fragmentos para o stream de dados do Kinesis**

1. Calcule (ou estime) o número de solicitações por segundo recebidas pela sua distribuição do CloudFront.

   Você pode usar os [relatórios de uso do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/usage) (no console do CloudFront) e as [métricas do CloudFront](viewing-cloudfront-metrics.md#monitoring-console.distributions) (nos consoles do CloudFront e do Amazon CloudWatch) para ajudar você a calcular as solicitações por segundo.

1. Determine o tamanho típico de um único registro de log de acesso em tempo real.

   Em geral, um único registro de log tem cerca de 500 bytes. Um grande registro que inclui todos os campos disponíveis costuma ter cerca de 1 KB.

   Caso não tenha certeza do tamanho do registro de log, você poderá habilitar logs em tempo real com uma taxa de amostragem baixa (por exemplo, 1%), depois calcular o tamanho médio do registro usando dados de monitoramento no Kinesis Data Streams (total de bytes de entrada dividido pelo número total de registros).

1. Na [página de preços do Amazon Kinesis Data Streams](https://aws.amazon.com/kinesis/data-streams/pricing/), em AWS Calculadora de Preços, selecione **Crie já sua estimativa personalizada**.
   + Na calculadora, insira o número de solicitações (registros) por segundo.
   + Insira o tamanho médio de um único registro de log.
   + Selecione **Mostrar cálculos**.

   A calculadora de preços exibe o número de fragmentos de que você precisa e o custo estimado.

### perfil do IAM
<a name="real-time-logs-IAM"></a>

O perfil do AWS Identity and Access Management (IAM) que concede ao CloudFront permissão para entregar logs de acesso em tempo real ao fluxo de dados do Kinesis.

Ao criar uma configuração de log de acesso em tempo real com o console do CloudFront, é possível escolher **Criar perfil de serviço** para permitir que o console crie o perfil do IAM para você.

Ao criar uma configuração de log de acesso em tempo real com o AWS CloudFormation ou a API do CloudFront (AWS CLI ou SDK), será necessário criar um perfil do IAM e fornecer o respectivo ARN. Para criar o perfil do IAM por conta própria, use as políticas a seguir.

**Política de confiança do perfil do IAM**

Para usar a seguinte política de confiança de perfil do IAM, substitua *111122223333* pelo número de sua Conta da AWS. O elemento `Condition` nessa política ajuda a evitar o [problema confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) porque o CloudFront só pode assumir essa função em nome de uma distribuição em sua Conta da AWS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudfront.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                }
            }
        }
    ]
}
```

------

**Política de permissões da função do IAM para um stream de dados não criptografado**

Para usar a política a seguir, substitua *arn:aws:kinesis:us-east-2:123456789012:stream/StreamName* pelo ARN do seu stream de dados do Kinesis.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:DescribeStreamSummary",
                "kinesis:DescribeStream",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Resource": [
                "arn:aws:kinesis:us-east-2:123456789012:stream/StreamName"
            ]
        }
    ]
}
```

------

**Política de permissões da função do IAM para um stream de dados criptografado**

Para usar a política a seguir, substitua *arn:aws:kinesis:us-east-2:123456789012:stream/StreamName* pelo ARN do seu stream de dados do Kinesis e *arn:aws:kms:us-east-2:123456789012:key/e58a3d0b-fe4f-4047-a495-ae03cc73d486*pelo ARN da sua AWS KMS key.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:DescribeStreamSummary",
                "kinesis:DescribeStream",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Resource": [
                "arn:aws:kinesis:us-east-2:123456789012:stream/StreamName"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-2:123456789012:key/e58a3d0b-fe4f-4047-a495-ae03cc73d486"
            ]
        }
    ]
}
```

------

****  

## Criar um consumidor do Kinesis Data Streams
<a name="real-time-log-consumer-guidance"></a>

Para ler e analisar os logs de acesso em tempo real, crie ou use um *consumidor* do Kinesis Data Streams. Ao criar um consumidor para logs de acesso em tempo real do CloudFront, é importante saber que os campos em cada registro de log de acesso em tempo real são sempre entregues na mesma ordem, conforme listado na seção [Campos](#real-time-logs-fields). Crie o consumidor para acomodar essa ordem fixa.

Por exemplo, considere uma configuração de log de acesso em tempo real que inclua apenas estes três campos: `time-to-first-byte`, `sc-status` e `c-country`. Nesse cenário, o último campo, `c-country`, é sempre o campo número 3 em cada registro de log. No entanto, se posteriormente você adicionar campos à configuração de log de acesso em tempo real, o posicionamento de cada campo em um registro pode ser alterado.

Por exemplo, se você adicionar os campos `sc-bytes` e `time-taken` à configuração de log de acesso em tempo real, esses campos serão inseridos em cada registro de log de acordo com a ordem mostrada na seção [Campos](#real-time-logs-fields). A ordem resultante de todos os cinco campos é `time-to-first-byte`, `sc-status`, `sc-bytes`, `time-taken` e `c-country`. Originalmente, o campo `c-country` era o campo número 3, mas agora é o campo número 5. Verifique se o consumidor da aplicação consegue lidar com campos que mudam de posição em um registro de log, caso você adicione campos à configuração de log de acesso em tempo real.

## Solução de problemas de logs de acesso em tempo real
<a name="real-time-log-troubleshooting"></a>

Após a criação de uma configuração de log de acesso em tempo real, é possível descobrir que nenhum registro ou nem todos os registros são entregues ao Kinesis Data Streams. Nesse caso, primeiro verifique se a distribuição do CloudFront está recebendo solicitações do visualizador. Se estiver, você poderá verificar a seguinte configuração para continuar a solução de problemas.

**Permissões de função do IAM**  
Para entregar registros de log de acesso em tempo real ao fluxo de dados do Kinesis, o CloudFront usa um perfil do IAM na configuração de log de acesso em tempo real. Verifique se a política de confiança da função e a política de permissões da função correspondem às políticas mostradas em [perfil do IAM](#real-time-logs-IAM).

**Limitação do Kinesis Data Streams**  
Se o CloudFront gravar registros de log de acesso em tempo real no fluxo de dados do Kinesis de forma mais rápida do que o fluxo consegue processar, o Kinesis Data Streams poderá limitar as solicitações do CloudFront. Nesse caso, é possível aumentar o número de fragmentos no fluxo de dados do Kinesis. Cada fragmento pode oferecer suporte a gravações de até 1.000 registros por segundo, até um número máximo de gravações de 1 MB de dados por segundo.

# Logs de funções de borda
<a name="edge-functions-logs"></a>

É possível usar o Amazon CloudWatch Logs para obter logs para as funções de borda, tanto do [Lambda@Edge](lambda-at-the-edge.md) quanto do [CloudFront Functions](cloudfront-functions.md). É possível acessar os logs usando o console do CloudWatch ou a API do CloudWatch Logs.

**Importante**  
Recomendamos que você use os logs para compreender a natureza das solicitações do seu conteúdo, não como uma contabilidade completa de todas as solicitações. O CloudFront entrega logs de função de borda com base no melhor esforço. A entrada do log de uma solicitação específica pode ser entregue muito depois do processamento da solicitação e, raramente, nunca ser entregue. Quando uma entrada de log for omitida dos logs de função de borda, o número de entradas nos logs não corresponderá ao uso exibido nos relatórios de uso e faturamento da AWS.

**Topics**
+ [

## Logs do Lambda@Edge
](#lambda-at-edge-logs)
+ [

## Logs do CloudFront Functions
](#cloudfront-function-logs)

## Logs do Lambda@Edge
<a name="lambda-at-edge-logs"></a>

O Lambda@Edge envia logs de função para o CloudWatch Logs automaticamente, criando fluxos de logs nas Regiões da AWS onde as funções são invocadas. Ao criar ou modificar uma função no AWS Lambda, você pode usar o nome padrão do grupo de logs do CloudWatch ou personalizá-lo.
+ O nome do grupo de logs está no formato `/aws/lambda/<FunctionName>`, em que `<FunctionName>` é o nome que você deu à função quando a criou. Ao enviar logs ao CloudWatch, o Lambda@Edge adicionará automaticamente o prefixo `us-east-1` ao nome da função, de modo que o nome do grupo de logs seja `/aws/lambda/us-east-1.<FunctionName>` Esse prefixo corresponde à Região da AWS local em que a função foi criada. Esse prefixo permanece como parte do nome do grupo de logs, mesmo em outras regiões em que a função é invocada. 
+ Se você especificar um nome de grupo de logs personalizado, como`/MyLogGroup`, o Lambda@Edge não adicionará o prefixo da região. O nome do grupo de logs permanece o mesmo em todas as outras regiões em que a função é invocada.

**nota**  
Se você criar um grupo de logs personalizado e especificar o mesmo nome padrão `/aws/lambda/<FunctionName>`, o Lambda@Edge adicionará o prefixo `us-east-1` ao nome da função.

Além de permitir personalizar o nome do grupo de logs, as funções do Lambda@Edge aceitam logs no formato de texto simples e JSON, além de filtragem em nível de log. Para obter mais informações, consulte [Configurar controles avançados de registro em log para funções do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs-advanced.html) no *Guia do desenvolvedor do AWS Lambda*.

**nota**  
O Lambda@Edge controla os logs com base no volume da solicitação e no tamanho dos logs.

Você deve revisar os arquivos de log do CloudWatch na região correta da para ver os arquivos de log da função do Lambda@Edge. Para ver as regiões onde a função do Lambda@Edge está em execução, visualize os grafos das métricas da função no console do CloudFront. As métricas são exibidas para cada região da . Na mesma página, é possível selecionar uma região e, depois, visualizar os arquivos de log referentes a ela, para investigar problemas.

Consulte mais informações sobre como usar o CloudWatch Logs com funções do Lambda@Edge nos seguintes tópicos:
+ Para obter mais informações sobre como visualizar gráficos na seção **Monitoring (Monitoramento)** no console do CloudFront, consulte [Monitorar métricas do CloudFront com o Amazon CloudWatch](monitoring-using-cloudwatch.md).
+ Para informações sobre as permissões necessárias para enviar dados para o CloudWatch Logs, consulte [Configurar permissões e perfis do IAM para o Lambda@Edge](lambda-edge-permissions.md).
+ Para obter informações sobre como adicionar registro em log a uma função do Lambda@Edge, consulte [Registro em log da função do AWS Lambda em Node.js](https://docs.aws.amazon.com/lambda/latest/dg/nodejs-logging.html) ou [Registro em log da função do AWS Lambda em Python](https://docs.aws.amazon.com/lambda/latest/dg/python-logging.html) no *Guia do desenvolvedor do AWS Lambda*.
+ Para obter informações sobre as cotas do CloudWatch Logs (anteriormente conhecidas como limites), consulte [Cotas do CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html) no *Guia do usuário do Amazon CloudWatch Logs*.

## Logs do CloudFront Functions
<a name="cloudfront-function-logs"></a>

Se o código de uma função do CloudFront contiver instruções `console.log()`, o CloudFront Functions enviará automaticamente essas linhas de log para o CloudWatch Logs. Se não houver instruções `console.log()`, nada será enviado para o CloudWatch Logs.

O CloudFront Functions sempre cria streams de log na região Leste dos EUA (Norte da Virgínia) (`us-east-1`), independentemente de qual local da borda executou a função. O nome do stream de log está no formato `YYYY/M/D/UUID`.

O grupo de logs usa o seguinte formato:
+ No CloudFront Functions, em nível de comportamento de cache, o formato é `/aws/cloudfront/function/<FunctionName>`.
+ No CloudFront Functions, em nível de distribuição (funções de conexão), o formato é `/aws/cloudfront/connection-function/<FunctionName>`.

O `<FunctionName>` é o nome que você atribuiu à função quando a criou.

**Example Solicitações de visualizador**  
Abaixo, é possível visualizar uma mensagem de log de exemplo enviada ao CloudWatch Logs. Cada linha começa com um ID que identifica exclusivamente uma solicitação do CloudFront. A mensagem começa com uma linha `START` que inclui o ID de distribuição do CloudFront e termina com uma linha `END`. Entre as linhas `START` e `END` estão as linhas de log geradas pelas instruções `console.log()` na função.  

```
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== START DistributionID: E3E5D42GADAXZZ
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== Example function log output
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== END
```

**Example Solicitações de conexão**  
Abaixo, é possível visualizar uma mensagem de log de exemplo enviada ao CloudWatch Logs. Cada linha começa com um ID que identifica exclusivamente uma solicitação do CloudFront. A mensagem começa com uma linha `START` que inclui o ID de distribuição do CloudFront e termina com uma linha `END`. Entre as linhas `START` e `END` estão as linhas de log geradas pelas instruções `console.log()` na função.  

```
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== START DistributionID: E3E5D42GADA123
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== 1.2.3.4
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== END
```

**nota**  
O CloudFront Functions envia logs ao CloudWatch apenas para funções na fase `LIVE` que são executadas em resposta a solicitações e respostas de produção. Quando você [testa uma função](test-function.md), o CloudFront não envia métricas nem logs para o CloudWatch. A saída de teste contém informações sobre erros, utilização de computação e logs de funções (instruções `console.log()`), mas essas informações não são enviadas para o CloudWatch.

O CloudFront Functions usa uma [função vinculada ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) do AWS Identity and Access Management (IAM) para enviar logs para o CloudWatch Logs em sua conta. Um perfil vinculado ao serviço é um perfil do IAM que está vinculado diretamente a um AWS service (Serviço da AWS). Os perfis vinculados a serviços são predefinidos pelo serviço e incluem todas as permissões que o serviço exige para chamar outros Serviços da AWS para você. O CloudFront Functions usa o perfil vinculado ao serviço chamado **AWSServiceRoleForCloudFrontLogger**. Para obter mais informações sobre essa função, consulte [Funções vinculadas ao serviço para o Lambda@Edge](lambda-edge-permissions.md#using-service-linked-roles-lambda-edge) (O Lambda@Edge usa a mesma função vinculada ao serviço).

Quando uma função falha e exibe um erro de validação ou de execução, as informações são registradas nos [logs padrão](AccessLogs.md) e nos [logs de acesso em tempo real](real-time-logs.md). Consulte informações específicas sobre o erro nos campos `x-edge-result-type`, `x-edge-response-result-type` e `x-edge-detailed-result-type`.

# Registrar em log chamadas de API do Amazon CloudFront usando o AWS CloudTrail
<a name="logging_using_cloudtrail"></a>

O CloudFront é integrado ao [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html), um serviço que fornece um registro das ações realizadas por um usuário, um perfil ou um AWS service (Serviço da AWS). O CloudTrail captura todas as chamadas de API para o CloudFront como eventos. As chamadas capturadas incluem as chamadas do console do CloudFront e as chamadas de código para as operações de API do CloudFront. Ao fazer uso das informações coletadas pelo CloudTrail, é possível determinar a solicitação feita ao CloudFront, o endereço IP no qual a solicitação foi feita, quando a solicitação foi feita e detalhes adicionais.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar o seguinte:
+ Se a solicitação foi feita com credenciais de usuário raiz ou credenciais de usuário.
+ Se a solicitação foi feita em nome de um usuário do Centro de Identidade do IAM.
+ Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.
+ Se a solicitação foi feita por outro AWS service (Serviço da AWS).

Quando a Conta da AWS é criada, o CloudTrail torna-se ativo nela e você tem acesso automático ao **Histórico de eventos** do CloudTrail. O **Histórico de eventos** do CloudTrail fornece um registro visualizável, pesquisável, baixável e imutável dos últimos 90 dias de eventos de gerenciamento gravados em uma Região da AWS. Para obter mais informações, consulte [Trabalhar com histórico de eventos do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) no *Guia do usuário do AWS CloudTrail*. Não há cobranças do CloudTrail pela visualização do **Histórico de eventos**.

Para obter um registro contínuo de eventos em sua Conta da AWS nos últimos 90 dias, crie uma trilha ou um armazenamento de dados de eventos do [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html).

**Trilhas do CloudTrail**  
Uma *trilha* permite que o CloudTrail entregue arquivos de log a um bucket do Amazon S3. As trilhas criadas usando o Console de gerenciamento da AWS são de várias regiões. Só é possível criar uma trilha de região única ou de várias regiões usando a AWS CLI. Criar uma trilha de várias regiões é uma prática recomendada, pois você captura atividades em todas as Regiões da AWS da conta. Ao criar uma trilha de região única, é possível visualizar somente os eventos registrados na Região da AWS da trilha. Para obter mais informações sobre trilhas, consulte [Criar uma trilha para a Conta da AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) e [Criar uma trilha para uma organização](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html) no *Guia do usuário do AWS CloudTrail*.  
Uma cópia dos eventos de gerenciamento em andamento pode ser entregue no bucket do Amazon S3 sem nenhum custo via CloudTrail com a criação de uma trilha; no entanto, há cobranças de armazenamento do Amazon S3. Para obter mais informações sobre os preços do CloudTrail, consulte [Preços do AWS CloudTrail](https://aws.amazon.com/cloudtrail/pricing/). Para receber informações sobre a definição de preços do Amazon S3, consulte [Definição de preços do Amazon S3](https://aws.amazon.com/s3/pricing/).

**Armazenamentos de dados de eventos do CloudTrail Lake**  
O *CloudTrail Lake* permite executar consultas baseadas em SQL nos eventos. O CloudTrail Lake converte eventos existentes em formato JSON baseado em linhas para o formato [Apache ORC](https://orc.apache.org/). O ORC é um formato colunar de armazenamento otimizado para recuperação rápida de dados. Os eventos são agregados em *armazenamentos de dados de eventos*, que são coleções imutáveis de eventos baseados nos critérios selecionados com a aplicação de [seletores de eventos avançados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors). Os seletores que aplicados a um armazenamento de dados de eventos controlam quais eventos persistem e estão disponíveis para consulta. Para obter mais informações sobre o CloudTrail Lake, consulte [Trabalhar com o AWS CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html), no *Guia do usuário do AWS CloudTrail*.  
Os armazenamentos de dados de eventos e consultas do CloudTrail Lake incorrem em custos. Ao criar um armazenamento de dados de eventos, você escolhe a [opção de preço](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option) que deseja usar para ele. A opção de preço determina o custo para a ingestão e para o armazenamento de eventos, e o período de retenção padrão e máximo para o armazenamento de dados de eventos. Para saber mais sobre os preços do CloudTrail, consulte [Preços do AWS CloudTrail](https://aws.amazon.com/cloudtrail/pricing/).

**nota**  
O CloudFront é um serviço global. O CloudTrail registra eventos do CloudFront na região Leste dos EUA (Norte da Virgínia). Para ter mais informações, consulte [Eventos de serviços globais](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-global-service-events) no *Guia do usuário do AWS CloudTrail*.  
Se você usar credenciais de segurança temporárias usando o AWS Security Token Service, as chamadas para endpoints regionais, como `us-west-2`, serão registradas no CloudTrail em sua região apropriada.   
Para ter mais informações sobre endpoints do Amazon CloudFront, consulte [Endpoints e cotas do CloudFront](https://docs.aws.amazon.com/general/latest/gr/cf_region.html) na *Referência geral da AWS*.

## Eventos de dados do CloudFront no CloudTrail
<a name="cloudtrail-data-events"></a>

Os [eventos de dados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) fornecem informações sobre as operações de recursos realizadas em um recurso (por exemplo, leitura ou gravação em uma distribuição do CloudFront). Também são conhecidas como operações de plano de dados. Os eventos de dados costumam ser atividades de alto volume. Por padrão, o CloudTrail não registra eventos de dados em log. O **Histórico de eventos** do CloudTrail não registra eventos de dados.

Há cobranças adicionais para eventos de dados. Para saber mais sobre os preços do CloudTrail, consulte [Preços do AWS CloudTrail](https://aws.amazon.com/cloudtrail/pricing/).

É possível registrar logs de eventos de dados para os tipos de recursos do CloudFront usando o console do CloudTrail, a AWS CLI ou operações da API do CloudTrail. Para saber mais sobre como registrar eventos de dados em log, consulte [Registrar eventos de dados com o Console de gerenciamento da AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) e [Registrar eventos de dados com a AWS Command Line Interface](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI) no *Guia do usuário do AWS CloudTrail*.

A tabela a seguir lista o tipo de recurso do CloudFront para o qual você pode registrar eventos de dados em log. A coluna **Tipo de evento de dados (console)** mostra o valor a ser escolhido na lista **Tipo de evento de dados** no console do CloudTrail. A coluna do valor **resources.type** mostra o valor de `resources.type` que você especificaria ao configurar seletores de eventos avançados usando a AWS CLI ou as APIs do CloudTrail. A coluna **APIs de dados registradas no CloudTrail** mostra as chamadas de API registradas no CloudTrail para o tipo de recurso. 


| Tipo de evento de dados (console) | valor resources.type | APIs de dados registradas no CloudTrail | 
| --- | --- | --- | 
| KeyValueStore do CloudFront |  AWS::CloudFront::KeyValueStore  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonCloudFront/latest/DeveloperGuide/logging_using_cloudtrail.html)  | 

É possível configurar seletores de eventos avançados para filtrar os campos `eventName`, `readOnly` e `resources.ARN` para registrar em log somente os eventos que são importantes para você. Para saber mais sobre esses campos, consulte [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) na *Referência de API do AWS CloudTrail*.

## Eventos de gerenciamento do CloudFront no CloudTrail
<a name="cloudtrail-management-events"></a>

Os [eventos de gerenciamento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) fornecem informações sobre operações de gerenciamento executadas em recursos na Conta da AWS. Elas também são conhecidas como operações de ambiente de gerenciamento. Por padrão, o CloudTrail registra eventos de gerenciamento em logs.

O Amazon CloudFront registra em log todas as operações do ambiente de gerenciamento do CloudFront como eventos de gerenciamento. Para ter uma lista das operações do ambiente de gerenciamento do Amazon CloudFront que o CloudFront registra em log no CloudTrail, consulte a [Referência da API do Amazon CloudFront](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_Operations_Amazon_CloudFront.html).

## Exemplos de eventos do CloudFront
<a name="cloudtrail-event-examples"></a>

Um evento representa uma única solicitação de qualquer origem e inclui informações sobre a operação solicitada, a data e a hora da operação da API, os parâmetros de solicitação etc. Os arquivos de log do CloudTrail não são um rastreamento de pilha ordenada de chamadas de API públicas, portanto não são exibidos em uma ordem específica.

**Contents**
+ [

### Exemplo: UpdateDistribution
](#example-cloudfront-service-cloudtrail-log)
+ [

### Exemplo: UpdateKeys
](#example-cloudfront-kvs-cloudtrail-log)

### Exemplo: UpdateDistribution
<a name="example-cloudfront-service-cloudtrail-log"></a>

O exemplo a seguir mostra um evento do CloudTrail que demonstra a operação [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).

Para chamadas para a API do CloudFront, `eventSource` é `cloudfront.amazonaws.com`.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AIDACKCEVSQ6C2EXAMPLE:role-session-name",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/role-session-name",
        "accountId": "111122223333",
        "accessKeyId": "ASIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/Admin",
                "accountId": "111122223333",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2024-02-02T19:23:50Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2024-02-02T19:26:01Z",
    "eventSource": "cloudfront.amazonaws.com",
    "eventName": "UpdateDistribution",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "52.94.133.137",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36",
    "requestParameters": {
        "distributionConfig": {
            "defaultRootObject": "",
            "aliases": {
                "quantity": 3,
                "items": [
                    "alejandro_rosalez.awsps.myinstance.com",
                    "cross-testing.alejandro_rosalez.awsps.myinstance.com",
                    "*.alejandro_rosalez.awsps.myinstance.com"
                ]
            },
            "cacheBehaviors": {
                "quantity": 0,
                "items": []
            },
            "httpVersion": "http2and3",
            "originGroups": {
                "quantity": 0,
                "items": []
            },
            "viewerCertificate": {
                "minimumProtocolVersion": "TLSv1.2_2021",
                "cloudFrontDefaultCertificate": false,
                "aCMCertificateArn": "arn:aws:acm:us-east-1:111122223333:certificate/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
                "sSLSupportMethod": "sni-only"
            },
            "webACLId": "arn:aws:wafv2:us-east-1:111122223333:global/webacl/testing-acl/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
            "customErrorResponses": {
                "quantity": 0,
                "items": []
            },
            "logging": {
                "includeCookies": false,
                "prefix": "",
                "enabled": false,
                "bucket": ""
            },
            "priceClass": "PriceClass_All",
            "restrictions": {
                "geoRestriction": {
                    "restrictionType": "none",
                    "quantity": 0,
                    "items": []
                }
            },
            "isIPV6Enabled": true,
            "callerReference": "1578329170895",
            "continuousDeploymentPolicyId": "",
            "enabled": true,
            "defaultCacheBehavior": {
                "targetOriginId": "d111111abcdef8",
                "minTTL": 0,
                "compress": false,
                "maxTTL": 31536000,
                "functionAssociations": {
                    "quantity": 0,
                    "items": []
                },
                "trustedKeyGroups": {
                    "quantity": 0,
                    "items": [],
                    "enabled": false
                },
                "smoothStreaming": false,
                "fieldLevelEncryptionId": "",
                "defaultTTL": 86400,
                "lambdaFunctionAssociations": {
                    "quantity": 0,
                    "items": []
                },
                "viewerProtocolPolicy": "redirect-to-https",
                "forwardedValues": {
                    "cookies": {"forward": "none"},
                    "queryStringCacheKeys": {
                        "quantity": 0,
                        "items": []
                    },
                    "queryString": false,
                    "headers": {
                        "quantity": 1,
                        "items": ["*"]
                    }
                },
                "trustedSigners": {
                    "items": [],
                    "enabled": false,
                    "quantity": 0
                },
                "allowedMethods": {
                    "quantity": 2,
                    "items": [
                        "HEAD",
                        "GET"
                    ],
                    "cachedMethods": {
                        "quantity": 2,
                        "items": [
                            "HEAD",
                            "GET"
                        ]
                    }
                }
            },
            "staging": false,
            "origins": {
                "quantity": 1,
                "items": [
                    {
                        "originPath": "",
                        "connectionTimeout": 10,
                        "customOriginConfig": {
                            "originReadTimeout": 30,
                            "hTTPSPort": 443,
                            "originProtocolPolicy": "https-only",
                            "originKeepaliveTimeout": 5,
                            "hTTPPort": 80,
                            "originSslProtocols": {
                                "quantity": 3,
                                "items": [
                                    "TLSv1",
                                    "TLSv1.1",
                                    "TLSv1.2"
                                ]
                            }
                        },
                        "id": "d111111abcdef8",
                        "domainName": "d111111abcdef8.cloudfront.net",
                        "connectionAttempts": 3,
                        "customHeaders": {
                            "quantity": 0,
                            "items": []
                        },
                        "originShield": {"enabled": false},
                        "originAccessControlId": ""
                    }
                ]
            },
            "comment": "HIDDEN_DUE_TO_SECURITY_REASONS"
        },
        "id": "EDFDVBD6EXAMPLE",
        "ifMatch": "E1RTLUR9YES76O"
    },
    "responseElements": {
        "distribution": {
            "activeTrustedSigners": {
                "quantity": 0,
                "enabled": false
            },
            "id": "EDFDVBD6EXAMPLE",
            "domainName": "d111111abcdef8.cloudfront.net",
            "distributionConfig": {
                "defaultRootObject": "",
                "aliases": {
                    "quantity": 3,
                    "items": [
                        "alejandro_rosalez.awsps.myinstance.com",
                        "cross-testing.alejandro_rosalez.awsps.myinstance.com",
                        "*.alejandro_rosalez.awsps.myinstance.com"
                    ]
                },
                "cacheBehaviors": {"quantity": 0},
                "httpVersion": "http2and3",
                "originGroups": {"quantity": 0},
                "viewerCertificate": {
                    "minimumProtocolVersion": "TLSv1.2_2021",
                    "cloudFrontDefaultCertificate": false,
                    "aCMCertificateArn": "arn:aws:acm:us-east-1:111122223333:certificate/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
                    "sSLSupportMethod": "sni-only",
                    "certificateSource": "acm",
                    "certificate": "arn:aws:acm:us-east-1:111122223333:certificate/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
                },
                "webACLId": "arn:aws:wafv2:us-east-1:111122223333:global/webacl/testing-acl/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
                "customErrorResponses": {"quantity": 0},
                "logging": {
                    "includeCookies": false,
                    "prefix": "",
                    "enabled": false,
                    "bucket": ""
                },
                "priceClass": "PriceClass_All",
                "restrictions": {
                    "geoRestriction": {
                        "restrictionType": "none",
                        "quantity": 0
                    }
                },
                "isIPV6Enabled": true,
                "callerReference": "1578329170895",
                "continuousDeploymentPolicyId": "",
                "enabled": true,
                "defaultCacheBehavior": {
                    "targetOriginId": "d111111abcdef8",
                    "minTTL": 0,
                    "compress": false,
                    "maxTTL": 31536000,
                    "functionAssociations": {"quantity": 0},
                    "trustedKeyGroups": {
                        "quantity": 0,
                        "enabled": false
                    },
                    "smoothStreaming": false,
                    "fieldLevelEncryptionId": "",
                    "defaultTTL": 86400,
                    "lambdaFunctionAssociations": {"quantity": 0},
                    "viewerProtocolPolicy": "redirect-to-https",
                    "forwardedValues": {
                        "cookies": {"forward": "none"},
                        "queryStringCacheKeys": {"quantity": 0},
                        "queryString": false,
                        "headers": {
                            "quantity": 1,
                            "items": ["*"]
                        }
                    },
                    "trustedSigners": {
                        "enabled": false,
                        "quantity": 0
                    },
                    "allowedMethods": {
                        "quantity": 2,
                        "items": [
                            "HEAD",
                            "GET"
                        ],
                        "cachedMethods": {
                            "quantity": 2,
                            "items": [
                                "HEAD",
                                "GET"
                            ]
                        }
                    }
                },
                "staging": false,
                "origins": {
                    "quantity": 1,
                    "items": [
                        {
                            "originPath": "",
                            "connectionTimeout": 10,
                            "customOriginConfig": {
                                "originReadTimeout": 30,
                                "hTTPSPort": 443,
                                "originProtocolPolicy": "https-only",
                                "originKeepaliveTimeout": 5,
                                "hTTPPort": 80,
                                "originSslProtocols": {
                                    "quantity": 3,
                                    "items": [
                                        "TLSv1",
                                        "TLSv1.1",
                                        "TLSv1.2"
                                    ]
                                }
                            },
                            "id": "d111111abcdef8",
                            "domainName": "d111111abcdef8.cloudfront.net",
                            "connectionAttempts": 3,
                            "customHeaders": {"quantity": 0},
                            "originShield": {"enabled": false},
                            "originAccessControlId": ""
                        }
                    ]
                },
                "comment": "HIDDEN_DUE_TO_SECURITY_REASONS"
            },
            "aliasICPRecordals": [
                {
                    "cNAME": "alejandro_rosalez.awsps.myinstance.com",
                    "iCPRecordalStatus": "APPROVED"
                },
                {
                    "cNAME": "cross-testing.alejandro_rosalez.awsps.myinstance.com",
                    "iCPRecordalStatus": "APPROVED"
                },
                {
                    "cNAME": "*.alejandro_rosalez.awsps.myinstance.com",
                    "iCPRecordalStatus": "APPROVED"
                }
            ],
            "aRN": "arn:aws:cloudfront::111122223333:distribution/EDFDVBD6EXAMPLE",
            "status": "InProgress",
            "lastModifiedTime": "Feb 2, 2024 7:26:01 PM",
            "activeTrustedKeyGroups": {
                "enabled": false,
                "quantity": 0
            },
            "inProgressInvalidationBatches": 0
        },
        "eTag": "E1YHBLAB2BJY1G"
    },
    "requestID": "4e6b66f9-d548-11e3-a8a9-73e33example",
    "eventID": "5ab02562-0fc5-43d0-b7b6-90293example",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "apiVersion": "2020_05_31",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "cloudfront.amazonaws.com"
    },
    "sessionCredentialFromConsole": "true"
}
```

### Exemplo: UpdateKeys
<a name="example-cloudfront-kvs-cloudtrail-log"></a>

O exemplo a seguir mostra um evento do CloudTrail que demonstra a operação [UpdateKeys](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_UpdateKeys.html).

Para chamadas para a API do KeyValueStore do CloudFront, `eventSource` é `edgekeyvaluestore.amazonaws.com` em vez de `cloudfront.amazonaws.com`.

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AIDACKCEVSQ6C2EXAMPLE:role-session-name",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/role-session-name",
        "accountId": "111122223333",
        "accessKeyId": "ASIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/Admin",
                "accountId": "111122223333",
                "userName": "Admin"
            },
            "attributes": {
                "creationDate": "2023-11-01T23:41:14Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2023-11-01T23:41:28Z",
    "eventSource": "edgekeyvaluestore.amazonaws.com",
    "eventName": "UpdateKeys",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "3.235.183.252",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36,
    "requestParameters": {
        "kvsARN": "arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "ifMatch": "KV3O6B1CX531EBP",
        "deletes": [
            {"key": "key1"}
        ]
    },
    "responseElements": {
        "itemCount": 0,
        "totalSizeInBytes": 0,
        "eTag": "KVDC9VEVZ71ZGO"
    },
    "requestID": "5ccf104c-acce-4ea1-b7fc-73e33example",
    "eventID": "a0b1b5c7-906c-439d-9925-90293example",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::CloudFront::KeyValueStore",
            "ARN": "arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": false,
    "recipientAccountId": "111122223333",
    "eventCategory": "Data",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "111122223333.cloudfront-kvs.global.api.aws"
    }
}
```

Para obter informações sobre o conteúdo dos registros do CloudTrail, consulte [Conteúdo dos registros do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html) no *Guia do usuário do AWS CloudTrail*.

# Monitorar as alterações de configuração com o AWS Config
<a name="TrackingChanges"></a>

Para registrar e avaliar as configurações dos recursos da AWS, é possível usar o AWS Config, que oferece uma visão detalhada da configuração das distribuições. Isso inclui como os recursos estão relacionados entre si e como eles foram configurados no passado, para que você possa analisar as alterações no decorrer do tempo.

Também é possível usar o AWS Config para registrar alterações nas configurações de distribuição do CloudFront. É possível capturar alterações em estados de distribuição, classes de preço, origens, configurações de restrição geográfica e configurações do Lambda@Edge.

**nota**  
O AWS Config não registra tags de chave-valor para distribuições de streaming do CloudFront.

**Contents**
+ [

## Configurar o AWS Config com o CloudFront
](#TrackingChangesSettings)
+ [

## Visualizar o histórico de configuração do CloudFront
](#TrackingChangesGetHistory)
+ [

## Avaliar as configurações do CloudFront com o AWS Config Rules
](#cloudfront-config-rules)

## Configurar o AWS Config com o CloudFront
<a name="TrackingChangesSettings"></a>

Ao configurar o AWS Config, é possível optar por gravar todos os recursos da AWS compatíveis ou somente os recursos especificados, como gravar apenas as alterações do CloudFront. Consulte uma lista de recursos compatíveis do CloudFront na seção [Amazon CloudFront](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#amazoncloudfront) do tópico “Supported Resource Types” no *Guia do desenvolvedor do AWS Config*. 

**Observações**  
Para monitorar as alterações de configuração na distribuição do CloudFront, faça login no console do CloudFront na Região da AWS Leste dos EUA (Norte da Virgínia).
Pode haver um atraso na gravação de recursos com o AWS Config. O AWS Config registra recursos somente depois que descobre os recursos.

------
#### [ Console ]<a name="HowToSetUpAWSConfigProcedure"></a>

**Como configurar o AWS Config com o CloudFront**

1. Faça login no Console de gerenciamento da AWS e abra o [console do AWS Config](https://console.aws.amazon.com/config/home).

1. Escolha **Get Started Now**.

1. Na página **Settings**, para **Resource types to record**, especifique os tipos de recursos da AWS que você deseja que o AWS Config registre. Para registrar somente mudanças do CloudFront, escolha **Specific types (Tipos específicos)** e, em **CloudFront**, escolha a distribuição ou a distribuição em streaming da qual você quer acompanhar as alterações.

   Para adicionar ou alterar as distribuições a serem acompanhadas, escolha **Settings** à esquerda, depois de concluir sua configuração inicial.

1. Especifique as opções adicionais necessárias para o AWS Config. Configure uma notificação, especifique um local para as informações de configuração e adicione regras para avaliar os tipos de recursos.

Para obter mais informações, consulte [Configuração do AWS Config com o console](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html) no *Guia do desenvolvedor do AWS Config*.

------
#### [ AWS CLI ]

Para configurar o AWS Config com o CloudFront usando a AWS CLI, consulte [Setting up AWS Config with the AWS CLI](https://docs.aws.amazon.com/config/latest/developerguide/gs-cli.html) no *Guia do desenvolvedor do AWS Config*.

------
#### [ AWS Config API ]

Para configurar o AWS Config com o CloudFront usando a API do AWS Config consulte a operação de API [StartConfigurationRecorder](https://docs.aws.amazon.com/config/latest/APIReference/API_StartConfigurationRecorder.html) na *Referência de API do AWS Config*.

------

## Visualizar o histórico de configuração do CloudFront
<a name="TrackingChangesGetHistory"></a>

Depois que o AWS Config começa a gravar as alterações de configuração nas suas distribuições, é possível exibir o histórico de configuração de qualquer distribuição que você tenha configurado para o CloudFront.

É possível visualizar os históricos de configuração das maneiras indicadas a seguir.

------
#### [ Console ]

Para cada recurso gravado, é possível visualizar uma página de linha do tempo que fornece o histórico com detalhes da configuração. Para visualizar essa página, escolha o ícone cinza na coluna **Config Timeline (Configurar linha de tempo)** da página **Hosts dedicados**.

Para obter mais informações, consulte [Visualização de detalhes de configuração do console do AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html) no *Guia do desenvolvedor do AWS Config*.

------
#### [ AWS CLI ]

Consulte uma lista de todas as distribuições executando o comando [ list-discovered-resources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/list-discovered-resources.html), conforme mostrado no exemplo a seguir.

```
aws configservice list-discovered-resources --resource-type AWS::CloudFront::Distribution
```

Para ver os detalhes da configuração da distribuição de um intervalo de tempo específico, execute o comando [get-resource-config-history](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-resource-config-history.html).

Para obter mais informações, consulte [Visualização de detalhes de configuração usando a CLI](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html) no *Guia do desenvolvedor do AWS Config*.

------
#### [ AWS Config API ]

Para consultar uma lista de todas as suas distribuições, use a operação de API [ListDiscoveredResources](https://docs.aws.amazon.com/config/latest/APIReference/API_ListDiscoveredResources.html).

Para consultar os detalhes de configuração de uma distribuição para um intervalo de tempo específico, use a operação de API [GetResourceConfigHistory](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceConfigHistory.html). Para obter mais informações, consulte a [Referência da API do AWS Config](https://docs.aws.amazon.com/config/latest/APIReference/).

------

## Avaliar as configurações do CloudFront com o AWS Config Rules
<a name="cloudfront-config-rules"></a>

É possível avaliar as configurações em relação às configurações desejadas com o AWS Config Rules. Por exemplo, o AWS Config Rules ajuda você a avaliar se os recursos do CloudFront estão em conformidade com as práticas recomendadas comuns de segurança. É possível escolher regras gerenciadas, como política do visualizador HTTPS, SNI habilitada, OAC habilitado, failover de origem habilitado, ACL da web do AWS WAF ou políticas de recursos do AWS Shield Advanced a serem acionadas quando a configuração é alterada.

As regras gerenciadas podem realizar avaliações periodicamente, na frequência escolhida. O AWS Firewall Manager depende do AWS Config para alertas e correções automáticas. Para ter mais informações, consulte [Evaluating Resources with AWS Config Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) e [List of AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) no *Guia do desenvolvedor do AWS Config*.