Como adicionar buckets de back-end aos balanceadores de carga

Com os buckets de back-end, você usa os buckets do Google Cloud Storage com o balanceamento de carga HTTP(S).

Como usar um bucket do Cloud Storage como back-end do balanceador de carga

Um balanceador de carga HTTP(S) externo usa um mapa de URLs para direcionar o tráfego de URLs especificados para um serviço de back-end ou um bucket de back-end. Um caso de uso comum é:

  • enviar solicitações de conteúdo dinâmico, como dados, para um serviço de back-end;
  • enviar solicitações de conteúdo estático, como imagens, para um bucket de back-end.

No diagrama a seguir, o balanceador de carga envia tráfego com um caminho de /static/eu/ para um bucket do Cloud Storage na região europe-north. Todas as outras solicitações vão para um bucket do Cloud Storage na região us-east.

Distribuição de tráfego para o Cloud Storage (clique para ampliar)
Distribuição de tráfego para o Cloud Storage (clique para ampliar)

Neste documento, você verá como criar um balanceador de carga de HTTP(S) externo para encaminhar solicitações de conteúdo estático para buckets do Cloud Storage. Depois de configurar um balanceador de carga com os buckets de back-end, as solicitações para caminhos de URL que começam com /static/eu são enviados para o bucket europe-north do Cloud Storage. Todas as outras solicitações serão enviadas para o bucket us-east do Cloud Storage.

Antes de começar

  1. Se você estiver usando os utilitários gcloud ou gsutil, poderá instalá-los fazendo referência ao documento Guia de início rápido: como usar a ferramenta gsutil.
  2. Configure um projeto padrão.

    Console

    a. Acesse a página inicial no Console do Google Cloud.
    Acessar a página inicial do Google Cloud

    b. À direita do Google Cloud, selecione um projeto no menu suspenso.

    gcloud ou gsutil

         gcloud config set project [PROJECT_ID]
        

    ou

         gsutil config set project [PROJECT_ID]
        
    • [PROJECT_ID]: o projeto que você usará neste guia.

Como criar dois buckets do Cloud Storage

Console

  1. No Console do Cloud, abra o navegador do Cloud Storage:
    Abrir o navegador do Cloud Storage
  2. Clique em Criar bucket.
  3. Especifique valores para os campos a seguir, deixando todos os outros nos seus valores padrão:

    Propriedade Valor (insira o valor ou selecione uma opção conforme especificado)
    Nome Para cada bucket, insira um nome globalmente exclusivo. Se o nome inserido não for exclusivo, você receberá uma mensagem para tentar outro nome.
    Tipo de local Região
    Local Para um bucket, selecione us-east1
    . Para o outro, selecione europe-north1.
    Classe de armazenamento padrão Padrão
    Controle de acesso Detalhado
  4. Clique em Criar.

  5. Anote os nomes dos buckets recém-criados do Cloud Storage para a próxima etapa, em que são chamados de BUCKET_1_NAME e BUCKET_2_NAME.

gsutil

    gsutil mb -p project-id -c standard -l us-east1 -b on gs://BUCKET_1_NAME
    
    gsutil mb -p project-id -c standard -l europe-north1 -b on gs://BUCKET_2_NAME
    

Como copiar um arquivo gráfico nos buckets do Cloud Storage

Copie um arquivo gráfico de um bucket público do Cloud Storage para seus próprios buckets do Cloud Storage.

  1. Execute o seguinte comando no Cloud Shell, substituindo as variáveis de nome do bucket pelos nomes do bucket do Cloud Storage:

        gsutil cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET_1_NAME/static/us/
        
        gsutil cp gs://gcp-external-http-lb-with-bucket/two-dogs.jpg gs://BUCKET_2_NAME/static/eu/
        
  2. No Console do Cloud, clique em Atualizar bucket para verificar se o arquivo gráfico está copiado.

Tornar públicos os buckets do Cloud Storage

    gsutil iam ch allUsers:objectViewer gs://BUCKET_1_NAME
    
    gsutil iam ch allUsers:objectViewer gs://BUCKET_2_NAME
    

