Configurare la registrazione standard (v2) - Amazon CloudFront

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurare la registrazione standard (v2)

È possibile abilitare la registrazione standard quando si crea o si aggiorna una distribuzione. La registrazione standard (v2) include le seguenti funzionalità:

Se utilizzi Amazon S3, hai le seguenti funzionalità opzionali:

  • Invia i log a opt-in. Regioni AWS

  • Organizza i tuoi log con il partizionamento.

  • Abilita i nomi di file compatibili con Hive.

Per ulteriori informazioni, consulta Invio di log ad Amazon S3.

Per iniziare con la registrazione standard, completa i seguenti passaggi:

  1. Imposta le autorizzazioni richieste per la persona specificata Servizio AWS che riceverà i tuoi registri.

  2. Configura la registrazione standard dalla CloudFront console o dall'API. CloudWatch

  3. Visualizza i tuoi registri di accesso.

Nota
  • Se abiliti la registrazione standard (v2), ciò non influisce né modifica la registrazione standard (precedente). È possibile continuare a utilizzare la registrazione standard (legacy) per la distribuzione, oltre a utilizzare la registrazione standard (v2). Per ulteriori informazioni, consulta Configurazione della registrazione standard (legacy).

  • Se hai già abilitato la registrazione standard (legacy) e desideri abilitare la registrazione standard (v2) su Amazon S3, ti consigliamo di specificare un bucket Amazon S3 diverso o di utilizzare un percorso separato nello stesso bucket (ad esempio, utilizzare un prefisso di log o il partizionamento). Questo ti aiuta a tenere traccia di quali file di log sono associati a quale distribuzione e impedisce che i file di log si sovrascrivano a vicenda.

Autorizzazioni

CloudFront utilizza i CloudWatch log forniti per fornire i log di accesso. A tale scopo, sono necessarie le autorizzazioni necessarie per consentire Servizio AWS la consegna dei log.

Per visualizzare le autorizzazioni richieste per ogni destinazione di registrazione, scegli uno dei seguenti argomenti nella Amazon CloudWatch Logs User Guide.

Dopo aver impostato le autorizzazioni per la destinazione di registrazione, puoi abilitare la registrazione standard per la tua distribuzione.

Nota

CloudFront supporta l'invio di registri di accesso a diversi account Account AWS (più account). Per abilitare la consegna tra account, entrambi gli account (il tuo account e l'account ricevente) devono disporre delle autorizzazioni richieste. Per ulteriori informazioni, consulta la Abilita la registrazione standard per la consegna tra più account sezione o l'esempio di consegna tra account nella Amazon CloudWatch Logs User Guide.

Abilita la registrazione standard

Per abilitare la registrazione standard, puoi utilizzare la CloudFront console o l' CloudWatch API.

Abilita la registrazione standard (console) CloudFront

