Como adicionar intervalos do Cloud Storage aos balanceadores de carga

Como usar intervalos do Cloud Storage como back-ends do balanceador de carga

Neste documento, você verá como modificar a configuração do balanceador de carga HTTP(S) de exemplo para rotear solicitações de conteúdo estático para intervalos do Cloud Storage. Depois de configurar um balanceador de carga com intervalos do Cloud Storage, as solicitações para caminhos de URL que começam com /static são enviadas para os intervalos de armazenamento, e todas as outras são enviadas para instâncias de máquina virtual. Você também verá como criar uma configuração que direciona o tráfego entre dois intervalos de back-end, sendo compatível com as regiões dos EUA e da UE.

Antes de começar

  1. Se você quiser usar os utilitários da gcloud ou gsutil, consulte o documento Guia de início rápido: como usar a ferramenta gsutil para instalá-las.
  2. Configure um projeto padrão.

    Console


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

    b. À direita de Google Cloud Platform, 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.
  1. Conclua o guia de balanceamento de carga com base em conteúdo e entre regiões para criar os recursos exigidos nas instruções deste documento.

Como configurar os intervalos do Cloud Storage e o serviço de balanceamento de carga

As instruções a seguir pressupõem que você esteja fazendo upload de um único objeto para cada intervalo do Cloud Storage e definindo permissões para o objeto.

Para tornar todos os objetos nos intervalos do Cloud Storage públicos, use as instruções em Como ativar a leitura pública de grupos de objetos.

Para usar caracteres curinga (globs, link em inglês) para fazer upload e definir permissões para vários objetos, consulte Nomes de caracteres curinga. Para mais informações sobre o upload de objetos, consulte Como fazer upload de objetos.

Como configurar os intervalos do Cloud Storage

Crie dois intervalos do Cloud Storage e faça upload de um objeto para cada um deles. Os nomes dos intervalos precisam ser exclusivos globalmente. Este exemplo cria dois intervalos multirregionais, nas mesmas regiões que as instâncias no exemplo de balanceamento de carga HTTP(S).

Console