Como criar o balanceador de carga HTTP com os buckets de back-end

Como iniciar o processo de configuração do balanceador de carga HTTP

  1. Acesse a página "Balanceamento de carga" no Console do Google Cloud.
    Acessar a página "Balanceamento de carga"
  2. Em Balanceamento de carga HTTP(S), clique em Iniciar configuração.
  3. Selecione Da internet para minhas VMs.
  4. Defina o Nome como http-lb.

Como configurar o back-end

  1. Clique em Configuração de back-end.
  2. Para Serviços de back-end e buckets de back-end, clique em Criar ou selecionar serviços de back-end e buckets de back-end, clique em Buckets de back-end > Criar um bucket de back-end.
  3. Defina o Nome como backend-bucket1.
  4. Clique em Procurar em bucket do Cloud Storage.
  5. Selecione seu BUCKET_1_NAME e clique em Selecionar.
  6. Clique em Criar.

Repita essa etapa para criar backend-bucket2 e navegue até BUCKET_2_NAME.

Configurar regras de host e correspondentes de caminho

As regras de host e os correspondentes de caminho são componentes de configuração do Mapa de URLs de um balanceador de carga de HTTP(S) externo.

  1. Clique em Regras de host e caminho.
  2. Para backend-bucket1, não é possível alterar os hosts e caminhos padrão. Isso significa que todas as solicitações sem correspondência vão para backend-bucket1.
  3. Para backend-bucket2, insira * no campo Hosts.
  4. Para backend-bucket2, insira /static/eu/* no campo Caminhos.

    Hosts Caminhos Back-end
    Todos sem correspondência (padrão) Todos sem correspondência (padrão) backend-bucket1
    * /static/eu/* backend-bucket2
  5. Clique em Criar.

Como configurar o front-end

  1. Clique em Configuração de front-end.
  2. Verifique se as seguintes opções estão configuradas com estes valores:

    Propriedade
    Valor: digite um valor ou selecione uma opção conforme especificado
    Protocolo
    HTTP
    Nível de serviço da rede
    Premium
    Versão IP
    IPv4
    Endereço IP
    Temporário
    Porta
    80
  3. Clique em Concluído.

Como verificar a configuração

  1. Clique em Revisar e finalizar.
  2. Verifique os Buckets de back-end, as Regras de host e caminho e o Front-end.
  3. Clique em Criar.
  4. Aguarde o balanceador de carga ser criado.
  5. Clique no nome do balanceador de carga (http-lb).
  6. Anote o endereço IP do balanceador de carga para a próxima tarefa. Ele é referenciado como ip-address.

Como enviar tráfego para seu bucket de back-end

Agora que você configurou o balanceador de carga, pode começar a enviar tráfego para o endereço IP dele.

Console

  1. Acesse a página "Balanceamento de carga" no Console do Google Cloud.
    Acessar a página "Balanceamento de carga"
  2. Clique em http-lb para expandir o balanceador de carga que você acabou de criar.
  3. Na seção Back-end, confirme se os buckets de back-end estão íntegros. Você precisa ver uma marca de seleção verde ao lado dos buckets de back-end. Se não houver uma, tente atualizar a página. Pode levar alguns instantes para o Console do Cloud indicar que os back-ends estão íntegros.
  4. Depois que o Console do Cloud mostrar que os buckets de back-end são íntegros, teste seu balanceador de carga usando um navegador da Web acessando https://ip-address/static/eu/two-dogs.jpg e https://ip-address/static/us/three-cats.jpg, em que ip-address é o endereço IP do balanceador de carga. Seu navegador precisa renderizar páginas com conteúdo que mostre os arquivos gráficos.

gcloud/como usar o curl

Use o comando curl para testar a resposta do URL. Substitua IP_Address pelo endereço IPv4 do balanceador de carga:

    curl https://ip-address/static/eu/two-dogs.jpg
    
    curl https://ip-address/static/us/three-cats.jpg
    

A seguir