Esta página fornece instruções para alterar os modos de cache com o Cloud CDN. Os modos de cache permitem configurar como o Cloud CDN armazena conteúdo em cache.
Antes de começar
Leia sobre modos de cache e conteúdo estático.
Verifique se o Cloud CDN está ativado. Para instruções, consulte Como usar o Cloud CDN.
Se necessário, atualize para a versão mais recente da CLI do Google Cloud:
gcloud components update
Como definir o modo de cache
Para configurar os modos de cache para um back-end ativado para o Cloud CDN, faça o seguinte:
Console
- No console do Google Cloud , acesse a página Balanceamento de carga.
- Clique no nome do balanceador de carga de aplicativo externo.
- Clique em Editar .
- Em Configuração de back-end, selecione um back-end e clique em Editar .
- Verifique se a opção Ativar o Cloud CDN está selecionada.
- Em Modo de cache, selecione uma das seguintes opções:
- Armazene em cache o conteúdo estático (recomendado): são recursos da Web que não são alterados para cada usuário. O conteúdo estático é baseado no
Content-Type
na resposta. Para mais informações, consulte conteúdo estático. - Use configurações de origem com base em cabeçalhos Cache-Control: respostas de cache com diretivas de cache válidas nos cabeçalhos de resposta.
- Force cache de todo o conteúdo: armazene em cache todo o conteúdo veiculado pela
origem, ignorando todas as diretivas
private
ouno-store
.
- Armazene em cache o conteúdo estático (recomendado): são recursos da Web que não são alterados para cada usuário. O conteúdo estático é baseado no
- Clique em Salvar.
gcloud
Para serviços de back-end, use o comando gcloud compute backend-services
create
ou gcloud compute backend-services
update
com a sinalização --cache-mode
.
Para buckets de back-end, use o comando gcloud compute backend-buckets
create
ou gcloud compute backend-buckets
update
com a sinalização --cache-mode
.
gcloud compute backend-services (create | update) BACKEND_SERVICE_NAME --cache-mode=CACHE_MODE
gcloud compute backend-buckets (create | update) BACKEND_BUCKET_NAME --cache-mode=CACHE_MODE
Substitua CACHE_MODE
por um dos seguintes:
CACHE_ALL_STATIC
(padrão): armazena em cache automaticamente o conteúdo estático. As respostas marcadas como não armazenáveis em cache (diretivaprivate
ouno-store
nos cabeçalhos de respostaCache-Control
) não são armazenadas. Para armazenar conteúdo dinâmico em cache, o conteúdo precisa ter cabeçalhos de armazenamento em cache válidos.USE_ORIGIN_HEADERS
: exige a origem para definir cabeçalhos de armazenamento em cache válidos para armazenar conteúdo em cache. As respostas sem esses cabeçalhos não são armazenadas em cache na borda do Google e exigem uma viagem completa à origem em todas as solicitações, podendo afetar o desempenho e aumentar a carga no servidor de origem.FORCE_CACHE_ALL
: armazena em cache todo o conteúdo (ou seja, respostas bem-sucedidas), ignorando a diretivaprivate
ouno-store
nos cabeçalhos de respostaCache-Control
. Isso pode resultar no armazenamento em cache de conteúdo particular por usuário (identificável do usuário). Só ative isso em back-ends que não disponibilizam conteúdo particular ou conteúdo dinâmico, como buckets do Cloud Storage. Não ative em back-ends que estejam veiculando conteúdo privado ou dinâmico.
API
Para buckets de back-end, use a chamada de API Method: backendBuckets.insert
ou Method: backendBuckets.update
.
Para serviços de back-end, use a chamada de API Method: backendServices.insert
ou Method: backendServices.update
.
Use uma das seguintes chamadas de API:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
Adicione o seguinte snippet ao corpo da solicitação JSON:
"cdnPolicy": { "cacheMode": (CACHE_ALL_STATIC | USE_ORIGIN_HEADERS | FORCE_CACHE_ALL)
Substitua CACHE_MODE
por um dos seguintes:
CACHE_ALL_STATIC
(padrão): armazena automaticamente em cache o conteúdo estático caso a origem não defina cabeçalhos de armazenamento em cache válidos. As respostas marcadas como não armazenáveis em cache (diretivaprivate
ouno-store
nos cabeçalhos de respostaCache-Control
) não são armazenadas. Para armazenar conteúdo dinâmico em cache, o conteúdo precisa ter cabeçalhos de armazenamento em cache válidos.USE_ORIGIN_HEADERS
: exige a origem para definir cabeçalhos de armazenamento em cache válidos para armazenar conteúdo em cache. As respostas sem esses cabeçalhos não são armazenadas em cache na borda do Google e exigem uma viagem completa à origem em todas as solicitações, podendo afetar o desempenho e aumentar a carga no servidor de origem.FORCE_CACHE_ALL
: armazena em cache todo o conteúdo (ou seja, respostas bem-sucedidas), ignorando a diretivaprivate
ouno-store
nos cabeçalhos de respostaCache-Control
. Isso pode resultar no armazenamento em cache de conteúdo particular por usuário (identificável do usuário). Ative isso somente em back-ends que não disponibilizam conteúdo particular ou dinâmico, como buckets do Cloud Storage.