Questa pagina descrive 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 Content Delivery Network (CDN) di terze parti.
Panoramica
Controlla la memorizzazione nella cache degli oggetti Cloud Storage per migliorare le prestazioni dell'applicazione e contribuire a mantenere aggiornati i contenuti. La memorizzazione nella cache degli archivi di dati degli oggetti
memorizza copie dei dati nelle cache di Google o di internet, il che accelera le future richieste di lettura dei dati. Cloud Storage offre la memorizzazione nella cache integrata che si comporta come una CDN. Gestisci 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 Anywhere Cache.
Memorizzazione nella cache con Anywhere Cache
Anywhere Cache fornisce una cache di lettura zonale completamente gestita e sempre coerente basata su SSD che può essere creata nelle stesse zone dei tuoi workload in Compute. Le cache vengono utilizzate per accelerare la pubblicazione dei dati per workload di grandi dimensioni e ad alta intensità di dati. I dati letti da una cache vengono addebitati con tariffe di trasferimento dei dati ridotte rispetto ai dati letti direttamente dai bucket multiregionali, consentendoti di ottimizzare i costi.
Per saperne di più, consulta Anywhere Cache.
Memorizzazione nella cache integrata per Cloud Storage
Cloud Storage può comportarsi come una rete di distribuzione dei contenuti (CDN) senza
alcun intervento da parte tua, perché i dati di un oggetto vengono memorizzati nella cache della
rete Cloud Storage se i relativi metadati Cache-Control sono impostati in modo da
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 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: il periodo di tempo durante il quale 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 di memorizzazione nella cache integrato con i criteri di negazione IAM
Quando esiste un criterio IAM Deny a livello di organizzazione che
limita l'accesso in lettura per un oggetto dall'identificatore dell'entità allUsers,
la memorizzazione nella cache integrata è 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 negazione IAM limita solo i singoli utenti,
la memorizzazione nella cache integrata rimane attiva per l'oggetto.
Considerazioni sulle prestazioni
Il rendimento può essere molto migliore 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:
Prova invece a impostare i metadati
Cache-Controldell'oggetto supublicconmax-agedi 15-60 secondi. La maggior parte delle applicazioni può tollerare che un oggetto non sia aggiornato per alcuni secondi, in cambio di miglioramenti delle prestazioni.Utilizza
Cache-Control: no-storeper 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 distribuzione 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 bucket Cloud Storage come backend. Per un tutorial sulla configurazione di un bilanciatore del carico HTTP(S) con un bucket Cloud Storage, consulta Ospitare 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 utilizza i metadati Cache-Control impostati sugli oggetti per determinare come devono essere memorizzati nella cache, a meno che tu non esegua l'override dei metadati Cache-Control utilizzando una modalità cache o un limite TTL.
Considera le differenze in termini di funzionalità e implicazioni per i 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 del file memorizzabile nella cache | 10 MiB | 100 GiB 1 |
| Scadenza predefinita della cache | 1 ora | 1 ora (configurabile) |
| Supporto per domini personalizzati tramite HTTPS | No | Sì |
| Annullamento convalida cache | No | Sì |
1La dimensione massima dei file memorizzabili nella cache per Cloud CDN è 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 del file memorizzabile nella cache per Cloud CDN è 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, il 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 in generale fare affidamento 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 allo stesso costo di trasferimento dei dati in uscita (il che significa che paghi il prezzo intero per gli hit della cache). Tuttavia, paghi solo i costi di utilizzo delle operazioni e dell'archiviazione dei dati associati a Cloud Storage, anziché la 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 devi utilizzare la registrazione per richiesta e le intestazioni personalizzate, potrebbe essere più conveniente in generale fare affidamento su Cloud CDN. Per il riempimento della cache, ti vengono addebitati i costi per il trasferimento di dati in uscita da Cloud Storage e per il 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 che ottieni 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 metadati
Cache-Control. - Scopri di più sulle direttive 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 dal tuo bucket Cloud Storage.
- Leggi i dettagli dei prezzi per i bilanciatori del carico delle applicazioni esterni e Cloud CDN.