Visão geral do Cloud CDN

O Cloud CDN (rede de fornecimento de conteúdo) usa a rede de borda global do Google para exibir conteúdo mais relevante aos usuários, o que acelera seus sites e aplicativos.

O Cloud CDN funciona com o balanceamento de carga HTTP(S) externo para fornecer conteúdo aos usuários. O balanceador de carga HTTP(S) fornece os endereços IP do front-end e as portas que recebem solicitações, assim como os back-ends que respondem às solicitações.

O conteúdo do Cloud CDN pode ser proveniente de vários tipos de back-ends:

No Cloud CDN, esses back-ends também são chamados de servidores de origem. A figura a seguir ilustra como as respostas dos servidores de origem em execução nas instâncias de VM fluem por meio de um balanceador de carga HTTP(S) antes de serem entregues pelo Cloud CDN.

As respostas fluem dos servidores de origem por meio do Cloud CDN para os clientes
Fluxo de respostas do Cloud CDN

Como o Cloud CDN funciona

Quando um usuário solicita conteúdo de um balanceador de carga HTTP(S) externo, a solicitação chega a um Google Front End (GFE), que fica na borda da rede do Google, o mais próximo possível do usuário.

Se o mapa de URLs do balanceador de carga direcionar o tráfego para um serviço ou bucket de back-end que tenha o Cloud CDN configurado, o GFE usará o Cloud CDN.

Ocorrências e ausências no cache

Um cache é um grupo de servidores que armazena e gerencia conteúdo para que as solicitações futuras desse conteúdo possam ser exibidas mais rapidamente. O conteúdo em cache é uma cópia do conteúdo armazenável que está armazenado em servidores de origem.

Se o GFE procurar no cache do Cloud CDN e encontrar uma resposta armazenada em cache para a solicitação do usuário, o GFE a enviará ao usuário. Isso é chamado de ocorrência em cache. Quando há uma ocorrência em cache, o GFE procura o conteúdo pela chave de cache e responde diretamente ao usuário, diminuindo o tempo de retorno e evitando que o servidor de origem processe a solicitação.

Na primeira vez que um conteúdo é solicitado, o GFE determina que ele não pode atender à solicitação do cache. Isso é chamado de ausência no cache. Quando ela ocorre, o GFE tenta conseguir o conteúdo de um cache próximo. Se o cache próximo tiver o conteúdo, o GFE o enviará ao primeiro cache por meio do preenchimento cache para cache. Caso contrário, o GFE encaminhará a solicitação ao balanceador de carga HTTP(S) externo.

Em seguida, o balanceador de carga encaminha a solicitação para um dos servidores de origem. Quando o cache recebe o conteúdo, o GFE encaminha esse conteúdo para o usuário.

A figura a seguir mostra uma ocorrência em cache e uma ausência no cache:

  1. Servidores de origem em execução em instâncias de VM enviam respostas HTTP(S).
  2. O balanceador de carga HTTP(S) externo distribui as respostas para o Cloud CDN.
  3. O Cloud CDN entrega as respostas aos usuários finais.
A resposta inicial é exibida pelo servidor de origem, enquanto as respostas subsequentes são exibidas pelo GFE a partir do cache
Ocorrência em cache e ausência no cache

Saída e preenchimento do cache

Se a resposta do servidor de origem a essa solicitação for armazenável em cache, o Cloud CDN armazenará a resposta no próprio cache para solicitações futuras.

A transferência de dados de um cache para um cliente é chamada de saída do cache. A transferência de dados para um cache é chamada de preenchimento do cache. Conforme ilustrado na figura a seguir, o preenchimento do cache pode se originar de outro cache do Cloud CDN ou do servidor de origem.

O preenchimento do cache é uma transferência de dados de um servidor de origem para um cache ou de um cache para outro. A saída do cache é uma transferência de dados de um cache para um cliente.
Preenchimento do cache e saída do cache

Em ocorrências em cache, há custos para a largura de banda de saída do cache. Nas ausências no cache, incluindo aquelas que resultaram em preenchimento de cache para cache, também há custos de largura de banda de preenchimento de cache. Isso significa que as ocorrências em cache custam menos do que as ausências no cache. Para informações detalhadas, consulte os Preços.

Nenhum redirecionamento de URL

O Cloud CDN não executa nenhum redirecionamento de URL. O cache do Cloud CDN está localizado no GFE. Isso significa que:

  • independentemente de o Cloud CDN estar ativado ou não, o URL solicitado por um cliente permanece o mesmo;
  • independentemente de haver ou não uma ocorrência em cache, o URL permanece o mesmo.

Proporção de ocorrência em cache

A proporção de ocorrência em cache é a porcentagem de vezes que um objeto solicitado é exibido a partir do cache. Se a proporção de ocorrência em cache for de 60%, isso significa que o objeto solicitado será exibido a partir do cache 60% do tempo e precisa ser recuperado da origem 40% do tempo.

No Console do Google Cloud, a proporção de ocorrência em cache é registrada para cada origem na coluna Proporção de ocorrência em cache.

Acessar a página do Cloud CDN

A porcentagem mostrada nesta página representa uma proporção calculada para um período curto (os últimos minutos). Para visualizar a proporção de ocorrência em cache por um período de 1 a 30 dias, clique no nome da origem e, em seguida, na guia Monitoramento.

Para informações sobre como as chaves de cache podem afetar a proporção de ocorrência em cache, consulte Como usar chaves de cache. Para informações sobre solução de problemas, consulte A taxa de ocorrência em cache está baixa.

Como inserir conteúdo no cache