Per abilitare la registrazione standard per una CloudFront distribuzione (console)
  1. Usa la CloudFront console per aggiornare una distribuzione esistente.

  2. Scegli la scheda Logging (Utilizzo log).

  3. Scegli Aggiungi, quindi seleziona il servizio per ricevere i log:

    • CloudWatch Registri

    • Firehose

    • Amazon S3

  4. Per la destinazione, seleziona la risorsa per il tuo servizio. Se non hai ancora creato la risorsa, puoi scegliere Crea o consultare la seguente documentazione.

    • Per CloudWatch Log, inserisci il nome del gruppo di log.

    • Per Firehose, accedi allo stream di distribuzione Firehose.

    • Per Amazon S3, inserisci il nome del bucket.

      Suggerimento

      Per specificare un prefisso, inserisci il prefisso dopo il nome del bucket, ad esempio. amzn-s3-demo-bucket.s3.amazonaws.com/MyLogPrefix Se non specifichi un prefisso, ne CloudFront aggiungerà automaticamente uno. Per ulteriori informazioni, consulta Invio di log ad Amazon S3.

  5. Per Impostazioni aggiuntive, facoltativo, puoi specificare le seguenti opzioni:

    1. Per Selezione dei campi, seleziona i nomi dei campi di registro che desideri consegnare alla tua destinazione. Puoi selezionare i campi del registro di accesso e un sottoinsieme di campi di registro in tempo reale.

    2. (Solo Amazon S3) Per il partizionamento, specifica il percorso per partizionare i dati del file di registro.

    3. (Solo Amazon S3) Per il formato di file compatibile con Hive, puoi selezionare la casella di controllo per utilizzare percorsi S3 compatibili con Hive. Questo aiuta a semplificare il caricamento di nuovi dati negli strumenti compatibili con Hive.

    4. Per Formato di output, specifica il formato preferito.

      Nota

      Se scegliete Parquet, questa opzione comporta dei CloudWatch costi per la conversione dei log di accesso in Apache Parquet. Per ulteriori informazioni, consulta la sezione Vided Logs per i prezzi. CloudWatch

    5. Per Field Delimiter, specifica come separare i campi di registro.

  6. Completa i passaggi per aggiornare o creare la tua distribuzione.

  7. Per aggiungere un'altra destinazione, ripeti i passaggi da 3 a 6.

  8. Dalla pagina Registri, verifica che lo stato standard dei log sia Abilitato accanto alla distribuzione.

  9. (Facoltativo) Per abilitare la registrazione dei cookie, scegli Gestione, Impostazioni e attiva la registrazione dei cookie, quindi scegli Salva modifiche.

    Suggerimento

    La registrazione dei cookie è un'impostazione globale che si applica a tutte le registrazioni standard per la tua distribuzione. Non puoi ignorare questa impostazione per destinazioni di consegna separate.

Per ulteriori informazioni sui campi standard di registrazione, consegna e registro, consulta. Riferimento di registrazione standard

Abilita la registrazione standard (API) CloudWatch

Puoi anche utilizzare l' CloudWatch API per abilitare la registrazione standard per le tue distribuzioni.

Note
  • Quando chiami l' CloudWatch API per abilitare la registrazione standard, devi specificare la regione Stati Uniti orientali (Virginia settentrionale) (us-east-1), anche se desideri abilitare la consegna tra regioni verso un'altra destinazione. Ad esempio, se desideri inviare i log di accesso a un bucket S3 nella regione Europa (Irlanda) (eu-west-1), utilizza l' CloudWatch API nella regione. us-east-1

  • Esiste un'opzione aggiuntiva per includere i cookie nella registrazione standard. Nell' CloudFront API, questo è il IncludeCookies parametro. Se configuri la registrazione degli accessi utilizzando l' CloudWatch API e specifichi che desideri includere i cookie, devi utilizzare la CloudFront console o l' CloudFront API per aggiornare la distribuzione in modo da includere i cookie. In caso contrario, non è CloudFront possibile inviare i cookie alla destinazione del registro. Per ulteriori informazioni, consulta Registrazione dei cookie.