Crie um intervalo do Cloud Storage nos Estados Unidos.

  • Abra o navegador do Cloud Storage no Console do Google Cloud Platform.
    Abrir o navegador do Cloud Storage
  • Clique em Criar intervalo.
  • Digite um Nome exclusivo para o intervalo.
    • Não inclua informações confidenciais no nome do intervalo, porque o namespace dele é global e visível para o público.
  • Escolha Padrão na Classe de armazenamento.
  • Escolha Estados Unidos como Local.
  • Clique em Criar.
  • Repita as etapas para criar um segundo intervalo, desta vez selecionando União Europeia em Localização.

    Insira o intervalo us.

    Crie a pasta static.

    1. Enquanto estiver no intervalo, clique em Criar pasta.
    2. Digite o nome da pasta static.
    3. Clique em Criar.

    Faça upload de um objeto do diretório local.

    1. Enquanto estiver na pasta, clique em Enviar arquivos.
    2. Navegue até o objeto no sistema de arquivos e selecione-o.
    3. Clique em Abrir.

    Torne o objeto acessível para leitura pública para que ele possa ser exibido por meio do balanceamento de carga.

    1. Clique no ícone de menu associado ao objeto que você quer tornar público.

      O ícone do menu tem três pontos verticais à direita da linha do objeto.

    2. Selecione Editar permissões no menu.

    3. Clique em Adicionar item.

    4. Adicione uma permissão para allUsers.

      • Selecione Usuário em Entidade.
      • Digite allUsers em Nome.
      • Selecione Leitor em Acesso.
    5. Clique em Salvar.

    Depois que ele for compartilhado publicamente, um ícone de link será exibido na coluna de acesso público. Clique nesse ícone para ver o URL do objeto.

    Repita as etapas, desta vez no intervalo eu.

    gsutil


    1. Crie um intervalo do Cloud Storage.

    2. Abra uma janela de terminal.
    3. Use o comando gsutil mb e um nome exclusivo para criar um intervalo:
      gsutil mb gs://my-awesome-bucket/
      

      Isso usa um intervalo chamado "my-awesome-bucket". É necessário escolher seu próprio nome de intervalo globalmente exclusivo.

      Se for bem-sucedido, o comando retornará:

      Creating gs://my-awesome-bucket/...
      
    4. Você acabou de criar um intervalo para armazenar seus dados!

    Repita as etapas, desta vez executando gsutil mb -l eu gs://my-awesome-bucket/ para especificar o local como eu.

    Insira o intervalo us.

    1. Faça upload de um objeto do diretório local. Se o arquivo estiver em outro diretório, forneça o caminho completo.

      gsutil cp [OBJECT_NAME] gs://[EXAMPLE_BUCKET]/static/[OBJECT_NAME]
      
      • [EXAMPLE_BUCKET]: o intervalo que você já criou;
      • [OBJECT_NAME]: o nome de arquivo do objeto cujo upload você quer fazer.
    2. Torne o objeto acessível para leitura pública para que ele possa ser atendido por balanceamento de carga.

      gsutil acl ch -u AllUsers:R gs://[EXAMPLE_BUCKET]/static/[OBJECT_NAME]
      
      • [EXAMPLE_BUCKET]: o intervalo que você já criou;
      • [OBJECT_NAME]: o nome de arquivo do objeto do upload feito.

    Repita as etapas, desta vez no intervalo eu.

    Como criar intervalos de back-end para seus intervalos do Cloud Storage

    Este procedimento pressupõe que você tenha concluído o exemplo do balanceamento de carga HTTP(S).

    Em vez de criar um serviço de back-end para conteúdo estático como você fazia para conteúdo de vídeo, crie dois novos intervalos de back-end que apontem para os intervalos do Cloud Storage criados acima.

    Console


    1. Acesse a página "Balanceamento de carga" no Console do Google Cloud Platform.
      Acessar a página "Balanceamento de carga"
    2. Clique em Editar na linha web-map.
    3. Clique na seta para a direita ao lado da Configuração de back-end.
    4. Clique em Criar ou selecionar um intervalo de back-end e, em seguida, selecione Criar um intervalo de back-end.
    5. Insira um Nome de static-bucket-us.
    6. Ao lado do Intervalo do Cloud Storage, selecione Procurar.
    7. Localize e selecione o intervalo us que você criou antes.
    8. Clique em Selecionar.
    9. Clique em Criar para criar o intervalo do back-end.
    10. Não clique ainda em Atualizar para o balanceador de carga.

    Repita as etapas para criar um segundo intervalo de back-end, inserindo static-bucket-eu no campo Nome e selecionando o intervalo eu que você criou antes.

    gcloud


    gcloud compute backend-buckets create static-bucket \
        --gcs-bucket-name [EXAMPLE_BUCKET]
    
    • [EXAMPLE_BUCKET]: o intervalo us que você criou.

    Repita o comando, desta vez substituindo EXAMPLE_BUCKET com o intervalo eu que você criou.

    Como modificar o mapa de URL web-map

    Adicione uma regra ao mapa de URL web-map existente que mapeia /static/* para o intervalo de back-end criado acima. Isso direciona todas as solicitações com /static/* para o intervalo do Cloud Storage.

    Console


    1. Clique na seta para a direita ao lado de Regras de host e de caminho.
    2. Na terceira linha, digite * no campo Hosts.
    3. Digite /static/us/* no campo Caminhos.
    4. Insira static-bucket-us no campo Back-ends.
    5. Clique em Atualizar para o balanceador de carga.

    Repita as etapas, inserindo /static/eu/* no campo Caminhos e static-bucket-eu no campo Back-ends.

    gcloud


    Adicione uma regra de caminho para os EUA:

    gcloud compute url-maps add-path-matcher web-map \
        --default-service web-map-backend-service \
        --path-matcher-name bucket-matcher \
        --backend-bucket-path-rules="/static/us/*=static-bucket-us"
    

    Adicione uma regra de caminho para a UE:

    gcloud compute url-maps add-path-matcher web-map 
    --default-service web-map-backend-service
    --path-matcher-name bucket-matcher
    --backend-bucket-path-rules="/static/eu/*=static-bucket-eu"

    Como buscar recursos dos seus intervalos do Cloud Storage

    Console


    1. Acesse a página "Endereços" no Console do Google Cloud Platform.
      Acessar a página "Endereços"
    2. Encontre a linha referente a lb-ip-1 e anote o endereço IP no campo Endereço externo.
    3. Digite http://[IP_ADDRESS]/static/[REGION]/[OBJECT_NAME] ou https://[IP_ADDRESS]/static/[REGION]/[OBJECT_NAME] no navegador, dependendo do protocolo usado pelo balanceador de carga, e pressione Enter. Tente inserir us e eu como [REGION].

    gcloud


    1. Encontre o endereço IP da regra de encaminhamento global.

      gcloud compute forwarding-rules list
      
    2. O endereço que você quer é o endereço da regra criada quando você executou o exemplo de balanceamento de carga HTTP(S). Verifique se o intervalo do Cloud Storage está recebendo tráfego. Para isso, use o curl ou acesse o URL no navegador.

      curl http://[IP_ADDRESS]/static/[REGION]/[OBJECT_NAME]
      

      ou

      curl -k https://[IP_ADDRESS]/static/[REGION]/[OBJECT_NAME]
      
      • [IP_ADDRESS]: o endereço IP da regra de encaminhamento global;
      • [OBJECT_NAME]: use o nome do objeto de exemplo de que você fez upload;
      • [REGION]: para us ou eu. Tente usar cada um.

    Este comando responde com [OBJECT_NAME] do intervalo do Cloud Storage [EXAMPLE_BUCKET].

    Se você armazenar um objeto no intervalo com o nome static/[FOLDER_NAME]/[FOLDER_NAME]/[OBJECT_NAME], será possível recuperá-lo com um URL de http://[IP_ADDRESS]/static/[FOLDER_NAME]/[FOLDER_NAME]/[OBJECT_NAME].

    A seguir

    Esta página foi útil? Conte sua opinião sobre:

    Enviar comentários sobre…