Questa pagina illustra le opzioni a tua disposizione per controllare la memorizzazione nella cache degli oggetti Cloud Storage. Questa pagina è incentrata 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 dei dati dell'oggetto vengono memorizzate in una cache di Google o di internet in modo che l'oggetto possa essere pubblicato più rapidamente nelle richieste future. Sebbene la memorizzazione nella cache possa migliorare le prestazioni, rischiano di pubblicare contenuti obsoleti se aggiorni l'oggetto ma una cache continuerà a pubblicare la versione precedente dell'oggetto.
Memorizzazione nella cache integrata per Cloud Storage
Cloud Storage può comportarsi come una rete CDN (Content Delivery Network) senza
lavorate voi, perché i dati di un oggetto vengono memorizzati nella cache
Rete Cloud Storage se i relativi metadati Cache-Control
sono impostati su
per consentire la memorizzazione nella cache e vengono soddisfatti i seguenti criteri:
- L'oggetto è accessibile pubblicamente.
- L'oggetto non è archiviato in un bucket in cui è abilitato Requester Pays (Pagamenti a carico del richiedente) non risiede all'interno di un perimetro di servizio Virtual Private Cloud.
- L'oggetto non è criptato utilizzando le chiavi di crittografia gestite dal cliente oppure chiavi di crittografia fornite dal cliente.
Cloud Storage rispetta i valori standard per
Cache-Control
, ad esempio:
public
: l'oggetto può essere memorizzato nella cache.private
: l'oggetto non verrà memorizzato nella cache da Cloud Storage, ma può essere memorizzato nella cache locale di un richiedente.no-cache
: l'oggetto può essere memorizzato nella cache, ma non può essere utilizzato per soddisfare le esigenze future a meno che non venga convalidato prima da Cloud Storage.no-store
: non è possibile memorizzare nella cache l'oggetto.max-age=TIME_IN_SECONDS
: il periodo di tempo per cui un oggetto può essere memorizzato nella cache prima di essere considerato non valido. Puoi impostaremax-age
su qualsiasi da una parte all'altra. Gli oggetti obsoleti non vengono pubblicati dalle cache, tranne in circostanze speciali.
Per impostare i metadati Cache-Control
di un oggetto, consulta
Modificare i metadati degli oggetti.
Comportamento di memorizzazione nella cache integrata con i criteri di rifiuto IAM
Quando esiste un criterio di negazione IAM a livello di organizzazione
limita l'accesso in lettura per un oggetto dall'identificatore entità allUsers
,
la memorizzazione nella cache integrata è disabilitata per l'oggetto, anche se è presente un
Criterio IAM che concede l'accesso in lettura per l'oggetto a allUsers
.
Tuttavia, se il criterio di rifiuto IAM limita solo i singoli utenti, la memorizzazione nella cache integrata rimane attivata 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 obsoleto da alcuni secondi, in cambio di prestazioni miglioramenti.Utilizza
Cache-Control: no-store
per un oggetto per indicare che quell'oggetto non deve essere memorizzato nella cache per le successive richieste in nessuna cache.
Cloud Storage con Cloud CDN
Per ottenere le migliori prestazioni durante la pubblicazione dei contenuti per gli utenti, consigliamo di utilizzare Cloud Storage con Cloud CDN.
Per utilizzare Cloud CDN, devi utilizzare un bilanciatore del carico delle applicazioni esterno con i tuoi bucket Cloud Storage come backend. Per un tutorial sulla configurazione di per il 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 memorizzazione nella cache unificata
la configurazione di tutti gli oggetti. Cloud CDN utilizza i metadati Cache-Control
impostati sugli oggetti per determinare come devono essere memorizzati nella cache, a meno che non sostituisci 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, tieni presente quanto segue:
Funzionalità | Cloud Storage | Cloud CDN |
---|---|---|
Dimensioni massime del file memorizzabile nella cache | 10 MiB | 100 GiB 1 |
Scadenza cache predefinita | 1 ora | 1 ora (configurabile) |
Supporto per domini personalizzati tramite HTTPS | No | Sì |
Annullamento convalida cache | No | Sì |
1La dimensione massima del file memorizzabile nella cache per Cloud CDN è 100 GiB se il server di origine supporta le richieste con intervallo di byte. Se il server di origine non supporta le richieste di intervalli di byte, la dimensione massima del file memorizzabile nella cache Cloud CDN è di 10 MiB.
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 pubblichi ogni mese, che determina l'importo dei costi di rete che sostieni.
Se pubblichi meno di qualche GB di dati memorizzabili nella cache al mese, potrebbe essere più economico affidarti alla memorizzazione nella cache integrata di Cloud Storage. La memorizzazione nella cache di Cloud Storage può comportare costi di networking maggiori rispetto Cloud CDN, poiché gli oggetti memorizzati nella cache e non nella cache hanno lo stesso costo il costo del trasferimento di dati in uscita (che significa che paghi il prezzo intero per i hit della cache). Tuttavia, paghi solo per i costi di utilizzo dell'archiviazione dei dati e delle operazioni associati con Cloud Storage, invece che con la combinazione Cloud Storage, Cloud CDN e Cloud Load Balancing.
Se pubblichi regolarmente almeno 100 GB di dati memorizzabili nella cache al mese o devi utilizzare la registrazione per richiesta e le intestazioni personalizzate, potrebbe essere più economico in generale fare affidamento su Cloud CDN. Per il riempimento della cache, ti vengono addebitati i costi di trasferimento dei dati in uscita di Cloud Storage e di riempimento della cache di Cloud CDN. I prezzi di Cloud CDN per la rete si applicano dopo il completamento della cache. I risparmi sui costi di rete ottenuti utilizzando Cloud CDN potrebbero 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 della memorizzazione nella cache per Cloud CDN.
- Scopri come creare un bilanciatore del carico HTTP(S) esterno per gestire le richieste provenienti dal tuo bucket Cloud Storage.
- Leggi i dettagli dei prezzi per i bilanciatori del carico delle applicazioni esterni e Cloud CDN.