Per abilitare la registrazione standard per una distribuzione (CloudWatch API)
  1. Dopo aver creato una distribuzione, ottieni l'Amazon Resource Name (ARN).

    Puoi trovare l'ARN dalla pagina Distribuzione della CloudFront console oppure puoi utilizzare l'operazione GetDistributionAPI. Un ARN di distribuzione segue il formato: arn:aws:cloudfront::123456789012:distribution/d111111abcdef8

  2. Quindi, utilizzate l'operazione CloudWatch PutDeliverySourceAPI per creare una fonte di consegna per la distribuzione.

    1. Inserisci un nome per la fonte di consegna.

    2. Passa resourceArn la distribuzione.

    3. PerlogType, specifica ACCESS_LOGS come tipo di log che vengono raccolti.

    4. Esempio Comando di esempio AWS CLI put-delivery-source

      Di seguito è riportato un esempio di configurazione di una fonte di consegna per una distribuzione.

      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" } }
  3. Utilizza l'operazione PutDeliveryDestinationAPI per configurare dove archiviare i log.

    1. PerdestinationResourceArn, specificare l'ARN della destinazione. Può essere un gruppo di log CloudWatch Logs, un flusso di distribuzione Firehose o un bucket Amazon S3.

    2. PeroutputFormat, specifica il formato di output per i tuoi log.

    3. Esempio Comando di esempio AWS CLI put-delivery-destination

      Di seguito è riportato un esempio di configurazione di una destinazione di consegna in un bucket 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 stai distribuendo log su più account, devi utilizzare l'operazione PutDeliveryDestinationPolicyAPI per assegnare una policy AWS Identity and Access Management (IAM) all'account di destinazione. La policy IAM consente la consegna da un account a un altro account.

  4. Utilizza l'operazione CreateDeliveryAPI per collegare la fonte di consegna alla destinazione creata nei passaggi precedenti. Questa operazione API associa l'origine di consegna alla destinazione finale.

    1. PerdeliverySourceName, specifica il nome della fonte.

    2. PerdeliveryDestinationArn, specificare l'ARN per la destinazione di consegna.

    3. PerfieldDelimiter, specifica la stringa per separare ogni campo del registro.

    4. PerrecordFields, specifica i campi di registro che desideri.

    5. Se usi S3, specifica se usare enableHiveCompatiblePath esuffixPath.

    Esempio di comando AWS CLI create-delivery

    Di seguito è riportato un esempio di creazione di una consegna.

    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": "" }
  5. Dalla CloudFront console, nella pagina Registri, verifica che lo stato standard dei log sia Abilitato accanto alla distribuzione.

    Per ulteriori informazioni sulla consegna dei log standard e sui campi di registro, consulta. Riferimento di registrazione standard

Nota

Per abilitare la registrazione standard (v2) per l' CloudFront utilizzo AWS CloudFormation, è possibile utilizzare le seguenti CloudWatch proprietà Logs:

ResourceArnè la CloudFront distribuzione e LogType deve essere ACCESS_LOGS il tipo di registro supportato.

Abilita la registrazione standard per la consegna tra più account

Se abiliti la registrazione standard per il tuo account Account AWS e desideri inviare i log di accesso a un altro account, assicurati di configurare correttamente l'account di origine e l'account di destinazione. L'account di origine con la CloudFront distribuzione invia i propri log di accesso all'account di destinazione.

In questa procedura di esempio, l'account di origine invia i log di accesso a un bucket Amazon S3 nell'account di destinazione (111111111111). 222222222222 Per inviare i log di accesso a un bucket Amazon S3 nell'account di destinazione, usa. AWS CLI

Configura l'account di destinazione

Per l'account di destinazione, completare la procedura seguente.

Per configurare l'account di destinazione
  1. Per creare la destinazione di consegna dei log, puoi inserire il seguente AWS CLI comando. Questo esempio utilizza la MyLogPrefix stringa per creare un prefisso per i registri di accesso.

    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 specifichi un bucket S3 senza prefisso, lo CloudFront aggiungerà automaticamente AWSLogs/<account-ID>/CloudFront come prefisso visualizzato nella destinazione di consegna S3. suffixPath Per ulteriori informazioni, consulta S3. DeliveryConfiguration

  2. Aggiungi la politica delle risorse per la destinazione di consegna dei log per consentire all'account di origine di creare una consegna dei log.

    Nella seguente politica, sostituisci 111111111111 con l'ID dell'account di origine e specifica l'ARN della destinazione di consegna dall'output del passaggio 1.

    { "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" } ] }
  3. Salvate il file, ad esempiodeliverypolicy.json.

  4. Per allegare la politica precedente alla destinazione di consegna, inserisci il seguente AWS CLI comando.

    aws logs put-delivery-destination-policy --delivery-destination-name cloudfront-delivery-destination --delivery-destination-policy file://deliverypolicy.json
  5. Aggiungi la seguente dichiarazione alla policy del bucket Amazon S3 di destinazione, sostituendo l'ARN della risorsa e l'ID dell'account di origine. Questa politica consente al responsabile del delivery.logs.amazonaws.com servizio di eseguire l'azione. 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:*"} } }
  6. Se lo utilizzi AWS KMS per il tuo bucket, aggiungi la seguente dichiarazione alla politica chiave KMS per concedere le autorizzazioni al responsabile del delivery.logs.amazonaws.com servizio.

    { "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:*"} } }

