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à:
-
Invia i log di accesso ad Amazon CloudWatch Logs, Amazon Data Firehose e Amazon Simple Storage Service (Amazon S3).
-
Seleziona i campi di log che desideri. Puoi anche selezionare un sottoinsieme di campi di registro in tempo reale.
-
Seleziona formati di file di log di output aggiuntivi.
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:
-
Imposta le autorizzazioni richieste per la persona specificata Servizio AWS che riceverà i tuoi registri.
-
Configura la registrazione standard dalla CloudFront console o dall'API. CloudWatch
-
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.
Indice
Abilita la registrazione standard (console) CloudFront
Per abilitare la registrazione standard per una CloudFront distribuzione (console)
-
Usa la CloudFront console per aggiornare una distribuzione esistente.
-
Scegli la scheda Logging (Utilizzo log).
Scegli Aggiungi, quindi seleziona il servizio per ricevere i log:
-
CloudWatch Registri
-
Firehose
-
Amazon S3
-
-
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/
Se non specifichi un prefisso, ne CloudFront aggiungerà automaticamente uno. Per ulteriori informazioni, consulta Invio di log ad Amazon S3.MyLogPrefix
-
-
Per Impostazioni aggiuntive, facoltativo, puoi specificare le seguenti opzioni:
-
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.
-
(Solo Amazon S3) Per il partizionamento, specifica il percorso per partizionare i dati del file di registro.
-
(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.
-
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
-
Per Field Delimiter, specifica come separare i campi di registro.
-
-
Completa i passaggi per aggiornare o creare la tua distribuzione.
-
Per aggiungere un'altra destinazione, ripeti i passaggi da 3 a 6.
-
Dalla pagina Registri, verifica che lo stato standard dei log sia Abilitato accanto alla distribuzione.
(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)
-
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
-
Quindi, utilizzate l'operazione CloudWatch PutDeliverySourceAPI per creare una fonte di consegna per la distribuzione.
-
Inserisci un nome per la fonte di consegna.
-
Passa
resourceArn
la distribuzione. -
Per
logType
, specificaACCESS_LOGS
come tipo di log che vengono raccolti. -
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" } }
-
-
Utilizza l'operazione PutDeliveryDestinationAPI per configurare dove archiviare i log.
-
Per
destinationResourceArn
, specificare l'ARN della destinazione. Può essere un gruppo di log CloudWatch Logs, un flusso di distribuzione Firehose o un bucket Amazon S3. -
Per
outputFormat
, specifica il formato di output per i tuoi log. -
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.
-
-
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.
-
Per
deliverySourceName
, specifica il nome della fonte. -
Per
deliveryDestinationArn
, specificare l'ARN per la destinazione di consegna. -
Per
fieldDelimiter
, specifica la stringa per separare ogni campo del registro. -
Per
recordFields
, specifica i campi di registro che desideri. -
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": "" }
-
-
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
-
Per creare la destinazione di consegna dei log, puoi inserire il seguente AWS CLI comando. Questo esempio utilizza la
stringa per creare un prefisso per i registri di accesso.MyLogPrefix
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/
come prefisso visualizzato nella destinazione di consegna S3.<account-ID>
/CloudFrontsuffixPath
Per ulteriori informazioni, consulta S3. DeliveryConfiguration -
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
" } ] } -
Salvate il file, ad esempio
deliverypolicy.json
. -
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 -
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:*"} } } -
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
-
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_LOGSOutput
{ "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" } } -
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" } }
-
Verifica che la consegna su più account sia avvenuta correttamente.
-
Dall'
source
account, 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. -
Dall'
destination
account, accedi alla console Amazon S3 e scegli il tuo bucket Amazon S3. Vedrai il prefisso
nel nome del bucket e tutti i log di accesso forniti a quella cartella.MyLogPrefix
-
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
Per ulteriori informazioni, consulta i seguenti argomenti:
-
Per aggiornare una distribuzione utilizzando la CloudFront console, consultaAggiornamento di una distribuzione.
-
Per aggiornare una distribuzione utilizzando l' CloudFront API, UpdateDistributionconsulta Amazon CloudFront API Reference.
-
Per ulteriori informazioni sulle operazioni dell'API CloudWatch Logs, consulta l'Amazon CloudWatch Logs API Reference.
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.
-
timestamp(ms)
— Timestamp in millisecondi. -
origin-fbl
— Il numero di secondi di latenza del primo byte tra l'origine e l'origine. CloudFront -
origin-lbl
— Il numero di secondi di latenza dell'ultimo byte tra e l'origine. CloudFront -
asn
— Il numero di sistema autonomo (ASN) del visualizzatore. 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. 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
-
Quando specifichi il nome del gruppo di log CloudWatch Logs, usa solo lo schema regex.
[\w-]
Per ulteriori informazioni, consulta il funzionamento dell'PutDeliveryDestinationAPI nell'Amazon CloudWatch Logs API Reference. -
Verifica che la politica sulle risorse del gruppo di log non superi il limite di dimensione. Vedi la sezione Considerazioni sulla dimensione della politica delle risorse del gruppo di CloudWatch log nell'argomento Log.
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.
-
Dopo aver abilitato la registrazione, aggiunge AWS automaticamente le policy relative ai bucket necessarie.
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.
Argomenti
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} |
Sì | 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/ |
amzn-s3-demo-bucket |
myFolderA/ |
AWSLogs/{account-id}/CloudFront/myFolderA/ |
No | amzn-s3-demo-bucket/AWSLogs/ |
amzn-s3-demo-bucket |
myFolderA/ |
AWSLogs/{account-id}/CloudFront/myFolderA/ |
Sì | amzn-s3-demo-bucket/AWSLogs/aws-account-id= |
amzn-s3-demo-bucket |
myFolderA/{yyyy} |
AWSLogs/{account-id}/CloudFront/myFolderA/{yyyy} |
Sì | amzn-s3-demo-bucket/AWSLogs/aws-account-id= |
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/ |
Sì | amzn-s3-demo-bucket/AWSLogs/aws-account-id= |
amzn-s3-demo-bucket |
myFolderA/{accountid} |
AWSLogs/{account-id}/CloudFront/myFolderA/{accountid} |
Sì | amzn-s3-demo-bucket/AWSLogs/aws-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
-
Accedere alla console CloudFront .
-
Scegli Distribuzione, quindi scegli il tuo ID di distribuzione.
-
Scegli Registrazione, quindi in Destinazioni di registro standard, seleziona la destinazione.
-
Scegli Gestisci, quindi scegli Elimina.
-
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
-
Il percorso del suffisso predefinito è
AWSLogs/{account-id}/CloudFront
e lo si sostituisce con.myFolderA
-
Poiché il nuovo percorso del suffisso è diverso dal percorso specificato nella policy del bucket di Amazon S3, i log di accesso non verranno distribuiti.
-
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
-
Eliminazione di oggetti nella guida per l'utente della console di Amazon Simple Storage Service
CloudWatch Registri
-
Utilizzo di gruppi di log e flussi di log nella Amazon CloudWatch Logs User Guide
-
DeleteLogGroupnel riferimento all'API Amazon CloudWatch Logs
Firehose
-
DeleteDeliveryStreamnel riferimento all'API Amazon Data 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.
Per ulteriori informazioni sui prezzi di ciascuna di esse Servizio AWS, consulta i seguenti argomenti:
-
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