Invalidamento di file - Amazon CloudFront

Invalidamento di file

Se devi rimuovere un file dalle edge cache CloudFront prima che scada, puoi eseguire una delle operazioni seguenti:

  • Invalida il file dalle edge cache. La volta successiva che un visualizzatore richiede il file, CloudFront ritorna all'origine per recuperare la versione più recente del file.

  • Utilizza la funzione Versioni multiple dei file per distribuire un'altra versione del file con un nome diverso. Per ulteriori informazioni, consulta Aggiornamento di file esistenti tramite l'utilizzo di nomi file con versione.

Per invalidare i file, puoi specificare il percorso per singoli file o il percorso che termina con il carattere jolly *, che potrebbe essere applicato a un solo file o a molti, come illustrato negli esempi seguenti:

  • /images/image1.jpg

  • /images/image*

  • /images/*

Nota

Se utilizzi l'interfaccia a riga di comando di AWS Command Line Interface (AWS CLI) per l'invalidamento di file e specifichi un percorso che include il carattere jolly *, devi usare le virgolette (") in tutto il percorso.

Ad esempio: aws cloudfront create-invalidation --distribution-id distribution_ID --paths "/*"

Puoi inviare un determinato numero di percorsi di invalidamento gratuitamente ogni mese. Se invii un numero maggiore di percorsi di invalidamento rispetto a quello previsto in un mese, ti verrà addebitata una tariffa per ogni percorso di invalidamento che invii. Per ulteriori informazioni sugli addebiti per l'invalidamento, consulta Pagamento per l'invalidamento di file.

Scelta tra l'invalidamento di file e l'utilizzo di nomi di file con versione

Per controllare le versioni di file che vengono servite dalla distribuzione, puoi invalidare i file o fornire loro nomi di file con versione. Se vuoi aggiornare i file di frequente, ti consigliamo di usare principalmente la funzione Versioni multiple di file per i seguenti motivi:

  • La funzione Versioni multiple consente di controllare quale file viene restituito da una richiesta anche quando l'utente dispone di una versione memorizzata nella cache in locale o in un proxy di memorizzazione nella cache aziendale. Se invalidi il file, l'utente potrebbe continuare a vedere la versione precedente fino alla scadenza delle cache.

  • I log di accesso di CloudFront includono i nomi dei file, per cui la funzione Versioni multiple rappresenta un modo semplice per analizzare i risultati delle modifiche di file.

  • La funzione Versioni multiple offre un modo per servire diverse versioni dei file a utenti diversi.

  • La funzione Versioni multiple semplifica il roll back e il forward tra le revisioni del file.

  • La funzione Versioni multiple è meno costosa. Devi comunque pagare per il trasferimento eseguito da CloudFront di nuove versioni dei file alle edge location, ma non sono previsti costi per l'invalidamento dei file.

Per ulteriori informazioni sulla funzione Versioni multiple dei file, consulta Aggiornamento di file esistenti tramite l'utilizzo di nomi file con versione.

Come stabilire quali file invalidare

Se desideri invalidare più file, ad esempio tutti i file in una directory o tutti i file che iniziano con gli stessi caratteri, puoi includere il carattere jolly * alla fine del percorso di invalidamento. Per ulteriori informazioni sull'utilizzo del carattere *, vedi Invalidation paths.

Se desideri invalidare i file selezionati, ma i tuoi utenti non accedono necessariamente a ogni file nella tua origine, puoi stabilire quali file i visualizzatori hanno richiesto a CloudFront e invalidare solo quelli. Per determinare quali file i visualizzatori hanno richiesto, attiva il log degli accessi di CloudFront. Per ulteriori informazioni sui log degli accessi al, consultare Configurazione e utilizzo di registri standard (registri di accesso).

Specifica dei file da invalidare

Note importanti su come specificare i file che desideri invalidare.

Distinzione tra lettere maiuscole e minuscole

I percorsi di invalidamento fanno distinzione tra lettere maiuscole e minuscole, per cui /images/image.jpg e /images/Image.jpg specificano due diversi file.

Modifica dell'URI utilizzando una funzione Lambda

Se la distribuzione CloudFront attiva una funzione Lambda su eventi di richiesta di visualizzatori e se la funzione modifica l'URI del file richiesto, ti consigliamo di invalidare entrambi gli URI per eliminare il file dalle edge cache CloudFront:

  • L'URI nella richiesta del visualizzatore

  • L'URI dopo la modifica eseguita dalla funzione

Ad esempio, supponiamo che la funzione Lambda modifichi l'URI per un file da questo:

https://d111111abcdef8.cloudfront.net/index.html

a un URI che includa una directory di linguaggio:

https://d111111abcdef8.cloudfront.net/en/index.html

Per invalidare il file, devi specificare i seguenti percorsi:

  • /index.html

  • /en/index.html

Per ulteriori informazioni, consulta Invalidation paths.

Oggetti root predefiniti

Per invalidare l'oggetto root predefinito (file), specifica il percorso nello stesso modo in cui specifichi il percorso per qualsiasi altro file.

Inoltro dei cookie

Se CloudFront è stato configurato per inoltrare i cookie all'origine, le cache edge di CloudFront potrebbero contenere diverse versioni del file. Quando invalidi un file, CloudFront invalida ogni versione memorizzata nella cache del file stesso, indipendentemente dai cookie associati. Non puoi selettivamente invalidare alcune versioni e non altre sulla base del cookie associati. Per ulteriori informazioni, consulta Memorizzazione nella cache di contenuti basati su cookie.

Inoltro di intestazioni

Se hai configurato CloudFront per inoltrare un elenco di intestazioni all'origine e per memorizzare nella cache in base ai valori delle intestazioni, le cache edge di CloudFront potrebbero contenere diverse versioni del file. Quando invalidi un file, CloudFront invalida ogni versione memorizzata nella cache del file stesso, a prescindere dai valori delle intestazioni. Non puoi selettivamente invalidare alcune versioni e non altre sulla base dei valori delle intestazioni. (Se configuri CloudFront per inoltrare tutte le intestazioni alla tua origine, CloudFront non memorizza nella cache i file). Per ulteriori informazioni, consulta Memorizzazione nella cache di contenuti in base alle intestazioni di richiesta.

Inoltro di stringhe di query

Se CloudFront è stato configurato per inoltrare le stringhe di query all'origine, includere le stringhe di query durante l'invalidamento dei file, come illustrato negli esempi seguenti:

  • /images/image.jpg?parameter1=a

  • /images/image.jpg?parameter1=b

Se le richieste del client includono cinque diverse stringhe di query per lo stesso file, puoi invalidare il file cinque volte, una per ogni stringa di query, oppure utilizzare il carattere jolly * nel percorso di invalidamento, come nell'esempio seguente:

/images/image.jpg*

Per ulteriori informazioni sull'utilizzo di caratteri jolly nel percorso di invalidamento, consulta Invalidation paths. Per ulteriori informazioni sulle stringhe di query, vedi Memorizzazione nella cache di contenuti basati su parametri delle stringhe di query. Per determinare quale stringhe di query sono in uso, puoi abilitare la registrazione di log di CloudFront. Per ulteriori informazioni, consulta Configurazione e utilizzo di registri standard (registri di accesso).

Massimo consentito

Per informazioni sul numero massimo di invalidazioni consentite, consulta Massima richiesta di invalidamento concorrente.

File Microsoft Smooth Streaming

Non puoi invalidare i file multimediali nel formato Microsoft Smooth Streaming quando hai abilitato Smooth Streaming per il comportamento cache corrispondente.

Caratteri non ASCII o non sicuri nel percorso

Se il percorso include caratteri non ASCII o caratteri non sicuri come indicato in RFC 1783, è necessario codificare tali caratteri in formato URL. Non codificare nell'URL qualsiasi altro carattere presente nel percorso, o CloudFront non invaliderà la versione precedente del file aggiornato.

Percorsi di invalidamento

Questo percorso è relativo alla distribuzione. Ad esempio, per invalidare il file in https://d111111abcdef8.cloudfront.net/images/image2.jpg, puoi specificare quanto segue:

/images/image2.jpg

Nota

Nella console CloudFront, puoi omettere la barra iniziale nel percorso, in questo modo: images/image2.jpg. Quando si utilizza direttamente l'API CloudFront, i percorsi di invalidamento devono iniziare con una barra iniziale.

Puoi anche invalidare più file contemporaneamente utilizzando il carattere jolly *. Il carattere *, che sostituisce 0 o più caratteri, deve essere l'ultimo carattere nel percorso di invalidamento. Inoltre, se utilizzi l'interfaccia a riga di comando AWS Command Line Interface (AWS CLI) per l'invalidamento di file e specifichi un percorso che include il carattere jolly *, devi usare le virgolette (") nel percorso (ad esempio, "/*").

Di seguito vengono mostrati alcuni esempi:

  • Per invalidare tutti i file in una directory:

    /directory-path/*

  • Per invalidare una directory, tutte le sottodirectory e tutti i file nella directory e nella sottodirectory:

    /directory-path*

  • Per invalidare tutti i file con lo stesso nome, ma estensioni di nome di file diverse, ad esempio logo.jpg, logo.png e logo.gif:

    /directory-path/file-name.*

  • Per invalidare tutti i file in una directory per i quali il nome file inizia con gli stessi caratteri (ad esempio tutti i file per un video in formato HLS), indipendentemente dall'estensione del nome file:

    /directory-path/initial-characters-in-file-name*

  • Quando configuri CloudFront per memorizzare nella cache in base ai parametri della stringa di query e desideri invalidare ogni versione di un file:

    /directory-path/file-name.file-name-extension*

  • Per invalidare tutti i file in una distribuzione:

    /*

La lunghezza massima di un percorso è 4.000 caratteri. Non è possibile utilizzare un carattere jolly all'interno del percorso; solo alla fine del percorso.

Per ulteriori informazioni su come invalidare i file utilizzando una funzione Lambda per modificare l'URI, consulta Changing the URI Using a Lambda Function.

Il costo per inviare un percorso di invalidamento è lo stesso a prescindere dal numero di file che si stanno invalidando: un singolo file (/images/logo.jpg) o tutti i file associati a una distribuzione (/*). Per ulteriori informazioni, consulta Prezzi di Amazon CloudFront.

Se il percorso di invalidamento è una directory e se non hai standardizzato un metodo per specificare le directory - con o senza una barra finale (/), ti consigliamo di invalidare la directory con e senza barre finali, ad esempio, /images e /images/.

URL firmati

Se stai usando URL firmati, invalida un file includendo solo la parte di URL prima del punto interrogativo (?).

Invalidamento di file utilizzando la console

Puoi utilizzare la console CloudFront per creare ed eseguire un invalidamento, visualizzare un elenco di invalidamenti inviati in precedenza e visualizzare informazioni dettagliate su un singolo invalidamento. Puoi anche copiare un invalidamento esistente, modificare l'elenco dei percorsi dei file ed eseguire l'invalidamento modificato. Non è possibile rimuovere gli invalidamenti dall'elenco.

Invalidamento di file

Per invalidare i file tramite la console CloudFront, esegui la procedura seguente.

Per invalidare i file
  1. Accedi alla AWS Management Console e apri la console CloudFront all'indirizzo https://console.aws.amazon.com/cloudfront/v3/home.

  2. Seleziona la distribuzione per la quale desideri invalidare i file.

  3. Seleziona Distribution Settings (Impostazioni distribuzione).

  4. Seleziona la scheda Invalidations (Invalidamenti).

  5. Scegli Create Invalidation (Crea invalidamento).

  6. Per i file da invalidare, immetti un percorso di invalidamento per riga. Per informazioni su come specificare i percorsi di invalidamento, consulta Specifica dei file da invalidare.

    Importante

    Specifica i percorsi dei file attentamente. Non puoi annullare una richiesta di invalidamento dopo l'avvio.

  7. Scegli Invalidate (Invalida).

Copia, modifica e riesecuzione di un invalidamento esistente

Puoi copiare un invalidamento creato precedentemente, aggiornare l'elenco dei percorsi di invalidamento ed eseguire l'invalidamento aggiornato. Non puoi copiare un gruppo di invalidamento esistente, aggiornare i percorsi di invalidamento e salvare l'invalidamento aggiornato senza eseguirlo.

Importante

Se copi un invalidamento ancora in corso, aggiorna l'elenco dei percorsi di invalidamento ed esegui l'invalidamento aggiornato, CloudFront non arresterà o eliminerà l'invalidamento che hai copiato. Se un percorso di invalidamento appare in originale e in copia, CloudFront cercherà di invalidare i file due volte ed entrambi gli invalidamenti saranno conteggiati ai fini del calcolo del numero massimo di invalidamenti mensili gratuiti. Se hai già raggiunto il numero massimo di invalidamenti gratuiti, ti verrà addebitato il costo per entrambi gli invalidamenti di ogni file. Per ulteriori informazioni, consulta Massima richiesta di invalidamento concorrente.

Per copiare, modificare e rieseguire un invalidamento esistente
  1. Accedi alla AWS Management Console e apri la console CloudFront all'indirizzo https://console.aws.amazon.com/cloudfront/v3/home.

  2. Seleziona la distribuzione che contiene l'invalidamento da copiare.

  3. Seleziona Distribution Settings (Impostazioni distribuzione).

  4. Seleziona la scheda Invalidations (Invalidamenti).

  5. Scegli l'invalidamento da copiare.

    Se non sei sicuro di quale invalidamento copiare, puoi scegliere un invalidamento e selezionare Details (Dettagli) per visualizzare le relative informazioni dettagliate.

  6. Scegliere Copy (Copia).

  7. Aggiorna l'elenco dei percorsi di invalidamento, ove applicabile.

  8. Scegli Invalidate (Invalida).

Annullamento degli invalidamenti

Quando invii una richiesta di invalidamento a CloudFront, CloudFront inoltra la richiesta per tutte le edge location entro pochi secondi e ogni edge location avvia immediatamente l'elaborazione dell'invalidamento. Di conseguenza, non puoi annullare una richiesta di invalidamento dopo averla inviata.

Elenco degli invalidamenti

Puoi visualizzare l'elenco degli ultimi 100 invalidamenti creati ed eseguiti per una distribuzione utilizzando la console CloudFront. Se desideri ottenere un elenco di più di 100 invalidamenti, utilizza l'operazione API ListInvalidations. Per ulteriori informazioni, consulta ListInValidations nella Guida di riferimento API Amazon CloudFront.

Per elencare gli invalidamenti
  1. Accedi alla AWS Management Console e apri la console CloudFront all'indirizzo https://console.aws.amazon.com/cloudfront/v3/home.

  2. Seleziona la distribuzione per la quale desideri visualizzare un elenco degli invalidamenti.

  3. Seleziona Distribution Settings (Impostazioni distribuzione).

  4. Seleziona la scheda Invalidations (Invalidamenti).

Nota

Non è possibile rimuovere gli invalidamenti dall'elenco.

Visualizzazione di informazioni su un invalidamento

Puoi visualizzare informazioni dettagliate su un invalidamento, tra cui l'ID distribuzione, l'ID invalidamento, lo stato di invalidamento, la data e l'ora in cui l'invalidamento è stato creato e un elenco completo dei percorsi di invalidamento.

Per visualizzare informazioni su un invalidamento
  1. Accedi alla AWS Management Console e apri la console CloudFront all'indirizzo https://console.aws.amazon.com/cloudfront/v3/home.

  2. Seleziona la distribuzione che contiene l'invalidamento di cui vuoi visualizzare informazioni dettagliate.

  3. Seleziona Distribution Settings (Impostazioni distribuzione).

  4. Seleziona la scheda Invalidations (Invalidamenti).

  5. Scegli l'invalidamento applicabile.

  6. Seleziona Details (Dettagli).

Invalidamento dei file tramite l'API CloudFront

Per informazioni sull'invalidamento degli oggetti e sulla visualizzazione delle informazioni sull'invalidamento tramite l'API CloudFront, consulta i seguenti argomenti nella Guida di riferimento alle API di Amazon CloudFront:

Massima richiesta di invalidamento concorrente

Se stai invalidando i file singolarmente, puoi avere richieste di invalidamento per un massimo di 3000 file per distribuzione in corso alla volta. Questa può essere una richiesta di invalidamento per massimo 3000 file, fino a 3000 richieste per un file ciascuna, o qualsiasi altra combinazione che non superi i 3000 file. Ad esempio, puoi inviare 30 richieste di invalidamento che invalidano 100 file ognuna. Finché tutte e 30 le richieste di invalidamento sono ancora in corso, non puoi inviare eventuali ulteriori richieste di invalidamento. Se si supera il valore massimo, CloudFront restituisce un messaggio di errore.

Se stai utilizzando il carattere jolly *, puoi avere richieste per massimo 15 percorsi di invalidamento in corso alla volta. Puoi anche avere richieste di invalidamento per massimo 3.000 file singoli per distribuzione in corso alla volta; il numero massimo di richieste di invalidamento consentite con carattere jolly è indipendente dal numero massimo di invalidamento singolo dei file.

Pagamento per l'invalidamento di file

I primi 1.000 percorsi di invalidamento che invii al mese sono gratuiti; pagherai ogni percorso di invalidamento oltre i 1.000 in un mese. Un percorso di invalidamento può essere per un singolo file (ad esempio /images/logo.jpg) o per più file (ad esempio /images/*). Un percorso che include il carattere jolly * conta come un percorso anche se comporta l'invalidamento di migliaia di file da parte di CloudFront.

Questo valore massimo di 1000 percorsi di invalidamento gratuiti al mese è valido per il numero totale di percorsi di invalidamento per tutte le distribuzioni create con un account AWS. Ad esempio, se utilizzi l'account AWS john@example.com per creare tre distribuzioni e invii 600 percorsi di invalidamento per ciascuna distribuzione in un determinato mese (per un totale di 1.800 invalidamenti), AWS addebiterà 800 percorsi di invalidamento in quel mese. Per informazioni specifiche sui prezzi di annullamento della convalida, consulta la pagina Prezzi di Amazon CloudFront. Per ulteriori informazioni sui percorsi di invalidamento, consulta Invalidation paths.