Esta página explica como personalizar as chaves da cache da RFC na nuvem.
A alteração da configuração da chave de cache pode resultar numa diminuição súbita da taxa de acertos da cache se os novos pedidos começarem a usar chaves de cache diferentes das entradas de chaves de cache antigas. Da mesma forma, a alteração do criador da chave de cache não invalida necessariamente as entradas em cache se os novos pedidos usarem a mesma chave que as chaves de cache antigas. Para invalidar entradas em cache existentes, consulte o artigo Invalidar conteúdo em cache.
Antes de começar
Esta página pressupõe que tem conhecimentos sobre o Cloud CDN, as chaves de cache do Cloud CDN e os serviços de back-end com balanceamento de carga. Recomendamos que reveja estas páginas antes de continuar.
Ative o Cloud CDN e personalize as chaves de cache
Estas instruções ativam o Cloud CDN para um serviço de back-end com balanceamento de carga e personalizam a chave de cache. Se ainda não tiver um balanceador de carga para usar como origem, consulte a documentação do balanceador de carga de aplicações externo para obter instruções sobre como criar um.
Os contentores de back-end não incluem o protocolo nem o anfitrião na chave da cache porque estes não influenciam a forma como os objetos são referenciados num contentor do Cloud Storage. No entanto, incluem um conjunto de parâmetros de string de consulta específicos do Cloud Storage, que podem afetar a resposta e podem ser expandidos por uma lista personalizável de nomes de parâmetros.
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique no nome da origem que quer atualizar.
Clique em Edit.
Se estiver anexado mais do que um equilibrador de carga à origem, selecione o equilibrador de carga que quer atualizar no menu Editar.
Para expandir a secção Desempenho da cache, clique em Seguinte.
Para Chave de cache, selecione Personalizada.
Na secção Componentes da chave de cache, por predefinição, todos os componentes estão selecionados. Desmarque as caixas de verificação de todos os componentes que quer excluir da chave da cache.
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 da cache, especifique opções de configuração na secção cacheKeyPolicy
de cdnPolicy
para o recurso backendServices
.
Para serviços de back-end, use o método backendServices.update
de chamada da API.
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
Para buckets de back-end, use o método
backendBuckets.update
de chamada da API.
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET
Adicione o seguinte fragmento ao corpo do pedido JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "includeProtocol": false, "includeHost": false, "includeQueryString": false } ] }
Atualize as chaves da cache para adicionar o protocolo, o anfitrião e a string de consulta
Por predefinição, os serviços de back-end configurados para usar o Cloud CDN incluem todos os componentes do URI de pedido nas chaves de cache. Se indicou anteriormente que um ou mais componentes deviam ser excluídos, pode usar os seguintes passos para os incluir novamente.
Estas instruções adicionam o protocolo, o anfitrião e a string de consulta à chave de cache para um serviço de back-end existente que já tem o Cloud CDN ativado.
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique no nome da origem que quer atualizar.
Clique em Edit.
Se estiver anexado mais do que um equilibrador de carga à origem, selecione o equilibrador de carga que quer atualizar no menu Editar.
Para expandir a secção Desempenho da cache, clique em Seguinte.
Para Chave de cache, selecione Personalizada.
Na secção Componentes da chave de cache, selecione as caixas de verificação Protocolo, Anfitrião e String de consulta.
Clique em Concluído.
gcloud
Para adicionar um ou mais componentes às chaves da cache de um serviço de back-end,
use o comando gcloud compute backend-services update
.
Todas 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 secção cacheKeyPolicy
de cdnPolicy
para o recurso backendServices
.
Adicione o seguinte fragmento ao corpo do pedido JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "includeProtocol": true, "includeHost": true, "includeQueryString": true } ] }
Atualize as chaves da cache para usar uma lista de inclusão ou exclusão de parâmetros de strings de consulta
Estas instruções definem as chaves da cache do Cloud CDN para usar uma lista de inclusão ou uma lista de exclusão com parâmetros da string de consulta.
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique no nome da origem que quer atualizar.
Clique em Edit.
Se estiver anexado mais do que um equilibrador de carga à origem, selecione o equilibrador de carga que quer atualizar no menu Editar.
Para expandir a secção Desempenho da cache, clique em Seguinte.
Para Chave de cache, selecione Personalizada.
Na secção Componentes da chave de cache, selecione a caixa de verificação String de consulta. Em seguida, selecione uma das seguintes opções:
Se quiser especificar parâmetros da string de consulta que têm de fazer parte da chave de cache, selecione Incluir apenas os selecionados.
Se quiser especificar que todos os parâmetros da string de consulta, exceto os que indicar, estão incluídos na chave da cache, selecione Incluir tudo, exceto o que foi selecionado.
Clique em Adicionar parâmetro e especifique os parâmetros.
Clique em Concluído.
gcloud
Para especificar uma lista de inclusão ou uma lista de exclusão para um serviço de back-end,
especifique parâmetros de string de consulta através do comando gcloud compute backend-services
update
.
Use este comando para definir o parâmetro de string de consulta user
para 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 da string de consulta user
para a 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
para a lista de inclusão de um contentor do back-end.
gcloud compute backend-buckets update BACKEND_BUCKET \ --cache-key-query-string-whitelist user
API
Para especificar uma lista de inclusão ou uma lista de exclusão para um serviço de back-end, especifique parâmetros de strings de consulta na secção cacheKeyPolicy
do recurso cdnPolicy
para o recurso backendServices
.
Para especificar uma lista de inclusão, adicione o seguinte fragmento ao corpo do pedido JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "queryStringWhitelist": [QUERY_STRINGS] } ] }
Substitua QUERY_STRINGS por uma lista de parâmetros de string de consulta separados por vírgulas.
Para especificar uma lista de exclusão, adicione o seguinte fragmento:
"cdnPolicy": { "cacheKeyPolicy": [ { "queryStringBlacklist": [QUERY_STRINGS] } ] }
Atualize as chaves de cache para usar cabeçalhos HTTP
Estas instruções definem as chaves de cache da RFC para usar cabeçalhos HTTP, que podem incluir variáveis personalizadas permitidas.
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique no nome da origem que quer atualizar./
Clique em Edit.
Se estiver anexado mais do que um equilibrador de carga à origem, selecione o equilibrador de carga que quer atualizar no menu Editar.
Para expandir a secção Desempenho da cache, clique em Seguinte.
Para Chave de cache, selecione Personalizada.
Na secção Componentes da chave da cache, selecione a caixa de verificação Cabeçalhos HTTP.
Para especificar um ou mais cabeçalhos HTTP, clique em Adicionar cabeçalho HTTP.
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çalhos separados por vírgulas.
API
Especifique os cabeçalhos HTTP para chaves de cache na secção cacheKeyPolicy
de cdnPolicy
para o recurso backendServices
.
Adicione o seguinte fragmento ao corpo do pedido JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "includeHttpHeaders": [HEADER_FIELD_NAMES] } ] }
Substitua HEADER_FIELD_NAMES por uma lista de nomes de cabeçalhos separados por vírgulas.
Se o cabeçalho da chave de cache especificado também for especificado como um cabeçalho de pedido personalizado, não pode usar o intervalo completo de variáveis.
Para mais informações, consulte o artigo Use variáveis personalizadas com cabeçalhos de pedidos.
Atualize as chaves de cache para usar cookies com nome
Estas instruções definem as chaves da cache da RFC do Cloud para usar cookies HTTP.
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique no nome da origem que quer atualizar.
Clique em Edit.
Se estiver anexado mais do que um equilibrador de carga à origem, selecione o equilibrador de carga que quer atualizar no menu Editar.
Para expandir a secção Desempenho da cache, clique em Seguinte.
Para Chave de cache, selecione Personalizada.
Na secção Componentes da chave de cache, selecione a caixa de verificação Cookies com nome.
Para especificar um ou mais cookies, clique em Adicionar cookie com nome.
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 com nome.
API
Para especificar uma lista de inclusão ou uma lista de exclusão para um serviço de back-end, especifique parâmetros de strings de consulta na secção cacheKeyPolicy
do recurso cdnPolicy
para o recurso backendServices
.
Para especificar uma lista de inclusão, adicione o seguinte fragmento ao corpo do pedido JSON:
"cdnPolicy": { "cacheKeyPolicy": [ { "includeNamedCookies": [NAMED_COOKIES] } ] }
Substitua NAMED_COOKIES por uma lista de parâmetros de string de consulta separados por vírgulas.
O que se segue?
- Para verificar se o Cloud CDN está a publicar respostas a partir da cache, consulte o artigo Registos e métricas para o armazenamento em cache.