Cloud CDN (Content Delivery Network) utilizza la rete perimetrale globale di Google per distribuire i contenuti nelle aree più vicine agli utenti al fine di velocizzare i siti web e le applicazioni.
Cloud CDN funziona con il bilanciatore del carico delle applicazioni esterno globale o con il bilanciatore del carico delle applicazioni classico per fornire contenuti agli utenti. L'Application Load Balancer esterno fornisce gli indirizzi IP e le porte frontend che ricevono le richieste e i backend che rispondono alle richieste.
I contenuti di Cloud CDN possono provenire da vari tipi di backend.
In Cloud CDN, questi backend sono chiamati anche server di origine. La Figura 1 mostra il flusso delle risposte dai server di origine in esecuzione su istanze di macchine virtuali (VM) attraverso un bilanciatore del carico delle applicazioni esterno prima di essere distribuite da Cloud CDN. In questa situazione, il Google Front End (GFE) comprende Cloud CDN e il bilanciatore del carico delle applicazioni esterno.
Come funziona Cloud CDN
Quando un utente richiede contenuti da un bilanciatore del carico delle applicazioni esterno, la richiesta arriva a un GFE che si trova al limite della rete di Google il più vicino possibile all'utente.
Se la mappa URL del bilanciatore del carico instrada il traffico a un servizio di backend o a un bucket di backend in cui è configurata Cloud CDN, il GFE utilizza Cloud CDN.
Hit e fallimenti della cache
Una cache è un gruppo di server che memorizza e gestisce i contenuti in modo che le richieste future di questi contenuti possano essere gestite più rapidamente. I contenuti memorizzati nella cache sono una copia dei contenuti memorizzabili nella cache archiviati sui server di origine.
Se il GFE cerca nella cache di Cloud CDN e trova una risposta memorizzata nella cache alla richiesta dell'utente, la invia all'utente. Questa situazione viene definita successo della cache. Quando si verifica un successo della cache, il GFE cerca i contenuti in base alla chiave della cache e risponde direttamente all'utente, riducendo il tempo di round trip e risparmiando al server di origine l'elaborazione della richiesta.
Un risultato parziale si verifica quando una richiesta viene gestita parzialmente dalla cache e parzialmente da un backend. Ciò può accadere se solo una parte dei contenuti richiesti è archiviata in una cache Cloud CDN, come descritto nella sezione Supporto delle richieste di intervallo di byte.
La prima volta che viene richiesto un contenuto, GFE determina che non può soddisfare la richiesta dalla cache. Questo è chiamato fallimento della cache. Quando si verifica un fallimento della cache, GFE inoltra la richiesta al bilanciatore del carico delle applicazioni esterno. Il bilanciatore del carico inoltra quindi la richiesta a uno dei tuoi server di origine. Quando la cache riceve i contenuti, GFE li inoltra all'utente.
Se la risposta del server di origine a questa richiesta è memorizzabile nella cache, Cloud CDN archivia la risposta nella cache di Cloud CDN per le richieste future. Il trasferimento di dati da una cache a un client è chiamato uscita dalla cache. Il trasferimento di dati a una cache è chiamato riempimento della cache.
La Figura 2 mostra un successo della cache e un fallimento della cache:
- I server di origine in esecuzione su istanze VM inviano risposte HTTP(S).
- Il bilanciatore del carico delle applicazioni esterno distribuisce le risposte a Cloud CDN.
- Cloud CDN distribuisce le risposte agli utenti finali.
Per i costi relativi agli hit e ai mancati hit della cache, consulta la sezione Prezzi.
Percentuale successi cache
Il tasso di successo della cache è la percentuale di volte in cui un oggetto richiesto viene servito dalla cache. Se il percentuale successi cache è del 60%, significa che l'oggetto richiesto viene pubblicato dalla cache il 60% delle volte e deve essere recuperato dall'origine il 40% delle volte.
Per informazioni su come le chiavi di cache possono influire sul percentuale successi cache, consulta Utilizzo delle chiavi di cache. Per informazioni sulla risoluzione dei problemi, consulta la sezione Il rapporto di hit della cache è basso.
Visualizzare il percentuale successi cache per un breve periodo di tempo
Per visualizzare il percentuale successi cache per un breve periodo di tempo (gli ultimi minuti):
Nella console Google Cloud , vai alla pagina Cloud CDN.
Per ogni origine, consulta la colonna Percentuale di hit della cache.
n/a indica che i contenuti con bilanciamento del carico non sono memorizzati nella cache o non sono stati richiesti di recente.
Visualizzare la percentuale successi cache per un periodo di tempo più lungo
Per visualizzare il percentuale successi cache per un periodo di tempo compreso tra 1 ora e 30 giorni:
- Nella console Google Cloud , vai alla pagina Cloud CDN.
- Nella colonna Nome origine, fai clic sul nome dell'origine.
- Fai clic sulla scheda Monitoraggio.
- (Facoltativo) Seleziona un backend specifico.
La percentuale di successo CDN è uno dei grafici di monitoraggio disponibili. Un grafico che mostra n/a significa che i contenuti non sono memorizzati nella cache o non sono stati richiesti nell'intervallo di tempo visualizzato.
Puoi modificare il periodo di tempo selezionando un intervallo di tempo diverso. L'immagine seguente è un esempio di intervalli di tempo che puoi selezionare:
Inserimento di contenuti nella cache
La memorizzazione nella cache è reattiva, in quanto un oggetto viene archiviato in una cache specifica se una richiesta passa attraverso quella cache e se la risposta è memorizzabile nella cache. Un oggetto memorizzato in una cache non viene replicato automaticamente in altre cache; il riempimento della cache avviene solo in risposta a una richiesta avviata dal client. Non puoi precaricare le cache, se non facendo in modo che le singole cache rispondano alle richieste.
Quando il server di origine supporta le richieste di intervallo di byte, Cloud CDN può avviare più richieste di riempimento della cache in risposta a una singola richiesta client.
Pubblicazione di contenuti da una cache
Dopo aver abilitato Cloud CDN, la memorizzazione nella cache avviene automaticamente per tutti i contenuti memorizzabili nella cache. Il server di origine utilizza le intestazioni HTTP per indicare quali risposte vengono memorizzate nella cache. Puoi anche controllare la memorizzazione nella cache utilizzando le modalità cache.
Quando utilizzi un bucket di backend, il server di origine è Cloud Storage. Quando utilizzi le istanze VM, il server di origine è il software del server web che esegui su queste istanze.
Cloud CDN utilizza cache in numerose località in tutto il mondo. A causa della natura delle cache, è impossibile prevedere se una determinata richiesta viene pubblicata da una cache. Tuttavia, puoi aspettarti che le richieste più frequenti di contenuti memorizzabili nella cache vengano servite dalla cache la maggior parte delle volte, con conseguente riduzione significativa della latenza, dei costi e del carico sui server di origine.
Per saperne di più su cosa memorizza nella cache Cloud CDN e per quanto tempo, consulta la panoramica della memorizzazione nella cache.
Per vedere cosa pubblica Cloud CDN da una cache, puoi visualizzare i log.
Rimozione dei contenuti dalla cache
Per rimuovere un elemento da una cache, puoi invalidare i contenuti memorizzati nella cache. Per ulteriori informazioni, vedi:
- Panoramica dell'annullamento convalida cache
- Annullamento della convalida dei contenuti inseriti nella cache
Bypass della cache
Per bypassare Cloud CDN, puoi richiedere un oggetto direttamente da un bucket Cloud Storage o da una VM di Compute Engine. Ad esempio, un URL per un oggetto bucket Cloud Storage è simile al seguente:
https://storage.googleapis.com/STORAGE_BUCKET/FILENAME
Eliminazione e scadenza
Affinché i contenuti vengano pubblicati da una cache, devono essere stati inseriti nella cache, non devono essere stati rimossi e non devono essere scaduti.
Espulsione e scadenza sono due concetti diversi. Entrambi influiscono su ciò che viene pubblicato, ma non si influenzano direttamente a vicenda.
Sfratto
Se stai testando la memorizzazione nella cache dei contenuti con un numero ridotto di richieste, potresti notare che i contenuti vengono eliminati.
Ogni cache ha un limite alla quantità di dati che può contenere. Tuttavia, Cloud CDN aggiunge contenuti alle cache anche dopo che sono piene. Per inserire contenuti in una cache piena, la cache rimuove prima qualcos'altro per fare spazio. Questa operazione viene chiamata rimozione. Le cache sono solitamente piene, quindi eliminano costantemente i contenuti. In genere rimuovono i contenuti a cui non è stato eseguito l'accesso di recente, indipendentemente dalla data di scadenza dei contenuti. I contenuti rimossi potrebbero essere scaduti o meno. L'impostazione di una scadenza non influisce sull'espulsione.
Contenuti impopolari indica i contenuti a cui non è stato eseguito l'accesso da un po' di tempo. A while e unpopular sono entrambi relativi alla maggior parte degli altri elementi nella cache. Più Google Cloud progetti condividono un pool comune di spazio della cache perché i progetti vengono pubblicati dallo stesso insieme di GFE. La popolarità relativa dei contenuti viene confrontata tra più progetti, non solo all'interno di un singolo progetto.
Man mano che le cache ricevono più traffico, eliminano anche più contenuti memorizzati nella cache.
Come per tutte le cache su larga scala, i contenuti possono essere eliminati in modo imprevedibile, quindi non è garantito che una richiesta specifica venga servita dalla cache.
Scadenza
I contenuti nelle cache HTTP(S) possono avere un tempo di scadenza configurabile. Il tempo di scadenza indica alla cache di non pubblicare contenuti obsoleti, anche se non sono stati rimossi.
Ad esempio, considera un URL di una foto dell'ora. Le risposte devono essere impostate in modo che scadano in meno di un'ora. In caso contrario, i contenuti pubblicati potrebbero essere una vecchia immagine di una cache.
Per informazioni sulla regolazione precisa dei tempi di scadenza, vedi Utilizzo delle impostazioni e degli override TTL.
Richieste avviate da Cloud CDN
Quando il server di origine supporta le richieste di intervallo di byte, Cloud CDN può inviare più richieste al server di origine in risposta a una singola richiesta del client. Come descritto in Supporto delle richieste di intervallo di byte, Cloud CDN può avviare due tipi di richieste: richieste di convalida e richieste di intervallo di byte.
Impostazioni della posizione dei dati di altri servizi Cloud Platform
L'utilizzo di Cloud CDN implica che i dati potrebbero essere archiviati in località di pubblicazione al di fuori della regione o della zona del server di origine. È normale e il funzionamento della memorizzazione nella cache HTTP su internet. Ai sensi dei Termini specifici del servizio dei Termini di servizio della Google Cloud Platform, l'impostazione della posizione dei dati disponibile per alcuni servizi della piattaforma Cloud non si applica ai dati dei clienti principali per il rispettivo servizio della piattaforma Cloud se utilizzato con altri prodotti e servizi Google (in questo caso il servizio Cloud CDN). Se non vuoi questo risultato, non utilizzare il servizio Cloud CDN.
Supporto per i certificati SSL gestiti da Google
Puoi utilizzare certificati gestiti da Google quando Cloud CDN è abilitato.
Integrazione con Google Cloud Armor
Google Cloud Armor con Cloud CDN offre due tipi di criteri di sicurezza:
- Policy di sicurezza edge. Questi criteri possono essere applicati ai server di origine abilitati a Cloud CDN. Si applicano a tutto il traffico, prima della ricerca della CDN.
- Policy di sicurezza del backend. Questi criteri vengono applicati solo alle richieste di contenuti dinamici, ai fallimenti della cache o ad altre richieste destinate al server di origine.
Per ulteriori informazioni, consulta la documentazione di Cloud Armor.
Integrazione con le estensioni di servizio
Cloud CDN ti consente di aggiungere codice personalizzato al percorso di elaborazione delle richieste dei bilanciatori del carico delle applicazioni esterni globali utilizzando le estensioni edge di Service Extensions. Queste estensioni ti aiutano a implementare le personalizzazioni nel percorso della richiesta pre-cache e a influenzare la modalità di memorizzazione nella cache dei contenuti in Cloud CDN. Questa funzionalità è in anteprima.
Per saperne di più, consulta Utilizzare le estensioni di servizio per l'edge computing.
Passaggi successivi
- Per attivare Cloud CDN per le istanze con bilanciamento del carico HTTP(S) e i bucket di archiviazione, consulta Utilizzo di Cloud CDN.
- Per utilizzare Cloud CDN con Google Kubernetes Engine, consulta Configurare Cloud CDN tramite Ingress.
- Per trovare i punti di presenza di GFE, consulta Località delle cache.