Personalizar chaves de cache

Nesta página, você verá como personalizar as chaves de cache do Cloud CDN.

Alterar a configuração da chave de cache pode resultar em uma queda súbita na proporção de ocorrência em cache se as novas solicitações começarem a usar chaves de cache diferentes das entradas antigas. Da mesma forma, alterar o criador da chave de cache não invalida as entradas armazenadas em cache se as novas solicitações usarem chaves iguais às antigas. Para invalidar entradas de cache atuais, consulte Como invalidar conteúdo em cache.

Antes de começar

Para compreender o conteúdo desta página, é preciso já ter conhecimento sobre o Cloud CDN, as chaves de cache dessa solução e os serviços de back-end com carga balanceada. Recomendamos que você consulte essas páginas antes de continuar.

Ativar o Cloud CDN e personalizar as chaves de cache

Essas instruções ativam o Cloud CDN para um serviço de back-end com carga balanceada e personalizam a chave de cache. Se você ainda não tem um balanceador de carga para usar como origem, consulte a documentação do balanceador de carga de aplicativo externo para saber como criar um.

Os buckets de back-end não incluem o protocolo ou o host na chave de cache porque eles não influenciam como os objetos são referenciados em um bucket do Cloud Storage. No entanto, eles incluem um conjunto de parâmetros de string de consulta específicos do Cloud Storage, que podem afetar a resposta e ser estendidos por uma lista personalizável de nomes de parâmetros.

Console

  1. No console Google Cloud , acesse a página do Cloud CDN.

    Acessar o Cloud CDN

  2. Clique no nome da origem que você quer atualizar.

  3. Clique em Editar.

    Se mais de um balanceador de carga estiver anexado à origem, selecione o balanceador de carga que você quer atualizar no menu Editar.

  4. Para expandir a seção Desempenho do cache, clique em Próxima.

  5. Em Chave de cache, selecione Personalizado.

  6. Na seção Componentes de chave de cache, por padrão, todos os componentes são selecionados. Desmarque as caixas de seleção dos componentes que você quer excluir da chave de cache.

  7. Clique em Concluído.

gcloud

Para excluir um ou mais componentes das chaves de cache de um serviço de back-end, use o 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

Para buckets de back-end, use o comando gcloud compute backend-buckets update.

API

Para excluir um ou mais componentes da chave de cache, especifique as opções de configuração na seção cacheKeyPolicy de cdnPolicy para o recurso backendServices.

Para serviços de back-end, use a chamada de API método backendServices.update.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE

Para buckets de back-end, use a chamada de API método backendBuckets.update.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET

Adicione o seguinte snippet ao corpo da solicitação JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": false,
      "includeHost": false,
      "includeQueryString": false
    }
  ]
}

Atualizar as chaves de cache para adicionar o protocolo, o host e a string de consulta

Por padrão, os serviços de back-end configurados para usar o Cloud CDN incluem todos os componentes do URI de solicitação em chaves de cache. Se você indicou antes que um ou mais componentes precisam ser excluídos, siga as etapas abaixo para incluí-los novamente.

Essas instruções adicionam o protocolo, o host e a string de consulta à chave de cache para um serviço de back-end que já tenha o Cloud CDN ativado.

Console

  1. No console Google Cloud , acesse a página do Cloud CDN.

    Acessar o Cloud CDN

  2. Clique no nome da origem que você quer atualizar.

  3. Clique em Editar.

    Se mais de um balanceador de carga estiver anexado à origem, selecione o balanceador de carga que você quer atualizar no menu Editar.

  4. Para expandir a seção Desempenho do cache, clique em Próxima.

  5. Em Chave de cache, selecione Personalizado.

  6. Na seção Componentes de chave de cache, selecione as caixas de seleção Protocolo, Host e String de consulta.

  7. Clique em Concluído.

gcloud

Para adicionar um ou mais componentes às chaves de cache de um serviço de back-end, use o comando gcloud compute backend-services update.

As flags não especificadas permanecem inalteradas.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-protocol \
    --cache-key-include-host \
    --cache-key-include-query-string

API

Para adicionar um ou mais componentes à chave de cache, especifique as opções de configuração na seção cacheKeyPolicy de cdnPolicy para o recurso backendServices.

Adicione o seguinte snippet ao corpo da solicitação JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": true,
      "includeHost": true,
      "includeQueryString": true
    }
  ]
}

Atualizar chaves de cache para usar uma lista de inclusão ou exclusão de parâmetros de string de consulta

Estas instruções definem as chaves de cache do Cloud CDN para usar uma lista de inclusão ou exclusão com parâmetros de strings de consulta.

