Nesta página, fornecemos instruções para mudar os modos de cache com o Cloud CDN. Os modos de cache permitem configurar como o Cloud CDN armazena seu 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 seu 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 as configurações de origem com base nos cabeçalhos de controle de cache: respostas de cache com diretivas de cache válidas nos cabeçalhos de resposta.
- Forçar 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 Save.
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 automaticamente o conteúdo estático em cache. As respostas marcadas como não armazenáveis em cache (as diretivasprivate
ouno-store
nos cabeçalhos de respostaCache-Control
) não são armazenadas. O conteúdo dinâmico precisa ter cabeçalhos de cache válidos para ser armazenado em cache.USE_ORIGIN_HEADERS
: exige a origem para definir cabeçalhos de cache válidos a fim de 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, o que pode 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 as diretivasprivate
ouno-store
nos cabeçalhos de respostaCache-Control
. Isso pode resultar no armazenamento em cache de conteúdo particular por usuário (identificação de usuários). Ative a função somente em back-ends que não exibem conteúdo particular ou 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 em cache o conteúdo estático automaticamente caso a origem não defina cabeçalhos de cache válidos. As respostas marcadas como não armazenáveis em cache (as diretivasprivate
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 cache válidos.USE_ORIGIN_HEADERS
: exige a origem para definir cabeçalhos de cache válidos a fim de 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, o que pode 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 as diretivasprivate
ouno-store
nos cabeçalhos de respostaCache-Control
. Isso pode resultar no armazenamento em cache de conteúdo particular por usuário (identificação de usuários). Ative a função somente em back-ends que não exibem conteúdo particular ou dinâmico, como buckets do Cloud Storage.