Questa pagina illustra le opzioni disponibili per controllare il modo in cui gli oggetti Cloud Storage vengono memorizzati nella cache. Questa pagina si concentra sulla cache integrata di Cloud Storage e su Cloud CDN, ma Cloud Storage è compatibile anche con CDN di terze parti.
Panoramica
Quando un oggetto Cloud Storage viene memorizzato nella cache, le copie dell'oggetto vengono archiviate in una cache di Google o di internet, in modo che l'oggetto possa essere fornito più velocemente nelle richieste future. Sebbene la memorizzazione nella cache possa migliorare le prestazioni, rischi anche di fornire contenuti obsoleti se aggiorni l'oggetto, ma una cache continua a gestire la versione precedente dell'oggetto.
Memorizzazione nella cache integrata per Cloud Storage
Cloud Storage si comporta come una rete CDN (Content Delivery Network) senza alcun intervento da parte tua, poiché gli oggetti leggibili pubblicamente vengono in genere memorizzati nella cache nella rete Cloud Storage per impostazione predefinita.
I metadati Cache-Control
per un oggetto determinano per quanto tempo le cache del browser e di internet possono memorizzare nella cache l'oggetto. La rete Cloud Storage memorizza nella cache solo oggetti leggibili pubblicamente, ma proxy o browser potrebbero memorizzare nella cache gli oggetti in base ai metadati Cache-Control
anche per oggetti non leggibili pubblicamente. Inoltre, se revochi l'accesso pubblico a un oggetto, quest'ultimo può comunque essere fornito da una cache, a seconda di quando è stato eseguito l'ultimo accesso e della relativa impostazione Cache-Control
. Ad esempio, se l'oggetto è stato pubblicato con Cache-Control
pari a public, max-age=3600
, può rimanere in una cache per un'ora.
Per impostare i metadati Cache-Control
, consulta Modifica dei metadati degli oggetti.
Comportamento di memorizzazione nella cache integrato con criteri di negazione IAM
Quando esiste un criterio di negazione IAM a livello di organizzazione che limita l'accesso in lettura a un oggetto dall'identificatore entità allUsers
, la memorizzazione nella cache integrata viene disabilitata per l'oggetto, anche se esiste un criterio IAM a livello di bucket che concede a allUsers
l'accesso in lettura all'oggetto.
Tuttavia, se il criterio di negazione IAM limita solo i singoli utenti, la memorizzazione nella cache integrata rimane abilitata per l'oggetto.
Considerazioni sulle prestazioni
Le prestazioni possono essere molto migliori per gli oggetti memorizzabili pubblicamente nella cache. Se utilizzi un oggetto per controllare molti client e vuoi disattivare la memorizzazione nella cache per fornire i dati più recenti:
Valuta invece la possibilità di impostare i metadati
Cache-Control
dell'oggetto supublic
conmax-age
di 15-60 secondi. La maggior parte delle applicazioni tollera che un oggetto non sia aggiornato per alcuni secondi, in cambio di miglioramenti delle prestazioni.Utilizza
Cache-Control: no-store
per un oggetto per indicare che quest'ultimo non deve essere memorizzato nella cache per le successive richieste in qualsiasi cache.
Cloud Storage con Cloud CDN
Per ottenere prestazioni ottimali durante la distribuzione di contenuti agli utenti, consigliamo di utilizzare Cloud Storage con Cloud CDN.
Per utilizzare Cloud CDN, devi utilizzare un Application Load Balancer esterno con i tuoi bucket Cloud Storage come backend. Per un tutorial sulla configurazione di un bilanciatore del carico HTTP(S) con un bucket Cloud Storage, consulta Hosting di un sito web statico.
Le modalità cache di Cloud CDN consentono di applicare una configurazione di memorizzazione nella cache unificata a tutti i tuoi oggetti. Cloud CDN utilizza i metadati Cache-Control
impostati sui tuoi oggetti per determinare come devono essere memorizzati nella cache, a meno che tu non sostituisca i metadati Cache-Control
utilizzando una modalità cache o un limite TTL.
Quando scegli tra la memorizzazione nella cache integrata di Cloud Storage e Cloud CDN, considera quanto segue:
Selezione delle | Cloud Storage | Cloud CDN |
---|---|---|
Dimensione massima del file memorizzabile nella cache | 10 MiB | 5 TiB |
Scadenza predefinita della cache | 1 ora | 1 ora (configurabile) |
Supporto per domini personalizzati tramite HTTPS | No | Sì |
Annullamento convalida cache | No | Sì |
Considerazioni sui prezzi
In termini di prezzi, la scelta tra la memorizzazione nella cache integrata di Cloud Storage e Cloud CDN dipende dalla quantità di dati che gestisci ogni mese, il che determina i costi di rete sostenuti.
Se gestisci meno di pochi GiB di dati memorizzabili nella cache al mese, potrebbe essere più economico nel complesso fare affidamento sulla memorizzazione nella cache integrata di Cloud Storage. La memorizzazione nella cache di Cloud Storage può comportare costi di rete più elevati rispetto a Cloud CDN, poiché agli oggetti memorizzati nella cache e non memorizzati nella cache viene addebitato lo stesso costo di trasferimento dei dati in uscita (quindi paghi il prezzo pieno per gli hit dalla cache). Tuttavia, paghi solo i costi di utilizzo delle operazioni e dell'archiviazione dei dati associati a Cloud Storage, anziché dalla combinazione di Cloud Storage, Cloud CDN e Cloud Load Balancing.
Se gestisci regolarmente 100 GiB o più di dati memorizzabili nella cache al mese o hai bisogno di utilizzare intestazioni personalizzate e di logging per richiesta, potrebbe essere più economico utilizzare Cloud CDN nel complesso. Ti vengono addebitati i costi di trasferimento dei dati in uscita di Cloud Storage e di riempimento della cache di Cloud CDN per il riempimento della cache, mentre i prezzi di networking di Cloud CDN vengono applicati quando la cache è piena. I risparmi sui costi di rete ottenuti utilizzando Cloud CDN possono valere i costi operativi più elevati associati alla manutenzione del bilanciatore del carico delle applicazioni esterno e di Cloud CDN insieme a Cloud Storage.
Passaggi successivi
- Scopri di più sui metadati
Cache-Control
. - Scopri di più sulle istruzioni RFC
Cache-Control
. - Leggi la panoramica sulla memorizzazione nella cache per Cloud CDN.
- Scopri come creare un bilanciatore del carico HTTP(S) esterno per gestire le richieste dal bucket Cloud Storage.
- Leggi i dettagli dei prezzi per gli Application Load Balancer esterni e Cloud CDN.