Configura l'account di origine

Dopo aver configurato l'account di destinazione, segui questa procedura per creare la fonte di consegna e abilitare la registrazione per la distribuzione nell'account di origine.

Per configurare l'account di origine
  1. Crea una fonte di consegna per la registrazione CloudFront standard in modo da poter inviare i file di registro a CloudWatch Logs.

    È possibile immettere il seguente AWS CLI comando, sostituendo il nome e l'ARN della distribuzione.

    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" } }
  2. Crea una consegna per mappare l'origine di consegna dei log dell'account di origine e la destinazione di consegna dei log dell'account di destinazione.

    Nel AWS CLI comando seguente, specificare l'ARN della destinazione di consegna dall'output nel Passaggio 1: Configurazione dell'account di destinazione.

    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" } }
  3. Verifica che la consegna su più account sia avvenuta correttamente.

    1. Dall'sourceaccount, accedi alla CloudFront console e scegli la distribuzione. Nella scheda Registrazione, sotto Tipo, vedrai una voce creata per la consegna dei log su più account S3.

    2. Dall'destinationaccount, accedi alla console Amazon S3 e scegli il tuo bucket Amazon S3. Vedrai il prefisso MyLogPrefix nel nome del bucket e tutti i log di accesso forniti a quella cartella.

Formato del file di output

A seconda della destinazione di consegna scelta, è possibile specificare uno dei seguenti formati per i file di registro:

  • JSON

  • Semplice

  • w3c

  • Raw

  • Parquet (solo Amazon S3)

Nota

Puoi impostare il formato di output solo quando crei per la prima volta la destinazione di consegna. Questo non può essere aggiornato in un secondo momento. Per modificare il formato di output, elimina la spedizione e creane un'altra.

Per ulteriori informazioni, PutDeliveryDestinationconsulta Amazon CloudWatch Logs API Reference.

Modifica le impostazioni di registrazione standard

È possibile abilitare o disabilitare la registrazione e aggiornare altre impostazioni di registro utilizzando la CloudFront console o l' CloudWatch API. Le modifiche apportate alle impostazioni di registrazione diventano effettive entro 12 ore.

Per ulteriori informazioni, consulta i seguenti argomenti:

Accedi ai campi di registro

È possibile selezionare gli stessi campi di registro supportati dalla registrazione standard (precedente). Per ulteriori informazioni, consulta i campi dei file di registro.

Inoltre, è possibile selezionare i seguenti campi di registro in tempo reale.

  1. timestamp(ms)— Timestamp in millisecondi.

  2. origin-fbl— Il numero di secondi di latenza del primo byte tra l'origine e l'origine. CloudFront

  3. origin-lbl— Il numero di secondi di latenza dell'ultimo byte tra e l'origine. CloudFront

  4. asn— Il numero di sistema autonomo (ASN) del visualizzatore.

  5. c-country— Un codice del paese che rappresenta la posizione geografica dello spettatore, determinata dall'indirizzo IP dello spettatore. Per un elenco dei codici paese, vedere ISO 3166-1 alpha-2.

  6. cache-behavior-path-pattern— Il modello di percorso che identifica il comportamento della cache corrispondente alla richiesta del visualizzatore.

Invia log a Logs CloudWatch

Per inviare log a CloudWatch Logs, create o utilizzate un gruppo di log Logs esistente CloudWatch . Per ulteriori informazioni sulla configurazione di un gruppo di log CloudWatch Logs, vedere Working with Log Groups and Log Streams.

Dopo aver creato il gruppo di log, è necessario disporre delle autorizzazioni necessarie per consentire la registrazione standard. Per ulteriori informazioni sulle autorizzazioni richieste, consulta Logs sent to Logs nella Amazon CloudWatch CloudWatch Logs User Guide.

