Personalizzare le chiavi della cache

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

  1. Nella Google Cloud console, vai alla pagina Cloud CDN.

    Vai a Cloud CDN

  2. Fai clic sul nome dell'origine da aggiornare.

  3. Fai clic su Modifica.

    Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.

  4. Per espandere la sezione Rendimento della cache, fai clic su Avanti.

  5. In Chiave cache, seleziona Personalizzata.

  6. 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.

  7. 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

  1. Nella Google Cloud console, vai alla pagina Cloud CDN.

    Vai a Cloud CDN

  2. Fai clic sul nome dell'origine da aggiornare.

  3. Fai clic su Modifica.

    Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.

  4. Per espandere la sezione Rendimento della cache, fai clic su Avanti.

  5. In Chiave cache, seleziona Personalizzata.

  6. Nella sezione Componenti chiave della cache, seleziona le caselle di controllo Protocollo, Host e Stringa di query.

  7. 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

  1. Nella Google Cloud console, vai alla pagina Cloud CDN.

    Vai a Cloud CDN

  2. Fai clic sul nome dell'origine da aggiornare.

  3. Fai clic su Modifica.

    Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.

  4. Per espandere la sezione Rendimento della cache, fai clic su Avanti.

  5. In Chiave cache, seleziona Personalizzata.

  6. 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.

  7. Fai clic su Aggiungi parametro e specifica i parametri.

  8. 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

  1. Nella Google Cloud console, vai alla pagina Cloud CDN.

    Vai a Cloud CDN

  2. Fai clic sul nome dell'origine da aggiornare.

  3. Fai clic su Modifica.

    Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.

  4. Per espandere la sezione Rendimento della cache, fai clic su Avanti.

  5. In Chiave cache, seleziona Personalizzata.

  6. Nella sezione Componenti chiave della cache, seleziona la casella di controllo Intestazioni HTTP.

  7. Per specificare una o più intestazioni HTTP, fai clic su Aggiungi intestazione HTTP.

  8. 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

  1. Nella Google Cloud console, vai alla pagina Cloud CDN.

    Vai a Cloud CDN

  2. Fai clic sul nome dell'origine da aggiornare.

  3. Fai clic su Modifica.

    Se all'origine sono collegati più bilanciatori del carico, seleziona quello che vuoi aggiornare dal menu Modifica.

  4. Per espandere la sezione Rendimento della cache, fai clic su Avanti.

  5. In Chiave cache, seleziona Personalizzata.

  6. Nella sezione Componenti chiave della cache, seleziona la casella di controllo Cookie con nome.

  7. Per specificare uno o più cookie, fai clic su Aggiungi cookie denominato.

  8. 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