arrow_back

Como armazenar conteúdos em cache com o Cloud CDN

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Como armazenar conteúdos em cache com o Cloud CDN

Lab 1 hora universal_currency_alt 1 crédito show_chart Introdutório
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Visão geral

Neste laboratório, você vai configurar a rede de fornecimento de conteúdo do Cloud (Cloud CDN) para um bucket de back-end e verificar o armazenamento em cache de uma imagem. O Cloud CDN usa os pontos de presença de conexão globalmente distribuídos para armazenar em cache conteúdo com balanceamento de carga HTTP(S) perto dos usuários. O armazenamento de conteúdo em cache nas extremidades da rede do Google agiliza a entrega de conteúdo para os usuários e reduz os custos de veiculação.

Para conferir uma lista atualizada dos locais de cache do Cloud CDN, consulte esta documentação: https://cloud.google.com/cdn/docs/locations

Objetivos

Neste laboratório, você aprenderá a fazer o seguinte:

  • Criar e preencher um bucket do Cloud Storage
  • Criar um balanceador de carga HTTP com o Cloud CDN
  • Verificar o armazenamento em cache do conteúdo do bucket

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.

  1. Faça login no Qwiklabs em uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
    Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
    Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Tarefa 1: criar e preencher um bucket do Cloud Storage

O conteúdo do Cloud CDN pode ser originado de dois tipos de back-ends:

  • Grupos de instâncias de máquina virtual (VM) do Google Compute Engine
  • Buckets do Google Cloud Storage

Neste laboratório, você definirá um bucket do Cloud Storage como back-end.

Criar um bucket exclusivo do Cloud Storage

  1. No console do Cloud, acesse o Menu de navegação (Menu de navegação) e clique em Cloud Storage > Buckets.
  2. Clique em Criar bucket.
  3. No nome, insira um valor globalmente exclusivo e clique em Continuar.
  4. Em Tipo de local, selecione Região.
  5. Em Local, escolha um local que esteja do outro lado do mundo em relação a você ou, pelo menos, em um continente diferente. Assim, haverá uma diferença maior de tempo entre o acesso à imagem com e sem o Cloud CDN ativado.
  6. Clique em Continuar e em Escolher como controlar o acesso a objetos.
  7. Desmarque Aplicar a prevenção do acesso público neste bucket, selecione Detalhado e clique em Criar.
  1. Anote o nome do bucket de armazenamento para a próxima subtarefa. Ele será indicado como [your-storage-bucket].

Copie um arquivo de imagem para o bucket

Copie uma imagem de um bucket público do Cloud Storage para seu próprio bucket.

  1. No Console do Cloud, clique em Ativar o Cloud Shell (Cloud Shell).

  2. Se for solicitado, clique em Continuar.

  3. Execute o comando a seguir no Cloud Shell, substituindo [your-storage-bucket] pelo nome do bucket:

gsutil cp gs://cloud-training/gcpnet/cdn/cdn.png gs://[your-storage-bucket]
  1. No Console do Cloud, clique em Atualizar bucket para confirmar que a imagem foi copiada.

  2. Publique o arquivo de imagem do Cloud Storage na Web com o seguinte comando:

gsutil acl ch -u AllUsers:R gs://[your-storage-bucket]/cdn.png
  1. Em Acesso público, clique em Link público para verificar se você pode acessar a imagem.

  2. Saia do Cloud Shell:

exit

Clique em Verificar meu progresso para conferir o objetivo. Crie e preencha um bucket do Cloud Storage.

Tarefa 2: crie o balanceador de carga HTTP com o Cloud CDN

O balanceamento de carga HTTP(S) oferece balanceamento de carga global para solicitações HTTP(S) de conteúdo estático feitas a um bucket do Cloud Storage (back-end). Quando você ativa o Cloud CDN no back-end, seu conteúdo é armazenado em cache em um local na conexão da rede do Google, que geralmente está muito mais perto do usuário do que o back-end.

Iniciar a configuração do balanceador de carga HTTP

  1. No Console do Cloud, acesse o Menu de navegação (Menu de navegação) e clique em Serviços de rede > Balanceamento de carga.
  2. Clique em Criar balanceador de carga.
  3. Em Balanceamento de carga HTTP(S), clique em Iniciar configuração.
  4. Em Nome, digite cdn-lb e clique em "Continuar".

Configurar o back-end

  1. Clique em Configuração de back-end.
  2. Em Serviços e buckets de back-end, clique em Criar um bucket de back-end.
  3. Em Nome, digite cdn-bucket.
  4. Clique em Procurar em Bucket do Cloud Storage.
  5. Selecione seu bucket e clique em Selecionar.
  6. Selecione Ativar Cloud CDN.
  7. Clique em Criar.