Console

  1. No console Google Cloud , acesse a página do Cloud CDN.

    Acessar o Cloud CDN

  2. Clique no nome da origem que você quer atualizar.

  3. Clique em Editar.

    Se mais de um balanceador de carga estiver anexado à origem, selecione o balanceador de carga que você quer atualizar no menu Editar.

  4. Para expandir a seção Desempenho do cache, clique em Próxima.

  5. Em Chave de cache, selecione Personalizado.

  6. Na seção Componentes de chave de cache, marque a caixa de seleção String de consulta. Em seguida, selecione uma das seguintes opções:

    • Se você quiser especificar parâmetros de string de consulta que façam parte da chave de cache, selecione Incluir apenas selecionados.

    • Se você quiser especificar que todos os parâmetros de string de consulta, exceto aqueles que você listar, serão incluídos na chave de cache, selecione Incluir todos, exceto os selecionados.

  7. Clique em Adicionar parâmetro e especifique os parâmetros.

  8. Clique em Concluído.

gcloud

Para especificar uma lista de inclusão ou exclusão para um serviço de back-end, especifique os parâmetros da string de consulta usando o comando gcloud compute backend-services update.

Use este comando para definir o parâmetro de string de consulta user como a lista de inclusão de um serviço de back-end.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-whitelist user

Use este comando para definir o parâmetro de string de consulta user na lista de exclusão de um serviço de back-end.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-blacklist user

Use este comando para definir o parâmetro de string de consulta user como a lista de inclusão de um bucket de back-end.

gcloud compute backend-buckets update BACKEND_BUCKET \
    --cache-key-query-string-whitelist user

API

Para especificar uma lista de inclusão ou exclusão para um serviço de back-end, especifique os parâmetros de string de consulta na seção cacheKeyPolicy de cdnPolicy para o recurso backendServices.

Para especificar uma lista de inclusão, adicione o snippet a seguir ao corpo da solicitação JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringWhitelist": [QUERY_STRINGS]
    }
  ]
}

Substitua QUERY_STRINGS por uma lista separada por vírgulas de parâmetros de string de consulta.

Para especificar uma lista de exclusão, adicione o seguinte snippet:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringBlacklist": [QUERY_STRINGS]
    }
  ]
}

Atualizar chaves de cache para usar cabeçalhos HTTP

Estas instruções definem as chaves de cache do Cloud CDN para usar cabeçalhos HTTP, que podem incluir variáveis personalizadas permitidas.

Console

  1. No console Google Cloud , acesse a página do Cloud CDN.

    Acessar o Cloud CDN

  2. Clique no nome da origem que você quer atualizar.

  3. Clique em Editar.

    Se mais de um balanceador de carga estiver anexado à origem, selecione o balanceador de carga que você quer atualizar no menu Editar.

  4. Para expandir a seção Desempenho do cache, clique em Próxima.

  5. Em Chave de cache, selecione Personalizado.

  6. Na seção Componentes de chave de cache, marque a caixa de seleção Cabeçalhos HTTP.

  7. Para especificar um ou mais cabeçalhos HTTP, clique em Adicionar cabeçalho HTTP.

  8. Clique em Concluído.

gcloud

Use o comando gcloud compute backend-services update com a opção cache-key-include-http-header.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-http-header=[HEADER_FIELD_NAMES,...]

Substitua HEADER_FIELD_NAMES por uma lista de nomes de cabeçalho separados por vírgulas.

API

Especifique cabeçalhos HTTP para chaves de cache na seção cacheKeyPolicy de cdnPolicy para o recurso backendServices.

Adicione o seguinte snippet ao corpo da solicitação JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeHttpHeaders": [HEADER_FIELD_NAMES]
    }
  ]
}

Substitua HEADER_FIELD_NAMES por uma lista de nomes de cabeçalho separados por vírgulas.

Se o cabeçalho da chave de cache especificado também for especificado como um cabeçalho de solicitação personalizado, não será possível usar o intervalo completo de variáveis.

Para mais informações, consulte Usar variáveis personalizadas com cabeçalhos de solicitação.

Atualizar chaves de cache para usar cookies nomeados

Estas instruções definem as chaves de cache do Cloud CDN para usar cookies HTTP.

Console

  1. No console Google Cloud , acesse a página do Cloud CDN.

    Acessar o Cloud CDN

  2. Clique no nome da origem que você quer atualizar.

  3. Clique em Editar.

    Se mais de um balanceador de carga estiver anexado à origem, selecione o balanceador de carga que você quer atualizar no menu Editar.

  4. Para expandir a seção Desempenho do cache, clique em Próxima.

  5. Em Chave de cache, selecione Personalizado.

  6. Na seção Componentes de chave de cache, marque a caixa de seleção Cookies nomeados.

  7. Para especificar um ou mais cookies, clique em Adicionar cookie nomeado.

  8. Clique em Concluído.

gcloud

Use o comando gcloud compute backend-services update com a opção cache-key-include-named-cookie.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-named-cookie=[NAMED_COOKIES,...]

Substitua NAMED_COOKIES por uma lista separada por vírgulas de cookies nomeados.

API

Para especificar uma lista de inclusão ou exclusão para um serviço de back-end, especifique os parâmetros de string de consulta na seção cacheKeyPolicy de cdnPolicy para o recurso backendServices.

Para especificar uma lista de inclusão, adicione o snippet a seguir ao corpo da solicitação JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeNamedCookies": [NAMED_COOKIES]
    }
  ]
}

Substitua NAMED_COOKIES por uma lista separada por vírgulas de parâmetros de string de consulta.

A seguir