Note

Esempio di log di accesso inviato a Logs CloudWatch

{ "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" }

Inviare i log a Firehose

Per inviare i log a Firehose, create o utilizzate un flusso di distribuzione Firehose esistente.

Per informazioni sulla creazione del flusso di distribuzione, consulta Creazione di un flusso di distribuzione Amazon Data Firehose.

Dopo aver creato il flusso di consegna, devi disporre delle autorizzazioni necessarie per consentire la registrazione standard. Per ulteriori informazioni, consulta Logs sent to Firehose nella CloudWatch Amazon Logs User Guide.

Nota

Quando specificate il nome del flusso Firehose, utilizzate solo il pattern regex. [\w-] Per ulteriori informazioni, consulta il funzionamento dell'PutDeliveryDestinationAPI nell'Amazon CloudWatch Logs API Reference.

Esempio di log di accesso inviato a Firehose

{"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"}

Invio di log ad Amazon S3

Per inviare i log di accesso ad Amazon S3, crea o usa un bucket S3 esistente. Quando abiliti l'accesso, specifica il nome del CloudFront bucket. Per informazioni sulla creazione di un bucket, consulta Create a bucket nella Amazon Simple Storage Service User Guide.

Dopo aver creato il bucket, devi disporre delle autorizzazioni necessarie per consentire la registrazione standard. Per ulteriori informazioni, consulta Logs sent to Amazon S3 nella CloudWatch Amazon Logs User Guide.

Nota

Se hai già abilitato la registrazione standard (legacy) e desideri abilitare la registrazione standard (v2) su Amazon S3, ti consigliamo di specificare un bucket Amazon S3 diverso o di utilizzare un percorso separato nello stesso bucket (ad esempio, utilizzare un prefisso di log o il partizionamento). Questo ti aiuta a tenere traccia di quali file di log sono associati a quale distribuzione e impedisce che i file di log si sovrascrivano a vicenda.

Specificate un bucket S3

Quando specifichi un bucket S3 come destinazione di consegna, tieni presente quanto segue.

Il nome del bucket S3 può utilizzare solo il modello regex. [\w-] Per ulteriori informazioni, consulta il funzionamento dell'PutDeliveryDestinationAPI nell'Amazon CloudWatch Logs API Reference.

Se hai specificato un prefisso per il tuo bucket S3, i log vengono visualizzati in quel percorso. Se non specifichi un prefisso, CloudFront aggiungerà automaticamente il prefisso per te. AWSLogs/{account-id}/CloudFront

Per ulteriori informazioni, consulta Percorsi di esempio per accedere ai log.

Partizionamento

Puoi utilizzare il partizionamento per organizzare i log di accesso quando CloudFront li invii al bucket S3. Questo ti aiuta a organizzare e localizzare i log di accesso in base al percorso che desideri.

È possibile utilizzare le seguenti variabili per creare un percorso di cartella.

  • {DistributionId} o {distributionid}

  • {yyyy}

  • {MM}

  • {dd}

  • {HH}

  • {accountid}

È possibile utilizzare un numero qualsiasi di variabili e specificare i nomi delle cartelle nel percorso. CloudFrontquindi utilizza questo percorso per creare una struttura di cartelle per te nel bucket S3.

Esempi
  • my_distribution_log_data/{DistributionId}/logs

  • /cloudfront/{DistributionId}/my_distribution_log_data/{yyyy}/{MM}/{dd}/{HH}/logs

Nota

È possibile utilizzare entrambe le variabili per l'ID di distribuzione nel percorso del suffisso. Tuttavia, se si inviano i log di accesso a AWS Glue, è necessario utilizzare la {distributionid} variabile perché AWS Glue prevede che i nomi delle partizioni siano in minuscolo. Aggiorna la configurazione di registro esistente per sostituirla con. CloudFront {DistributionId} {distributionid}

Formato del nome del file compatibile con Hive

Puoi utilizzare questa opzione in modo che gli oggetti S3 che contengono i log di accesso forniti utilizzino una struttura di prefissi che consenta l'integrazione con Apache Hive. Per ulteriori informazioni, consulta l'operazione API CreateDelivery.

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

