Questa pagina illustra le opzioni a tua disposizione per controllare la memorizzazione nella cache degli oggetti Cloud Storage. Questa pagina si concentra sulla cache integrata di Cloud Storage e su Cloud CDN, ma Cloud Storage è compatibile anche con le reti CDN (Content Delivery Network) di terze parti.
Panoramica
Controlla la memorizzazione nella cache degli oggetti Cloud Storage per migliorare le prestazioni delle applicazioni e contribuire a mantenere aggiornati i contenuti. La memorizzazione nella cache dei dati degli oggetti archivia copie dei dati nelle cache di Google o di internet, il che accelera le future richieste di lettura dei dati. Cloud Storage offre una memorizzazione nella cache integrata che si comporta come una CDN. Puoi gestire questa memorizzazione nella cache integrata tramite i metadati Cache-Control, che definiscono come e per quanto tempo le cache archiviano gli oggetti.
Per un controllo più avanzato, utilizza la memorizzazione nella cache di Cloud Storage con Cloud CDN o esplora Rapid Cache.
Memorizzazione nella cache con Rapid Cache
Rapid Cache fornisce una cache di lettura zonale basata su SSD, completamente gestita e sempre coerente, che può essere creata nelle stesse zone dei carichi di lavoro di Compute. Le cache vengono utilizzate per accelerare la pubblicazione dei dati per carichi di lavoro di grandi dimensioni e ad alta intensità di dati. I dati letti da una cache vengono addebitati con tariffe di trasferimento dati ridotte rispetto ai dati letti direttamente dai bucket multiregionali, consentendoti di ottimizzare i costi.
Per saperne di più, consulta Rapid Cache.
Memorizzazione nella cache integrata per Cloud Storage
Cloud Storage può comportarsi come una Content Delivery Network (CDN) senza che tu debba fare nulla, perché i dati di un oggetto vengono memorizzati nella cache nella rete Cloud Storage se i relativi metadati Cache-Control sono impostati per consentire la memorizzazione nella cache e se vengono soddisfatti i seguenti criteri:
- L'oggetto è accessibile pubblicamente.
- L'oggetto non è archiviato in un bucket con l'opzione Pagamenti a carico del richiedente abilitata e non si trova all'interno di un perimetro di servizio Virtual Private Cloud.
- L'oggetto non è criptato utilizzando chiavi di crittografia gestite dal cliente o chiavi di crittografia fornite dal cliente.
Cloud Storage rispetta i valori standard per
Cache-Control, ad esempio i seguenti:
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 richieste future a meno che non venga prima convalidato da Cloud Storage.no-store: l'oggetto non può essere memorizzato nella cache.max-age=TIME_IN_SECONDS: la durata per cui un oggetto può essere memorizzato nella cache prima di essere considerato obsoleto. Puoi impostaremax-agesu qualsiasi durata. Gli oggetti obsoleti non vengono pubblicati dalle cache, tranne in circostanze speciali.
Per impostare i metadati Cache-Control per un oggetto, consulta
Modifica dei metadati degli oggetti.
Comportamento della memorizzazione nella cache integrata con i criteri di rifiuto IAM
Quando è presente un criterio di rifiuto IAM a livello di organizzazione che
limita l'accesso in lettura per un oggetto dall'identificatore principale allUsers,
la memorizzazione nella cache integrata viene disattivata per l'oggetto, anche se esiste un criterio
IAM a livello di bucket 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 attiva 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 la possibilità di impostare i metadati
Cache-Controldell'oggetto supublicconmax-agedi 15-60 secondi. La maggior parte delle applicazioni può tollerare che un oggetto sia obsoleto per alcuni secondi, in cambio di miglioramenti delle prestazioni.Utilizza
Cache-Control: no-storeper un oggetto per indicare che l'oggetto non deve essere memorizzato nella cache per le successive richieste di memorizzazione in una cache.
Cloud Storage con Cloud CDN
Per ottenere le migliori prestazioni durante la pubblicazione dei contenuti agli utenti, ti consigliamo di utilizzare Cloud Storage con Cloud CDN. Rispetto alle funzionalità di memorizzazione nella cache che ottieni solo con Cloud Storage, Cloud CDN offre prestazioni migliorate, dimensioni dei file memorizzabili nella cache più grandi e funzionalità come l'annullamento della convalida della cache.
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 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 gli oggetti. Cloud CDN uses the
Cache-Control metadata set on your objects to determine
how they should be cached, unless you override the Cache-Control
metadata using a cache mode or limite TTL.
Tieni presente le differenze nelle funzionalità e nelle implicazioni sui prezzi quando scegli tra la memorizzazione nella cache integrata di Cloud Storage e Cloud CDN:
Differenze nelle funzionalità
| Funzionalità | Cloud Storage | Cloud CDN |
|---|---|---|
| Dimensione massima dei file memorizzabili nella cache | 10 MiB | 100 GiB 1 |
| Scadenza predefinita della cache | 1 ora | 1 ora (configurabile) |
| Supporto per domini personalizzati su HTTPS | No | Sì |
| Annullamento convalida cache | No | Sì |
1 La dimensione massima dei file memorizzabili nella cache per Cloud CDN è di 100 GiB se il server di origine supporta le richieste di intervalli di byte. Se il server di origine non supporta le richieste di intervalli di byte, la dimensione massima dei file memorizzabili nella cache per 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 pubblicati ogni mese, che determina l'importo dei costi di rete sostenuti.
Se pubblichi meno di qualche GiB di dati memorizzabili nella cache al mese, potrebbe essere più economico in generale affidarsi alla memorizzazione nella cache integrata di Cloud Storage. La memorizzazione nella cache di Cloud Storage potrebbe comportare costi di rete più elevati rispetto a Cloud CDN, poiché gli oggetti memorizzati nella cache e non memorizzati nella cache vengono addebitati con lo stesso costo di trasferimento di dati in uscita (il che significa che paghi il prezzo intero per i riscontri della cache). Tuttavia, paghi solo i costi di utilizzo dell'archiviazione dei dati e delle operazioni associati a Cloud Storage, anziché la combinazione di Cloud Storage, Cloud CDN e Cloud Load Balancing.
Se pubblichi regolarmente 100 GiB o più di dati memorizzabili nella cache al mese o devi utilizzare il logging per richiesta e le intestazioni personalizzate, potrebbe essere più economico in generale affidarsi a Cloud CDN. Per il riempimento della cache, ti vengono addebitati i costi di trasferimento di dati in uscita di Cloud Storage e di riempimento della cache di Cloud CDN, mentre i prezzi di rete di Cloud CDN vengono applicati dopo che la cache è piena. Il risparmio sui costi di rete ottenuto utilizzando Cloud CDN potrebbe 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
Cache-Controlmetadati. - Scopri di più sulle dirett0ive RFC
Cache-Control. - Leggi la panoramica della memorizzazione nella cache per Cloud CDN.
- Scopri come creare un bilanciatore del carico HTTP(S) esterno per pubblicare le richieste da un bucket Cloud Storage.
- Leggi i dettagli sui prezzi dei bilanciatori del carico delle applicazioni esterni e di Cloud CDN.