O armazenamento em cache é reativo, isto é, o objeto será armazenado em um determinado cache se a solicitação passar por ele e se a resposta for armazenável. Um objeto armazenado em um cache não é replicado automaticamente em outros. O preenchimento de cache acontece apenas em resposta a uma solicitação iniciada pelo cliente. Não é possível pré-carregar os caches, exceto fazendo com que os caches individuais respondam às solicitações.

Quando o servidor de origem é compatível com solicitações de intervalos de bytes, o Cloud CDN pode iniciar várias solicitações de preenchimento de cache em resposta a uma única solicitação do cliente.

Como exibir conteúdo de um cache

Após ativar o Cloud CDN, o armazenamento em cache acontece automaticamente para todos os conteúdos armazenáveis. O servidor de origem usa cabeçalhos HTTP para indicar quais respostas são armazenadas em cache. Também é possível controlar a capacidade de armazenamento em cache usando os modos de cache.

Ao usar um bucket de back-end, o servidor de origem é o Cloud Storage. Ao usar instâncias de VM, o servidor de origem é o software servidor da Web executado nessas instâncias.

O Cloud CDN usa caches em vários locais pelo mundo. Devido à natureza dos caches, é impossível prever se uma determinada solicitação será exibida fora de um cache. No entanto, as solicitações comuns de conteúdo armazenável em cache serão exibidas a partir de um cache na maioria das vezes, gerando significativa redução de latência, custos e carga nos servidores de origem.

Para mais informações sobre o que o Cloud CDN armazena em cache e por quanto tempo, consulte a Visão geral do armazenamento em cache.

Para ver o que o Cloud CDN está exibindo a partir de um cache, visualize os registros.

Como remover conteúdo do cache

Para remover um item do cache, é possível invalidar o conteúdo em cache. Para mais informações, veja:

Ignorar cache

Para ignorar o Cloud CDN, é possível solicitar um objeto diretamente de um bucket do Cloud Storage ou de uma VM do Compute Engine. Por exemplo, um URL para um objeto de bucket do Cloud Storage é semelhante ao seguinte:

https://storage.googleapis.com/STORAGE_BUCKET/FILENAME

Remoção e expiração

Para o conteúdo ser disponibilizado a partir de um cache, ele precisa ter sido inserido no cache, não pode ter sido removido e não pode ter expirado.

Remoção e expiração são dois conceitos diferentes. Ambos afetam o que é exibido, mas não afetam diretamente um ao outro.

Remoção

Cada cache tem um limite de armazenamento. No entanto, o Cloud CDN adiciona conteúdo a caches mesmo depois de estarem cheios. Para inserir conteúdo em um cache completo, primeiro ele precisa remover outra coisa para liberar espaço. Isso é chamado de remoção. Em geral. os caches estão cheios, por isso estão sempre removendo conteúdo. Eles costumam remover conteúdo que não tenha sido acessado recentemente, seja qual for o prazo de validade. O conteúdo removido pode ter expirado ou não. Definir um prazo de validade não afeta a remoção.

Conteúdo incomum significa que um conteúdo não é acessado há algum tempo. Algum tempo e incomum são relativos à maioria dos outros itens no cache. À medida que recebem mais tráfego, os caches também liberam mais conteúdo armazenado.

Como com todos os caches em grande escala, o conteúdo pode ser removido de maneira imprevisível, portanto, nenhuma solicitação particular é garantida para ser exibida a partir do cache.

Expiração

O conteúdo em caches HTTP(S) pode ter um prazo de validade configurável. O prazo de validade informa ao cache para não exibir conteúdo antigo, mesmo que ele não tenha sido removido.

Por exemplo, considere um URL de imagem da hora. Suas respostas precisam ser definidas para expirar em menos de uma hora. Caso contrário, o conteúdo exibido pode ser uma imagem antiga de um cache.

Para informações sobre como ajustar os prazos de validade, consulte Como usar configurações e modificações de TTL.

Solicitações iniciadas pelo Cloud CDN

Quando o servidor de origem tem suporte para solicitações de intervalo de bytes, o Cloud CDN pode enviar várias solicitações ao servidor de origem em reação a apenas uma solicitação do cliente. Conforme descrito em Suporte para solicitações de intervalo de bytes, o Cloud CDN pode iniciar dois tipos de solicitação: solicitações de validação e de intervalo de bytes.

Configurações de locais de dados de outros serviços do Cloud Platform

Ao usar o Cloud CDN, é possível armazenar os dados em locais de disponibilização fora da região ou da zona do servidor de origem. Esse procedimento é normal e é como o armazenamento em cache HTTP funciona na Internet. De acordo com os Termos Específicos do Serviço dos Termos de Serviço do Google Cloud Platform, a configuração de locais de dados disponível para determinados serviços do Cloud Platform não se aplica aos dados principais do cliente para o respectivo serviço quando usado com outros produtos e serviços do Google (neste caso, o serviço Cloud CDN). Se você não quiser esse resultado, não use o serviço do Cloud CDN.

Suporte para certificados SSL gerenciados pelo Google

É possível usar certificados gerenciados pelo Google quando o Cloud CDN está ativado.

Google Cloud Armor com Cloud CDN

Se você estiver usando o Google Cloud Armor com o Cloud CDN, as políticas de segurança serão aplicadas apenas para solicitações de conteúdo dinâmico, ausências no cache ou outras solicitações destinadas ao servidor de origem. As ocorrências em cache serão exibidas mesmo se a política de segurança downstream do Google Cloud Armor impedir que a solicitação chegue ao servidor de origem.

A seguir