Per ulteriori informazioni sul partizionamento e sulle opzioni compatibili con Hive, consulta l'elemento S3 DeliveryConfiguration nell'Amazon Logs API Reference. CloudWatch

Percorsi di esempio per accedere ai log

Quando specifichi un bucket S3 come destinazione, puoi utilizzare le seguenti opzioni per creare il percorso dei tuoi log di accesso:

  • Un bucket Amazon S3, con o senza prefisso

  • Partizionamento, utilizzando una variabile CloudFront fornita o inserendo la propria

  • Attivazione dell'opzione compatibile con Hive

Le tabelle seguenti mostrano come vengono visualizzati i log di accesso nel bucket, a seconda delle opzioni scelte.

Bucket Amazon S3 con prefisso

Nome del bucket Amazon S3 Partizione specificata nel percorso del suffisso Percorso del suffisso aggiornato Compatibile con Hive abilitato? I registri di accesso vengono inviati a
amzn-s3-demo-bucket/MyLogPrefix Nessuno Nessuno No amzn-s3-demo-bucket/MyLogPrefix/
amzn-s3-demo-bucket/MyLogPrefix myFolderA/ myFolderA/ No amzn-s3-demo-bucket/MyLogPrefix/myFolderA/
amzn-s3-demo-bucket/MyLogPrefix myFolderA/{yyyy} myFolderA/{yyyy} amzn-s3-demo-bucket/MyLogPrefix/myFolderA/year=2025

Bucket Amazon S3 senza prefisso

Nome del bucket Amazon S3 Partizione specificata nel percorso del suffisso Percorso del suffisso aggiornato Compatibile con Hive abilitato? I registri di accesso vengono inviati a
amzn-s3-demo-bucket Nessuno AWSLogs/{account-id}/CloudFront/ No amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/
amzn-s3-demo-bucket myFolderA/ AWSLogs/{account-id}/CloudFront/myFolderA/ No amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/myFolderA/
amzn-s3-demo-bucket myFolderA/ AWSLogs/{account-id}/CloudFront/myFolderA/ amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/
amzn-s3-demo-bucket myFolderA/{yyyy} AWSLogs/{account-id}/CloudFront/myFolderA/{yyyy} amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/year=2025

Account AWS ID come partizione

Nome del bucket Amazon S3 Partizione specificata nel percorso del suffisso Percorso del suffisso aggiornato Compatibile con Hive abilitato? I registri di accesso vengono inviati a
amzn-s3-demo-bucket Nessuno AWSLogs/{account-id}/CloudFront/ amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/
amzn-s3-demo-bucket myFolderA/{accountid} AWSLogs/{account-id}/CloudFront/myFolderA/{accountid} amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/accountid=<your-account-ID>
Note
  • La {account-id} variabile è riservata CloudFront a. CloudFrontaggiunge automaticamente questa variabile al percorso del suffisso se specifichi un bucket Amazon S3 senza prefisso. Se i tuoi log sono compatibili con Hive, questa variabile appare come. aws-account-id

  • Puoi usare la {accountid} variabile in modo da CloudFront aggiungere l'ID del tuo account al percorso del suffisso. Se i tuoi log sono compatibili con Hive, questa variabile appare come. accountid

  • Per ulteriori informazioni sul percorso del suffisso, consulta S3. DeliveryConfiguration

Esempio di log di accesso inviato ad Amazon S3

#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

Disattiva la registrazione standard

Puoi disabilitare la registrazione standard per la tua distribuzione se non è più necessaria.

Per disabilitare la registrazione standard
  1. Accedere alla console CloudFront .

  2. Scegli Distribuzione, quindi scegli il tuo ID di distribuzione.

  3. Scegli Registrazione, quindi in Destinazioni di registro standard, seleziona la destinazione.

  4. Scegli Gestisci, quindi scegli Elimina.

  5. Ripeti il passaggio precedente se disponi di più di una registrazione standard.