Configurar o front-end

As regras de host e caminho determinam como o tráfego será direcionado. Por exemplo, é possível direcionar o tráfego de vídeo para um back-end e o tráfego de imagem para outro. No entanto, você não definirá as regras de host e caminho neste laboratório.

  1. Clique em Configuração de front-end.

  2. Especifique o seguinte e não altere os outros valores:

    Propriedade Valor (digite o valor ou selecione a opção conforme especificado)
    Protocolo HTTP
    Versão IP IPv4
    Endereço IP Temporário
    Porta 80
  3. Clique em Concluído.

Analisar e criar o balanceador de carga HTTP

  1. Clique em Analisar e finalizar.
  2. Revise as configurações de buckets de back-end e Front-end.
  3. Clique em Criar.
    Aguarde a criação do balanceador de carga.
  4. Clique no nome do balanceador de carga (cdn-lb).
  5. Anote o endereço IP do balanceador de carga para a próxima tarefa. Ele aparecerá como [LB_IP_ADDRESS].

Clique em Verificar meu progresso para conferir o objetivo. Crie o balanceador de carga HTTP com o Cloud CDN

Tarefa 3: verificar o armazenamento em cache do conteúdo do bucket

Agora que você criou o balanceador de carga HTTP para o bucket e ativou o Cloud CDN, verifique se a imagem está sendo armazenada em cache na conexão da rede do Google.

Cronometre a solicitação HTTP da imagem

Uma das formas de verificar se a imagem está sendo armazenada em cache é cronometrar a solicitação HTTP dela. A primeira solicitação levará muito mais tempo, porque o conteúdo só é armazenado em cache em um local da conexão depois de ser acessado desse local.

  1. No Console do Cloud, clique em Ativar o Cloud Shell (Cloud Shell).
  2. Se for solicitado, clique em Continuar.
  3. Armazene o endereço IP do balanceador de carga em uma variável de ambiente:
export LB_IP_ADDRESS=<Enter the IP address of the load balancer>
  1. Execute o seguinte comando três vezes para solicitações HTTP consecutivas:
for i in {1..3};do curl -s -w "%{time_total}\n" -o /dev/null http://$LB_IP_ADDRESS/cdn.png; done

A saída será parecida com esta (não copie, este é o exemplo de saída):

1.234357 0.009600 0.006652

Analise os registros do Cloud CDN

Outra forma de confirmar que a imagem foi armazenada em cache na etapa anterior é analisar os registros do Cloud CDN. Esses registros informam quando o conteúdo foi armazenado em cache e quando o cache foi acessado.

  1. No console do Cloud, acesse o Menu de navegação (Menu de navegação) e clique em Logging > Visualizador de registros.
  2. No filtro Recursos, selecione Balanceador de carga HTTP do Cloud > cdn-lb-forwarding-rule > cdn-lb.
  1. Expanda a primeira entrada de registro (na parte superior).

  2. Na entrada, expanda httpRequest e observe que cacheLookup aparece como true, mas que não há um campo cacheHit.

    Isso mostra que a imagem não estava no cache quando a primeira solicitação foi feita.

  3. Expanda jsonPayload e observe que o campo statusDetails contém response_sent_by_backend.

    Isso mostra que a imagem veio do bucket de back-end na primeira solicitação.

  4. Feche a entrada de registro atual e expanda outra.

  5. Na entrada, expanda httpRequest e observe que cacheHit aparece como true.

    Isso mostra que a imagem já estava no cache quando esta solicitação foi feita.

  6. Expanda jsonPayload e observe que o campo statusDetails contém response_from_cache.

    Isso também mostra que a imagem foi fornecida pelo cache, e não pelo back-end, na solicitação.

Tarefa 4: revisar

Neste laboratório, você configurou o Cloud CDN para um bucket de back-end criando um balanceador de carga HTTP e ativou o Cloud CDN apenas marcando uma caixa de seleção. Para confirmar que o conteúdo do bucket foi armazenado em cache, você acessou uma imagem várias vezes e analisou os registros do Cloud CDN. Quando você acessou a imagem pela primeira vez, o processo levou mais tempo porque ela ainda não estava armazenada no local da conexão. Todas as outras solicitações foram mais rápidas, porque a imagem veio do cache no local da conexão mais perto da sua instância do Cloud Shell.

Para conferir uma lista atualizada dos locais de cache do Cloud CDN, consulte esta documentação: https://cloud.google.com/cdn/docs/locations

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Manual atualizado em 14 de setembro de 2022
Laboratório testado em 14 de setembro de 2022

Copyright 2020 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.