Questa pagina spiega come personalizzare le chiavi della cache Cloud CDN.
La modifica della configurazione della chiave della cache potrebbe comportare un calo improvviso del rapporto di hit della cache se le nuove richieste iniziano a utilizzare chiavi della cache diverse dalle voci delle vecchie chiavi della cache. Analogamente, la modifica del creatore della chiave della cache non necessariamente invalida le voci memorizzate nella cache se le nuove richieste utilizzano la stessa chiave delle vecchie chiavi della cache. Per invalidare le voci memorizzate nella cache esistenti, consulta Annullamento convalida dei contenuti inseriti nella cache.
Prima di iniziare
Questa pagina presuppone la conoscenza di Cloud CDN, delle chiavi della cache di Cloud CDN e dei servizi di backend con bilanciamento del carico. Ti consigliamo di esaminare queste pagine prima di procedere.
Attiva Cloud CDN e personalizza le chiavi della cache
Queste istruzioni attivano Cloud CDN per un servizio di backend bilanciato in base al carico e personalizza la chiave della cache. Se non hai già un bilanciatore del carico da utilizzare come origine, consulta la documentazione del bilanciatore del carico delle applicazioni esterno per istruzioni su come crearne uno.
I bucket di backend non includono il protocollo o l'host nella chiave della cache perché non influiscono sulla modalità di riferimento agli oggetti all'interno di un bucket Cloud Storage. Tuttavia, includono un insieme di parametri di stringa di query specifici per Cloud Storage, che potrebbero influire sulla risposta e essere estesi da un elenco personalizzabile di nomi di parametri.
Console
Nella Google Cloud console, vai alla pagina Cloud CDN.
Fai clic sul nome dell'origine da aggiornare.
Fai clic su Modifica.
Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.
Per espandere la sezione Rendimento della cache, fai clic su Avanti.
In Chiave cache, seleziona Personalizzata.
Nella sezione Memorizza nella cache i componenti chiave, per impostazione predefinita tutti i componenti sono selezionati. Deseleziona le caselle di controllo per i componenti da escludere dalla chiave della cache.
Fai clic su Fine.
gcloud
Per escludere uno o più componenti dalle chiavi della cache per un servizio di backend,
utilizza il comando gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --no-cache-key-include-protocol \ --no-cache-key-include-host \ --no-cache-key-include-query-string
Per i bucket di backend, utilizza il
comando gcloud compute backend-buckets update
.
API
Per escludere uno o più componenti dalla chiave della cache, specifica le opzioni di configurazione nella sezione cacheKeyPolicy
di cdnPolicy
per la risorsa backendServices
.
Per i servizi di backend, utilizza la chiamata API del metodo backendServices.update
.
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
Per i bucket di backend, utilizza la chiamata API del
metodo backendBuckets.update
.
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET
Aggiungi il seguente snippet al corpo della richiesta JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "includeProtocol": false, "includeHost": false, "includeQueryString": false } ] }
Aggiorna le chiavi della cache per aggiungere il protocollo, l'host e la stringa di query
Per impostazione predefinita, i servizi di backend configurati per utilizzare Cloud CDN includono tutti i componenti dell'URI richiesta nelle chiavi della cache. Se in precedenza hai indicato che uno o più componenti devono essere esclusi, puoi seguire i passaggi riportati di seguito per includerli di nuovo.
Queste istruzioni aggiungono il protocollo, l'host e la stringa di query alla chiave della cache per un servizio di backend esistente in cui è già attivato Cloud CDN.
Console
Nella Google Cloud console, vai alla pagina Cloud CDN.
Fai clic sul nome dell'origine da aggiornare.
Fai clic su Modifica.
Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.
Per espandere la sezione Rendimento della cache, fai clic su Avanti.
In Chiave cache, seleziona Personalizzata.
Nella sezione Componenti chiave della cache, seleziona le caselle di controllo Protocollo, Host e Stringa di query.
Fai clic su Fine.
gcloud
Per aggiungere uno o più componenti alle chiavi della cache per un servizio di backend,
utilizza il comando gcloud compute backend-services update
.
Eventuali flag non specificati rimangono invariati.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-protocol \ --cache-key-include-host \ --cache-key-include-query-string
API
Per aggiungere uno o più componenti alla chiave della cache, specifica le opzioni di configurazione nella sezione cacheKeyPolicy
di cdnPolicy
per la risorsa backendServices
.
Aggiungi il seguente snippet al corpo della richiesta JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "includeProtocol": true, "includeHost": true, "includeQueryString": true } ] }
Aggiorna le chiavi cache per utilizzare un elenco di inclusione o esclusione dei parametri della stringa di query
Queste istruzioni impostano le chiavi della cache Cloud CDN in modo da utilizzare un elenco di inclusione o un elenco di esclusione con i parametri della stringa di query.
Console
Nella Google Cloud console, vai alla pagina Cloud CDN.
Fai clic sul nome dell'origine da aggiornare.
Fai clic su Modifica.
Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.
Per espandere la sezione Rendimento della cache, fai clic su Avanti.
In Chiave cache, seleziona Personalizzata.
Nella sezione Memorizza nella cache i componenti chiave, seleziona la casella di controllo Stringa di query. Quindi, seleziona una delle seguenti opzioni:
Se vuoi specificare i parametri della stringa di query che devono far parte della chiave della cache, seleziona Includi solo i parametri selezionati.
Se vuoi specificare che tutti i parametri della stringa di query, tranne quelli elencati, devono essere inclusi nella chiave della cache, seleziona Includi tutto tranne i parametri selezionati.
Fai clic su Aggiungi parametro e specifica i parametri.
Fai clic su Fine.
gcloud
Per specificare un elenco di inclusione o un elenco di esclusione per un servizio di backend,
specifica i parametri della stringa di query utilizzando il comando gcloud compute backend-services
update
.
Utilizza questo comando per impostare il parametro della stringa di query user
nell'elenco include di un servizio di backend.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-query-string \ --cache-key-query-string-whitelist user
Utilizza questo comando per impostare il parametro della stringa di query user
nell'elenco di esclusione di un servizio di backend.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-query-string \ --cache-key-query-string-blacklist user
Utilizza questo comando per impostare il parametro della stringa di query user
nell'elenco include di un bucket di backend.
gcloud compute backend-buckets update BACKEND_BUCKET \ --cache-key-query-string-whitelist user
API
Per specificare un elenco di inclusione o un elenco di esclusione per un servizio di backend,
specifica i parametri della stringa di query nella sezione cacheKeyPolicy
di cdnPolicy
per la risorsa backendServices
.
Per specificare un elenco di inclusione, aggiungi il seguente snippet al corpo della richiesta JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "queryStringWhitelist": [QUERY_STRINGS] } ] }
Sostituisci QUERY_STRINGS con un elenco separato da virgole di parametri di stringa di query.
Per specificare un elenco di esclusione, aggiungi il seguente snippet:
"cdnPolicy": { "cacheKeyPolicy": [ { "queryStringBlacklist": [QUERY_STRINGS] } ] }
Aggiorna le chiavi della cache per utilizzare le intestazioni HTTP
Queste istruzioni impostano le chiavi della cache di Cloud CDN in modo da utilizzare le intestazioni HTTP, che possono includere variabili personalizzate consentite.
Console
Nella Google Cloud console, vai alla pagina Cloud CDN.
Fai clic sul nome dell'origine da aggiornare.
Fai clic su Modifica.
Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.
Per espandere la sezione Rendimento della cache, fai clic su Avanti.
In Chiave cache, seleziona Personalizzata.
Nella sezione Componenti chiave della cache, seleziona la casella di controllo Intestazioni HTTP.
Per specificare una o più intestazioni HTTP, fai clic su Aggiungi intestazione HTTP.
Fai clic su Fine.
gcloud
Utilizza il comando gcloud compute backend-services update
con l'opzione cache-key-include-http-header
.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-http-header=[HEADER_FIELD_NAMES,...]
Sostituisci HEADER_FIELD_NAMES con un elenco di nomi di intestazioni separati da virgole.
API
Specifica le intestazioni HTTP per le chiavi cache nella cacheKeyPolicy
sezione di cdnPolicy
per la risorsa backendServices
.
Aggiungi il seguente snippet al corpo della richiesta JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "includeHttpHeaders": [HEADER_FIELD_NAMES] } ] }
Sostituisci HEADER_FIELD_NAMES con un elenco di nomi di intestazioni separati da virgole.
Se l'intestazione della chiave della cache specificata è specificata anche come intestazione della richiesta personalizzata, non puoi utilizzare la gamma completa di variabili.
Per ulteriori informazioni, consulta Utilizzare le variabili personalizzate con le intestazioni delle richieste.
Aggiornare le chiavi di cache per utilizzare i cookie denominati
Queste istruzioni impostano le chiavi della cache Cloud CDN in modo da utilizzare i cookie HTTP.
Console
Nella Google Cloud console, vai alla pagina Cloud CDN.
Fai clic sul nome dell'origine da aggiornare.
Fai clic su Modifica.
Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.
Per espandere la sezione Rendimento della cache, fai clic su Avanti.
In Chiave cache, seleziona Personalizzata.
Nella sezione Componenti chiave della cache, seleziona la casella di controllo Cookie con nome.
Per specificare uno o più cookie, fai clic su Aggiungi cookie denominato.
Fai clic su Fine.
gcloud
Utilizza il comando gcloud compute backend-services update
con l'opzione cache-key-include-named-cookie
.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-named-cookie=[NAMED_COOKIES,...]
Sostituisci NAMED_COOKIES con un elenco separato da virgole di cookie denominati.
API
Per specificare un elenco di inclusione o un elenco di esclusione per un servizio di backend,
specifica i parametri della stringa di query nella sezione cacheKeyPolicy
di cdnPolicy
per la risorsa backendServices
.
Per specificare un elenco di inclusione, aggiungi il seguente snippet al corpo della richiesta JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "includeNamedCookies": [NAMED_COOKIES] } ] }
Sostituisci NAMED_COOKIES con un elenco separato da virgole di parametri di stringa di query.
Passaggi successivi
- Per verificare se Cloud CDN serve risposte dalla cache, consulta Log e metriche per la memorizzazione nella cache.