Nota

Quando elimini la registrazione standard dalla CloudFront console, questa azione elimina solo la consegna e la destinazione di consegna. Non elimina la fonte di consegna dal tuo. Account AWS Per eliminare una fonte di consegna, specifica il nome della fonte di consegna nel aws logs delete-delivery-source --name DeliverySourceName comando. Per ulteriori informazioni, DeleteDeliverySourceconsulta Amazon CloudWatch Logs API Reference.

Risoluzione dei problemi

Utilizza le seguenti informazioni per risolvere i problemi più comuni quando lavori con la registrazione CloudFront standard (v2).

La fonte di consegna esiste già

Quando abiliti la registrazione standard per una distribuzione, crei una fonte di consegna. Puoi quindi utilizzare tale fonte di consegna per creare consegne al tipo di destinazione che desideri: CloudWatch Logs, Firehose, Amazon S3. Attualmente, puoi avere solo una fonte di consegna per distribuzione. Se si tenta di creare un'altra fonte di consegna per la stessa distribuzione, viene visualizzato il seguente messaggio di errore.

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

Per creare un'altra fonte di consegna, elimina prima quella esistente. Per ulteriori informazioni, DeleteDeliverySourceconsulta Amazon CloudWatch Logs API Reference.

Ho cambiato il percorso del suffisso e il bucket Amazon S3 non può ricevere i miei log

Se hai abilitato la registrazione standard (v2) e specifichi un bucket ARN senza prefisso CloudFront , aggiungerà il seguente valore predefinito al percorso del suffisso:. AWSLogs/{account-id}/CloudFront Se utilizzi la CloudFront console o l'operazione UpdateDeliveryConfigurationAPI per specificare un percorso di suffisso diverso, devi aggiornare la policy del bucket Amazon S3 per utilizzare lo stesso percorso.

Esempio: aggiornamento del percorso del suffisso
  1. Il percorso del suffisso predefinito è AWSLogs/{account-id}/CloudFront e lo si sostituisce con. myFolderA

  2. Poiché il nuovo percorso del suffisso è diverso dal percorso specificato nella policy del bucket di Amazon S3, i log di accesso non verranno distribuiti.

  3. Puoi eseguire una delle seguenti operazioni:

    • Aggiorna l'autorizzazione del bucket Amazon S3 da a. amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/* amzn-s3-demo-bucket/myFolderA/*

    • Aggiorna la configurazione di registrazione per utilizzare nuovamente il suffisso predefinito: AWSLogs/{account-id}/CloudFront

Per ulteriori informazioni, consulta Autorizzazioni.

Eliminare i file di registro

CloudFront non elimina automaticamente i file di registro dalla destinazione. Per informazioni sull'eliminazione dei file di registro, consulta i seguenti argomenti:

Amazon S3
CloudWatch Registri
Firehose

Prezzi

CloudFront non addebita alcun costo per l'abilitazione dei log standard. Tuttavia, è possibile che vengano addebitati costi per la consegna, l'inserimento, l'archiviazione o l'accesso, a seconda della destinazione di consegna dei registri selezionata. Per ulteriori informazioni, consulta la pagina dei prezzi di Amazon CloudWatch Logs. In Piano a pagamento, scegli la scheda Registri, quindi in Vending Logs, visualizza le informazioni relative a ciascuna destinazione di consegna.

Per ulteriori informazioni sui prezzi di ciascuna di esse Servizio AWS, consulta i seguenti argomenti:

  • Prezzi di Amazon CloudWatch Logs

  • Prezzi di Amazon Data Firehose

  • Prezzi di Amazon S3

    Nota

    Non sono previsti costi aggiuntivi per la consegna dei log ad Amazon S3, tuttavia sono previsti costi di Amazon S3 per l'archiviazione e l'accesso ai file di log. Se abiliti l'opzione Parquet per convertire i log di accesso in Apache Parquet, questa opzione comporta dei costi. CloudWatch Per ulteriori informazioni, consulta la sezione Vided Logs per i prezzi. CloudWatch