Neste documento, mostramos dois exemplos de configurações para configurar um balanceador de carga de aplicativo interno entre regiões em um ambiente de VPC compartilhada com buckets do Cloud Storage:
- O primeiro exemplo cria todos os componentes e back-ends do balanceador de carga no projeto de serviço.
- O segundo exemplo cria os componentes de front-end e o mapa de URL do balanceador de carga em um projeto de serviço, enquanto o bucket de back-end e os buckets do Cloud Storage do balanceador de carga são criados em um projeto de serviço diferente.
Os dois exemplos exigem a mesma configuração inicial para conceder papéis necessários e configurar uma VPC compartilhada antes de começar a criar balanceadores de carga.
Além das configurações de exemplo mencionadas neste documento, também é possível configurar uma implantação de VPC compartilhada em que o front-end e o mapa de URL do balanceador de carga são criados no projeto host, e os buckets de back-end, junto com os buckets do Cloud Storage, são criados em um projeto de serviço. Para mais informações sobre outras arquiteturas de VPC compartilhada válidas, consulte Arquiteturas de VPC compartilhada.
Se você não quiser usar uma rede VPC compartilhada, consulte Configurar um balanceador de carga de aplicativo interno entre regiões com buckets do Cloud Storage.
Antes de começar
Certifique-se de que sua configuração atenda aos seguintes pré-requisitos.
Criar projetos do Google Cloud
Crie Google Cloud projetos para um host e dois projetos de serviço.
Funções exigidas
Para ter as permissões necessárias para configurar um balanceador de carga de aplicativo regional externo em um ambiente de VPC compartilhada com buckets do Cloud Storage, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Para configurar a VPC compartilhada:
Administrador da VPC compartilhada do Compute (
roles/compute.xpnAdmin) no projeto host -
Para dar acesso a um administrador do projeto de serviço para usar a rede VPC compartilhada:
Usuário da rede do Compute (
roles/compute.networkUser) no projeto host -
Para criar buckets do Cloud Storage:
Administrador de objetos do Storage (
roles/storage.objectAdmin) no projeto de serviço -
Para criar os recursos de balanceamento de carga:
Administrador de rede do Compute (
roles/compute.networkAdmin) no projeto de serviço -
Para criar instâncias do Compute Engine:
Administrador de instâncias do Compute (
roles/compute.instanceAdmin.v1) no projeto de serviço -
Para criar e modificar certificados SSL do Gerenciador de certificados:
Proprietário do Gerenciador de certificados (
roles/certificatemanager.owner) no projeto de serviço -
Para referenciar buckets de back-end em outros projetos de serviço:
Usuário de serviços do balanceador de carga do Compute (
roles/compute.loadBalancerServiceUser) no projeto de serviço
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Configurar um ambiente de VPC compartilhada
Conclua as etapas a seguir no projeto host para configurar um ambiente de VPC compartilhada:
- Configure as sub-redes para as regras de encaminhamento do balanceador de carga.
- Configure as sub-redes somente proxy.
- Configure uma regra de firewall.
- Configure uma VPC compartilhada no projeto host.
As etapas nesta seção não precisam ser realizadas sempre que você quiser criar um novo balanceador de carga. No entanto, é preciso garantir que você tenha acesso aos recursos descritos aqui antes de continuar criando o balanceador de carga.
O projeto host usa a seguinte rede VPC, região e sub-redes:
Rede. Uma rede VPC de modo personalizado denominada
lb-network.Sub-redes para balanceador de carga. uma sub-rede chamada
subnet-usna regiãous-east1usa10.1.2.0/24para o intervalo de IP primário. Uma sub-rede chamadasubnet-asiana regiãoasia-east1usa10.1.3.0/24como o intervalo de IP primário.Sub-rede para proxies Envoy. Uma sub-rede chamada
proxy-only-subnet-us-east1na regiãous-east1usa10.129.0.0/23como o intervalo de IP principal. Uma sub-rede chamadaproxy-only-subnet-asia-east1na regiãoasia-east1usa10.130.0.0/23como o intervalo de IP principal.
Configurar as sub-redes para as regras de encaminhamento do balanceador de carga
Console
No console do Google Cloud , acesse a página Redes VPC.
Clique em Criar rede VPC.
Em Nome, insira
lb-network.Na seção Sub-redes, em Modo de criação da sub-rede, selecione Personalizado.
Na seção Nova sub-rede, insira as seguintes informações:
- Nome:
subnet-us - Selecione uma Região:
us-east1 - Intervalo de endereços IP:
10.1.2.0/24
- Nome:
Clique em Concluído.
Clique em Add subnet.
Crie outra sub-rede para a regra de encaminhamento do balanceador de carga em uma região diferente. Na seção Nova sub-rede, insira as seguintes informações:
- Nome:
subnet-asia - Região:
asia-east1 - Intervalo de endereços IP:
10.1.3.0/24
- Nome:
Clique em Concluído.
Clique em Criar.
gcloud
Crie uma rede VPC personalizada, chamada
lb-network, com o comandogcloud compute networks create.gcloud compute networks create lb-network \ --subnet-mode=custom \ --project=HOST_PROJECT_IDCrie uma sub-rede chamada
subnet-usna rede VPClb-networkna regiãous-east1com o comandogcloud compute networks subnets create.gcloud compute networks subnets create subnet-us \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-east1 \ --project=HOST_PROJECT_IDCrie uma sub-rede chamada
subnet-asiana rede VPClb-networkna regiãoasia-east1com o comandogcloud compute networks subnets create.gcloud compute networks subnets create subnet-asia \ --network=lb-network \ --range=10.1.3.0/24 \ --region=asia-east1 \ --project=HOST_PROJECT_IDSubstitua
HOST_PROJECT_IDpelo Google Cloud ID do projeto atribuído ao projeto que está ativado como um projeto host em um ambiente de VPC compartilhada.
Configurar as sub-redes somente proxy
Uma sub-rede somente proxy fornece um conjunto de endereços IP que o Google Cloud usa para executar proxies Envoy em seu nome. Os proxies encerram as conexões do cliente e criam novas conexões com os back-ends.
Essa sub-rede somente proxy é usada por todos os balanceadores de carga
regionais baseados no Envoy que estão na mesma região que a rede VPC. Só pode haver uma sub-rede somente proxy ativa para uma determinada finalidade, por região e por rede. Neste exemplo, criamos duas sub-redes somente proxy: uma na região us-east1 e outra na região asia-east1.
Console
No console do Google Cloud , acesse a página Redes VPC.
Clique no nome da rede VPC que você criou.
Na guia Sub-rede, clique em Adicionar sub-rede.
Digite as seguintes informações:
- Em Nome, insira
proxy-only-subnet-us. - Em Região, insira
us-east1. - Em Finalidade, selecione Proxy gerenciado entre regiões.
- Em Intervalo de endereços IP, insira
10.129.0.0/23.
- Em Nome, insira
Clique em Adicionar.
Crie outra sub-rede somente proxy na região
asia-east1. Na guia Sub-rede, clique em Adicionar sub-rede.Digite as seguintes informações:
- Em Nome, insira
proxy-only-subnet-asia. - Em Região, insira
asia-east1. - Em Finalidade, selecione Proxy gerenciado entre regiões.
- Em Intervalo de endereços IP, insira
10.130.0.0/23.
- Em Nome, insira
Clique em Adicionar.
gcloud
Crie uma sub-rede somente proxy na região
us-east1com o comandogcloud compute networks subnets create.Neste exemplo, a sub-rede somente proxy é chamada de
proxy-only-subnet-us.gcloud compute networks subnets create proxy-only-subnet-us \ --purpose=GLOBAL_MANAGED_PROXY \ --role=ACTIVE \ --region=us-east1 \ --network=lb-network \ --range=10.129.0.0/23 \ --project=HOST_PROJECT_IDCrie uma sub-rede somente proxy na região
asia-east1com o comandogcloud compute networks subnets create.Neste exemplo, a sub-rede somente proxy é chamada de
proxy-only-subnet-asia.gcloud compute networks subnets create proxy-only-subnet-asia \ --purpose=GLOBAL_MANAGED_PROXY \ --role=ACTIVE \ --region=asia-east1 \ --network=lb-network \ --range=10.130.0.0/23 \ --project=HOST_PROJECT_IDSubstitua
HOST_PROJECT_IDpelo ID do projetoGoogle Cloud atribuído ao projeto host.
Configurar uma regra de firewall
Este exemplo usa uma regra de firewall de entrada que permite o acesso SSH na porta 22
à VM cliente. Neste exemplo, a regra de firewall é chamada de fw-allow-ssh.
Console
No console do Google Cloud , acesse a página Políticas de firewall.
Clique em Criar regra de firewall para criar a regra que autorize conexões SSH de entrada na VM cliente:
- Nome:
fw-allow-ssh - Rede:
lb-network - Direção do tráfego: entrada
- Ação na correspondência: permitir
- Destinos: tags de destino especificadas
- Tags de meta:
allow-ssh - Filtro de origem: intervalos IPv4
- Intervalos IPv4 de origem:
0.0.0.0/0 - Protocolos e portas:
- Escolha Protocolos e portas especificados.
- Marque a caixa de seleção tcp e insira
22como o número da porta.
- Nome:
Clique em Criar.
gcloud
Crie uma regra de firewall que permita a conectividade SSH com VMs com a tag de rede
allow-ssh. Quando você omite--source-ranges, oGoogle Cloud interpreta a regra como sendo qualquer origem.Neste exemplo, a regra de firewall é chamada de
fw-allow-ssh.gcloud compute firewall-rules create fw-allow-ssh \ --network=lb-network \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22 \ --project=HOST_PROJECT_IDSubstitua
HOST_PROJECT_IDpelo ID do projetoGoogle Cloud atribuído ao projeto host.
Configurar uma VPC compartilhada no projeto host
É possível ativar um projeto host da VPC compartilhada, compartilhar sub-redes do projeto host e anexar projetos de serviço a ele para que os projetos de serviço possam usar a rede VPC compartilhada. Para configurar a VPC compartilhada no projeto host, consulte as seguintes páginas:
Depois de concluir as etapas anteriores, você poderá seguir uma das seguintes configurações:
- Configurar um balanceador de carga no projeto de serviço
- Configurar um balanceador de carga com uma configuração entre projetos
Configurar um balanceador de carga no projeto de serviço
Este exemplo cria um balanceador de carga de aplicativo interno entre regiões em que todos os componentes de balanceamento de carga (regra de encaminhamento, proxy de destino, mapa de URL e bucket de back-end) e buckets do Cloud Storage são criados no projeto de serviço.
Os recursos de rede do balanceador de carga, como a sub-rede da VPC, a sub-rede somente proxy e a regra de firewall, são criados no projeto host.
Nesta seção, mostramos como configurar o balanceador de carga e os back-ends.
Os exemplos de configuração nesta página configuram explicitamente um endereço IP reservado para a regra de encaminhamento do balanceador de carga, em vez de permitir que um endereço IP temporário seja alocado. Como prática recomendada, reserve endereços IP para regras de encaminhamento.
Configurar os buckets do Cloud Storage
O processo de configuração dos buckets do Cloud Storage é o seguinte:
- Crie os buckets do Cloud Storage.
- Copie o conteúdo para os buckets do Cloud Storage.
- Torne os buckets do Cloud Storage publicamente acessíveis.
Criar os buckets do Cloud Storage
Neste exemplo, você cria dois buckets do Cloud Storage, um na região
us-east1 e outro na região asia-east1. Para implantações
de produção, recomendamos que você escolha um bucket
multirregional, que replica
automaticamente os objetos em várias regiões do Google Cloud . Isso pode melhorar a
disponibilidade do seu conteúdo e a tolerância a falhas em todo
o aplicativo.
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
Clique em Criar.
Na seção Começar, insira um nome globalmente exclusivo que siga as diretrizes de nomenclatura.
Clique em Escolha onde armazenar os dados.
Defina o Tipo de local como Região.
Na lista de regiões, selecione us-east1.
Clique em Criar.
Clique em Buckets para retornar à página "Buckets do Cloud Storage". Use estas instruções para criar um segundo bucket, mas defina Localização como asia-east1.
gcloud
Crie o primeiro bucket na região
us-east1com o comandogcloud storage buckets create.gcloud storage buckets create gs://BUCKET1_NAME \ --default-storage-class=standard \ --location=us-east1 \ --uniform-bucket-level-access \ --project=SERVICE_PROJECT_IDCrie o segundo bucket na região
asia-east1com o comandogcloud storage buckets create.gcloud storage buckets create gs://BUCKET2_NAME \ --default-storage-class=standard \ --location=asia-east1 \ --uniform-bucket-level-access \ --project=SERVICE_PROJECT_IDSubstitua:
BUCKET1_NAMEeBUCKET2_NAME: Nomes bucket do Cloud StorageSERVICE_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço
Copiar conteúdo para os buckets do Cloud Storage
Para preencher os 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.
Execute os comandos a seguir no Cloud Shell, substituindo as variáveis de nome do bucket pelos nomes exclusivos dos seus bucket do Cloud Storage:
gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET1_NAME/love-to-purr/
gcloud storage cp gs://gcp-external-http-lb-with-bucket/two-dogs.jpg gs://BUCKET2_NAME/love-to-fetch/
Substitua BUCKET1_NAME e BUCKET2_NAME pelos nomes dos buckets do Cloud Storage.
Tornar os buckets do Cloud Storage acessíveis publicamente
Para tornar todos os objetos de um bucket legíveis para todos na Internet pública,
conceda ao allUsers principal o papel Leitor de objetos do Storage
(roles/storage.objectViewer).
Console
Para conceder acesso a todos os usuários para visualizar objetos nos seus buckets, repita o procedimento a seguir para cada bucket:
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que você quer tornar público.
Selecione a guia Permissões.
Na seção Permissões, clique no botão Conceder acesso. A caixa de diálogo Conceder acesso será exibida.
No campo Novos participantes, insira
allUsers.No campo Selecionar um papel, insira
Storage Object Viewerna caixa de filtro e selecione Visualizador de objetos do Storage nos resultados filtrados.Clique em Salvar.
Clique em Permitir acesso público.
gcloud
Para conceder a todos os usuários acesso para visualizar objetos nos seus buckets,
execute o comando gcloud storage buckets add-iam-policy-binding.
gcloud storage buckets add-iam-policy-binding gs://BUCKET1_NAME --member=allUsers --role=roles/storage.objectViewer
gcloud storage buckets add-iam-policy-binding gs://BUCKET2_NAME --member=allUsers --role=roles/storage.objectViewer
Substitua BUCKET1_NAME e BUCKET2_NAME
pelos nomes dos buckets do Cloud Storage.
Reserve o endereço IP do balanceador de carga
Reserve um endereço IP interno estático para o seguinte:
- Regra de encaminhamento na região
us-east1 Regra de encaminhamento na região
asia-east1
Console
No console do Google Cloud , acesse a página Endereços IP.
Clique em Reservar interno.
Em Nome, insira um nome para o novo endereço.
Em Versão do IP, selecione IPv4.
Clique em Reservar para reservar o IP.
Siga essas etapas novamente para reservar um endereço IP na região
asia-east1.
gcloud
Para reservar um endereço IP interno estático na região
us-east1, use o comandogcloud compute addresses create.gcloud compute addresses create ADDRESS1_NAME \ --region=us-east1 \ --subnet=projects/HOST_PROJECT_ID/regions/us-east1/subnetworks/subnet-us \ --project=SERVICE_PROJECT_ID
Substitua:
ADDRESS1_NAME: o nome que você quer atribuir a esse endereço IP.HOST_PROJECT_ID: o ID do projeto Google Cloud atribuído ao projeto hostSERVICE_PROJECT_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço
Para reservar um endereço IP interno estático na região
asia-east1, use o comandogcloud compute addresses create.gcloud compute addresses create ADDRESS2_NAME \ --region=asia-east1 \ --subnet=projects/HOST_PROJECT_ID/regions/asia-east1/subnetworks/subnet-asia \ --project=SERVICE_PROJECT_ID
Substitua:
ADDRESS2_NAME: o nome que você quer atribuir a esse endereço IP.HOST_PROJECT_ID: o ID do projeto Google Cloud atribuído ao projeto hostSERVICE_PROJECT_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço
Use o comando
gcloud compute addresses describepara ver o resultado:gcloud compute addresses describe ADDRESS1_NAME \ --project=SERVICE_PROJECT_ID
gcloud compute addresses describe ADDRESS2_NAME \ --project=SERVICE_PROJECT_ID
Substitua:
ADDRESS1_NAMEeADDRESS2_NAME: o nome que você atribuiu aos endereços IPSERVICE_PROJECT_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço
O endereço IP retornado é chamado de
RESERVED_IP_ADDRESSnas seções a seguir.
Configurar um recurso de certificado SSL
Para um balanceador de carga de aplicativo interno entre regiões que usa HTTPS como o protocolo de solicitação e resposta, crie um recurso de certificado SSL usando o Certificate Manager, conforme descrito em um dos seguintes documentos:
- Implantar um certificado gerenciado pelo Google entre regiões emitido pela sua instância do CA Service
- Implantar um certificado gerenciado pelo Google entre regiões com autorização de DNS
- Implante um certificado autogerenciado entre regiões
Depois de criar o certificado, anexe-o ao proxy de destino HTTPS.
Recomendamos o uso de um certificado gerenciado pelo Google.
Configurar o balanceador de carga com buckets de back-end
Nesta seção, mostramos como criar os seguintes recursos para um balanceador de carga de aplicativo interno entre regiões:
- Dois buckets de back-end. Os buckets de back-end servem como um wrapper para os buckets do Cloud Storage que você criou anteriormente.
- Mapa de URL
- Proxy de destino
- Duas regras de encaminhamento global com endereços IP regionais. As regras de encaminhamento recebem endereços IP das sub-redes criadas para as regras de encaminhamento do balanceador de carga. Se você tentar atribuir um endereço IP à regra de encaminhamento da sub-rede somente proxy, a criação da regra de encaminhamento vai falhar.
Neste exemplo, é possível usar HTTP ou HTTPS como protocolo de solicitação e resposta entre o cliente e o balanceador de carga. Para criar um balanceador de carga HTTPS, é necessário adicionar um recurso de certificado SSL ao front-end do balanceador de carga.
Para criar os componentes de balanceamento de carga mencionados usando a CLI gcloud, siga estas etapas:
Crie dois buckets de back-end, um para cada bucket do Cloud Storage, com o comando
gcloud compute backend-buckets create. Os buckets de back-end têm um esquema de balanceamento de carga deINTERNAL_MANAGED.Neste exemplo, os buckets de back-end são chamados
backend-bucket-catsebackend-bucket-dogs, indicando o conteúdo nos buckets do Cloud Storage.gcloud compute backend-buckets create backend-bucket-cats \ --gcs-bucket-name=BUCKET1_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --project=SERVICE_PROJECT_IDgcloud compute backend-buckets create backend-bucket-dogs \ --gcs-bucket-name=BUCKET2_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --project=SERVICE_PROJECT_IDSubstitua:
BUCKET1_NAMEeBUCKET2_NAME: Nomes bucket do Cloud StorageSERVICE_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço
Crie um mapa de URL para encaminhar solicitações recebidas para o bucket de back-end com o comando
gcloud compute url-maps create.Neste exemplo, o mapa de URL é chamado de
lb-map.gcloud compute url-maps create lb-map \ --default-backend-bucket=backend-bucket-cats \ --global \ --project=SERVICE_PROJECT_IDSubstitua
SERVICE_PROJECT_IDpelo ID do projetoGoogle Cloud atribuído ao projeto de serviço.Configure as regras de host e de caminho do mapa de URL com o comando
gcloud compute url-maps add-path-matcher.Neste exemplo, o bucket de back-end padrão é
backend-bucket-cats, que processa todos os caminhos que existem nele. No entanto, qualquer solicitação direcionada ahttp://FORWARDING_RULE_IP_ADDRESS/love-to-fetch/two-dogs.jpgusa o back-endbackend-bucket-dogs. Por exemplo, se a pasta/love-to-fetch/também existir no seu back-end padrão (backend-bucket-cats), o balanceador de carga vai priorizar o back-endbackend-bucket-dogsporque há uma regra de caminho específica para/love-to-fetch/*.gcloud compute url-maps add-path-matcher lb-map \ --path-matcher-name=path-matcher-pets \ --new-hosts=* \ --backend-bucket-path-rules="/love-to-fetch/*=backend-bucket-dogs" \ --default-backend-bucket=backend-bucket-cats --project=SERVICE_PROJECT_IDSubstitua
SERVICE_PROJECT_IDpelo ID do projetoGoogle Cloud atribuído ao projeto de serviço.Crie um proxy de destino com o comando
gcloud compute target-http-proxies create.Para tráfego HTTP, crie um proxy HTTP de destino, chamado
http-proxy, para encaminhar solicitações ao mapa de URL:gcloud compute target-http-proxies create http-proxy \ --url-map=lb-map \ --global \ --project=SERVICE_PROJECT_IDSubstitua
SERVICE_PROJECT_IDpelo ID do projetoGoogle Cloud atribuído ao projeto de serviço.Para tráfego HTTPS, crie um proxy HTTPS de destino, chamado
https-proxy, para encaminhar solicitações ao mapa de URL. O proxy é a parte do balanceador de carga que armazena o certificado SSL de um balanceador de carga HTTPS. Depois de criar o certificado, anexe-o ao proxy de destino HTTPS.gcloud compute target-https-proxies create https-proxy \ --url-map=lb-map \ --certificate-manager-certificates=CERTIFICATE_NAME \ --global \ --project=SERVICE_PROJECT_IDSubstitua:
CERTIFICATE_NAME: o nome do certificado SSL que você criou usando o Gerenciador de certificadosSERVICE_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço
Crie duas regras de encaminhamento global, uma com um endereço IP na região
us-east1e outra com um endereço IP na regiãoasia-east1usando o comandogcloud compute forwarding-rules create.Para o tráfego HTTP, crie as regras de encaminhamento global (
http-fw-rule-1ehttp-fw-rule-2) para encaminhar as solicitações recebidas ao proxy HTTP de destino:gcloud compute forwarding-rules create http-fw-rule-1 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-east1/subnetworks/subnet-us \ --subnet-region=us-east1 \ --address=RESERVED_IP_ADDRESS \ --ports=80 \ --target-http-proxy=http-proxy \ --global-target-http-proxy \ --global \ --project=SERVICE_PROJECT_IDgcloud compute forwarding-rules create http-fw-rule-2 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/asia-east1/subnetworks/subnet-asia \ --subnet-region=asia-east1 \ --address=RESERVED_IP_ADDRESS \ --ports=80 \ --target-http-proxy=http-proxy \ --global-target-http-proxy \ --global \ --project=SERVICE_PROJECT_IDSubstitua:
HOST_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto hostRESERVED_IP_ADDRESS: o endereço IP reservado.SERVICE_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço
Para o tráfego HTTPS, crie as regras de encaminhamento global (
https-fw-rule-1ehttps-fw-rule-2) para encaminhar as solicitações recebidas ao proxy de destino HTTPS:gcloud compute forwarding-rules create https-fw-rule-1 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-east1/subnetworks/subnet-us \ --subnet-region=us-east1 \ --address=RESERVED_IP_ADDRESS \ --ports=443 \ --target-https-proxy=https-proxy \ --global-target-https-proxy \ --global \ --project=SERVICE_PROJECT_IDgcloud compute forwarding-rules create https-fw-rule-2 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/asia-east1/subnetworks/subnet-asia \ --subnet-region=asia-east1 \ --address=RESERVED_IP_ADDRESS \ --ports=443 \ --target-https-proxy=https-proxy \ --global-target-https-proxy \ --global \ --project=SERVICE_PROJECT_IDSubstitua:
HOST_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto hostRESERVED_IP_ADDRESS: o endereço IP reservado.SERVICE_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço
Enviar uma solicitação HTTP ao balanceador de carga
Envie uma solicitação de uma VM cliente interna para a regra de encaminhamento do balanceador de carga.
Anotar o endereço IP da regra de encaminhamento do balanceador de carga
Para receber o endereço IP da regra de encaminhamento do balanceador de carga, siga estas etapas:
Anote o endereço IP da regra de encaminhamento do balanceador de carga (
http-fw-rule-1), que está na regiãous-east1.gcloud compute forwarding-rules describe http-fw-rule-1 \ --global \ --project=SERVICE_PROJECT_IDAnote o endereço IP da regra de encaminhamento do balanceador de carga (
http-fw-rule-2), que está na regiãoasia-east1.gcloud compute forwarding-rules describe http-fw-rule-2 \ --global \ --project=SERVICE_PROJECT_IDSubstitua
SERVICE_PROJECT_IDpelo ID do projetoGoogle Cloud atribuído ao projeto de serviço.Copie o endereço IP retornado para usar como
FORWARDING_RULE_IP_ADDRESSnas etapas subsequentes.
Criar uma VM cliente para testar a conectividade
Para criar uma VM cliente e testar a conectividade, siga estas etapas:
Crie uma VM cliente, chamada
client-a, na regiãous-east1.gcloud compute instances create client-a \ --image-family=debian-12 \ --image-project=debian-cloud \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-east1/subnetworks/subnet-us \ --zone=us-east1-c \ --tags=allow-ssh \ --project=SERVICE_PROJECT_IDSubstitua:
HOST_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto hostSERVICE_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço
Estabeleça uma conexão SSH com a VM cliente.
gcloud compute ssh client-a \ --zone=us-east1-c \ --project=SERVICE_PROJECT_IDSubstitua
SERVICE_PROJECT_IDpelo ID do projetoGoogle Cloud atribuído ao projeto de serviço.Neste exemplo, o balanceador de carga de aplicativo interno entre regiões tem endereços IP virtuais (VIPs) de front-end nas regiões
us-east1easia-east1da rede VPC. Faça uma solicitação HTTP para o VIP em qualquer uma das regiões usando curl.curl http://FORWARDING_RULE_IP_ADDRESS/love-to-fetch/two-dogs.jpg --output two-dogs.jpg
curl http://FORWARDING_RULE_IP_ADDRESS/love-to-purr/three-cats.jpg --output three-cats.jpg
Substitua
FORWARDING_RULE_IP_ADDRESSpelo endereço IP da regra de encaminhamento do balanceador de carga.
Testar a alta disponibilidade
Para testar a alta disponibilidade, siga estas etapas:
Exclua a regra de encaminhamento (
http-fw-rule-1) na regiãous-east1para simular uma interrupção regional e verifique se o cliente na regiãous-eastainda pode acessar dados do bucket de back-end.gcloud compute forwarding-rules delete http-fw-rule-1 \ --global \ --project=SERVICE_PROJECT_IDSubstitua
SERVICE_PROJECT_IDpelo ID do projetoGoogle Cloud atribuído ao projeto de serviço.Faça uma solicitação HTTP para o VIP da regra de encaminhamento em qualquer uma das regiões usando curl.
curl http://FORWARDING_RULE_IP_ADDRESS/love-to-fetch/two-dogs.jpg --output two-dogs.jpg
curl http://FORWARDING_RULE_IP_ADDRESS/love-to-purr/three-cats.jpg --output three-cats.jpg
Substitua
FORWARDING_RULE_IP_ADDRESSpelo endereço IP da regra de encaminhamento.Se você fizer uma solicitação HTTP para o VIP na região
us-east1, as políticas de roteamento de DNS vão detectar que esse VIP não está respondendo e retornar o próximo VIP mais ideal para o cliente (neste exemplo,asia-east1). Esse comportamento ajuda a garantir que o aplicativo permaneça ativo mesmo durante interrupções regionais.
Configurar um balanceador de carga com uma configuração entre projetos
O exemplo anterior nesta página mostra como configurar uma implantação de VPC compartilhada em que todos os componentes do balanceador de carga e os back-ends dele são criados no projeto de serviço.
Os balanceadores de carga de aplicativo internos entre regiões também permitem configurar implantações de VPC compartilhada em que um mapa de URL em um projeto host ou de serviço pode referenciar buckets de back-end localizados em vários projetos de serviço em ambientes de VPC compartilhada.
Use as etapas desta seção como referência para configurar qualquer uma das combinações compatíveis listadas aqui:
- Regra de encaminhamento, proxy de destino e mapa de URL no projeto host, com bucket de back-end em um projeto de serviço.
- Regra de encaminhamento, proxy de destino e mapa de URL em um projeto de serviço, com bucket de back-end em outro projeto de serviço.
Nesta seção, a última configuração é apresentada como um exemplo.
Visão geral da configuração
Este exemplo configura um balanceador de carga com o front-end e o back-end em dois projetos de serviço diferentes.
Se você ainda não tiver feito isso, conclua todas as etapas de pré-requisito para configurar a VPC compartilhada e configurar a rede, as sub-redes e as regras de firewall necessárias para este exemplo. Para instruções, consulte as seguintes seções no início desta página:
Configurar os buckets do Cloud Storage e de back-end no projeto de serviço B
Todas as etapas nesta seção precisam ser realizadas no projeto de serviço B
Para criar o bucket de back-end, faça o seguinte:
- Crie os buckets do Cloud Storage.
- Copie o conteúdo para os buckets do Cloud Storage.
- Torne os buckets do Cloud Storage publicamente acessíveis.
- Crie os buckets de back-end e direcione-os para os buckets do Cloud Storage.
Criar os buckets do Cloud Storage
Neste exemplo, você cria dois buckets do Cloud Storage, um na região
us-east1 e outro na região asia-east1. Para implantações
de produção, recomendamos que você escolha um bucket
multirregional, que replica
automaticamente os objetos em várias regiões do Google Cloud . Isso pode melhorar a
disponibilidade do seu conteúdo e a tolerância a falhas em todo
o aplicativo.
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
Clique em Criar.
Na seção Começar, insira um nome globalmente exclusivo que siga as diretrizes de nomenclatura.
Clique em Escolha onde armazenar os dados.
Defina o Tipo de local como Região.
Na lista de regiões, selecione us-east1.
Clique em Criar.
Clique em Buckets para retornar à página "Buckets do Cloud Storage". Use estas instruções para criar um segundo bucket, mas defina Localização como asia-east1.
gcloud
Crie o primeiro bucket na região
us-east1com o comandogcloud storage buckets create.gcloud storage buckets create gs://BUCKET1_NAME \ --default-storage-class=standard \ --location=us-east1 \ --uniform-bucket-level-access \ --project=SERVICE_PROJECT_B_IDCrie o segundo bucket na região
asia-east1com o comandogcloud storage buckets create.gcloud storage buckets create gs://BUCKET2_NAME \ --default-storage-class=standard \ --location=asia-east1 \ --uniform-bucket-level-access \ --project=SERVICE_PROJECT_B_ID
Substitua:
BUCKET1_NAMEeBUCKET2_NAME: nomes bucket do Cloud Storage.SERVICE_PROJECT_B_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço B.
Copiar conteúdo para os buckets do Cloud Storage
Para preencher os 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.
Execute os comandos a seguir no Cloud Shell, substituindo as variáveis de nome do bucket pelos nomes exclusivos dos seus bucket do Cloud Storage:
gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET1_NAME/love-to-purr/
gcloud storage cp gs://gcp-external-http-lb-with-bucket/two-dogs.jpg gs://BUCKET2_NAME/love-to-fetch/
Substitua BUCKET1_NAME e BUCKET2_NAME pelos nomes bucket do Cloud Storage.
Tornar os buckets do Cloud Storage acessíveis publicamente
Para tornar todos os objetos de um bucket legíveis para todos na Internet pública,
conceda ao allUsers principal o papel Leitor de objetos do Storage
(roles/storage.objectViewer).
Console
Para conceder acesso a todos os usuários para visualizar objetos nos seus buckets, repita o procedimento a seguir para cada bucket:
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que você quer tornar público.
Selecione a guia Permissões.
Na seção Permissões, clique no botão Conceder acesso. A caixa de diálogo Conceder acesso será exibida.
No campo Novos participantes, insira
allUsers.No campo Selecionar um papel, insira
Storage Object Viewerna caixa de filtro e selecione Visualizador de objetos do Storage nos resultados filtrados.Clique em Salvar.
Clique em Permitir acesso público.
gcloud
Para conceder a todos os usuários acesso para visualizar objetos nos seus buckets, execute o comando gcloud storage buckets add-iam-policy-binding.
gcloud storage buckets add-iam-policy-binding gs://BUCKET1_NAME --member=allUsers --role=roles/storage.objectViewer
gcloud storage buckets add-iam-policy-binding gs://BUCKET2_NAME --member=allUsers --role=roles/storage.objectViewer
Substitua BUCKET1_NAME e BUCKET2_NAME
pelos nomes bucket do Cloud Storage.
Configurar o balanceador de carga com buckets de back-end
Para criar os buckets de back-end, siga estas etapas:
Crie dois buckets de back-end, um para cada bucket do Cloud Storage, com o comando
gcloud compute backend-buckets create. Os buckets de back-end têm um esquema de balanceamento de carga deINTERNAL_MANAGED.Neste exemplo, os buckets de back-end são chamados de
backend-bucket-catsebackend-bucket-dogs, indicando o conteúdo nos buckets do Cloud Storage.gcloud compute backend-buckets create backend-bucket-cats \ --gcs-bucket-name=BUCKET1_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --project=SERVICE_PROJECT_B_IDgcloud compute backend-buckets create backend-bucket-dogs \ --gcs-bucket-name=BUCKET2_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --project=SERVICE_PROJECT_B_IDSubstitua:
BUCKET1_NAMEeBUCKET2_NAME: nomes bucket do Cloud Storage.SERVICE_PROJECT_B_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço B.
Configurar os componentes de front-end do balanceador de carga no projeto de serviço A
Todas as etapas nesta seção precisam ser realizadas no projeto de serviço A.
No projeto de serviço A, crie os seguintes componentes de balanceamento de carga de front-end:
- Recurso de certificado SSL anexado ao proxy de destino. Siga as etapas descritas na seção anterior para criar o certificado SSL.
- Dois endereços IP para as duas regras de encaminhamento do balanceador de carga. Siga as etapas descritas na seção anterior para criar os endereços IP das regras de encaminhamento.
- Mapa de URL que faz referência aos buckets de back-end no projeto de serviço B
- Proxy de destino
- Duas regras de encaminhamento, cada uma com um endereço IP regional.
Para criar os componentes de front-end, faça o seguinte:
Crie um mapa de URL para encaminhar solicitações recebidas para o bucket de back-end com o comando
gcloud compute url-maps create.Neste exemplo, o mapa de URL é chamado de
lb-map.gcloud compute url-maps create lb-map \ --default-backend-bucket=projects/SERVICE_PROJECT_B_ID/global/backendBuckets/backend-bucket-cats \ --global \ --project=SERVICE_PROJECT_A_IDSubstitua:
SERVICE_PROJECT_B_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço BSERVICE_PROJECT_A_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço A
Configure as regras de host e de caminho do mapa de URL com o comando
gcloud compute url-maps add-path-matcher.Neste exemplo, o bucket de back-end padrão é
backend-bucket-cats, que processa todos os caminhos que existem nele. No entanto, qualquer solicitação direcionada ahttp://FORWARDING_RULE_IP_ADDRESS/love-to-fetch/two-dogs.jpgusa o back-endbackend-bucket-dogs. Por exemplo, se a pasta/love-to-fetch/também existir no seu back-end padrão (backend-bucket-cats), o balanceador de carga vai priorizar o back-endbackend-bucket-dogsporque há uma regra de caminho específica para/love-to-fetch/*.gcloud compute url-maps add-path-matcher lb-map \ --path-matcher-name=path-matcher-pets \ --new-hosts=* \ --backend-bucket-path-rules="/love-to-fetch/*=projects/SERVICE_PROJECT_B_ID/global/backendBuckets/backend-bucket-dogs" \ --default-backend-bucket=projects/SERVICE_PROJECT_B_ID/global/backendBuckets/backend-bucket-cats \ --project=SERVICE_PROJECT_A_IDSubstitua:
SERVICE_PROJECT_B_ID: o Google Cloud ID do projeto atribuído ao projeto de serviço BSERVICE_PROJECT_A_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço A
Crie um proxy de destino com o comando
gcloud compute target-http-proxies create.Para tráfego HTTP, crie um proxy HTTP de destino, chamado
http-proxy, para encaminhar solicitações ao mapa de URL:gcloud compute target-http-proxies create http-proxy \ --url-map=lb-map \ --global \ --project=SERVICE_PROJECT_A_IDSubstitua
SERVICE_PROJECT_A_IDpelo ID do projetoGoogle Cloud atribuído ao projeto de serviço A.Para tráfego HTTPS, crie um proxy HTTPS de destino, chamado
https-proxy, para encaminhar solicitações ao mapa de URL. O proxy é a parte do balanceador de carga que armazena o certificado SSL de um balanceador de carga HTTPS. Depois de criar o certificado, anexe-o ao proxy de destino HTTPS.gcloud compute target-https-proxies create https-proxy \ --url-map=lb-map \ --certificate-manager-certificates=CERTIFICATE_NAME \ --global \ --project=SERVICE_PROJECT_A_IDSubstitua:
CERTIFICATE_NAME: o nome do certificado SSL que você criou usando o Gerenciador de certificadosSERVICE_PROJECT_A_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço A
Crie duas regras de encaminhamento global, uma com um endereço IP na região
us-east1e outra com um endereço IP na regiãoasia-east1usando o comandogcloud compute forwarding-rules create.Para o tráfego HTTP, crie as regras de encaminhamento global (
http-fw-rule-1ehttp-fw-rule-2) para encaminhar as solicitações recebidas ao proxy HTTP de destino:gcloud compute forwarding-rules create http-fw-rule-1 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-east1/subnetworks/subnet-us \ --subnet-region=us-east1 \ --address=RESERVED_IP_ADDRESS \ --ports=80 \ --target-http-proxy=http-proxy \ --global-target-http-proxy \ --global \ --project=SERVICE_PROJECT_A_IDgcloud compute forwarding-rules create http-fw-rule-2 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/asia-east1/subnetworks/subnet-asia \ --subnet-region=asia-east1 \ --address=RESERVED_IP_ADDRESS \ --ports=80 \ --target-http-proxy=http-proxy \ --global-target-http-proxy \ --global \ --project=SERVICE_PROJECT_A_IDSubstitua:
HOST_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto hostRESERVED_IP_ADDRESS: o endereço IP reservado.SERVICE_PROJECT_A_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço A
Para o tráfego HTTPS, crie as regras de encaminhamento global (
https-fw-rule-1ehttps-fw-rule-2) para encaminhar as solicitações recebidas ao proxy de destino HTTPS:gcloud compute forwarding-rules create https-fw-rule-1 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-east1/subnetworks/subnet-us \ --subnet-region=us-east1 \ --address=RESERVED_IP_ADDRESS \ --ports=443 \ --target-https-proxy=https-proxy \ --global-target-https-proxy \ --global \ --project=SERVICE_PROJECT_A_IDgcloud compute forwarding-rules create https-fw-rule-2 \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/asia-east1/subnetworks/subnet-asia \ --subnet-region=asia-east1 \ --address=RESERVED_IP_ADDRESS \ --ports=443 \ --target-https-proxy=https-proxy \ --global-target-https-proxy \ --global \ --project=SERVICE_PROJECT_A_IDSubstitua:
HOST_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto hostRESERVED_IP_ADDRESS: o endereço IP reservado.SERVICE_PROJECT_A_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço A
Conceder permissões ao administrador do balanceador de carga para usar o bucket de back-end
Se você quiser que os balanceadores de carga façam referência a buckets de back-end em outros projetos
de serviço, o administrador do balanceador de carga precisará ter a permissão
compute.backendBuckets.use. Para conceder essa permissão, use o papel predefinido do IAM chamado Usuário de serviços do balanceador de carga do Compute (roles/compute.loadBalancerServiceUser). Esse papel precisa ser concedido pelo Administrador do projeto de serviço e pode ser aplicado no nível do projeto de serviço ou no nível do bucket de back-end individual.
Neste exemplo, um administrador de projeto de serviço do projeto B precisa executar um dos
comandos a seguir para conceder a permissão compute.backendBuckets.use a um
administrador do balanceador de carga do projeto de serviço A. Isso pode ser feito no
nível do projeto (para todos os buckets de back-end no projeto) ou por bucket de back-end.
Console
Permissões de nível de projeto
Use as etapas a seguir para conceder permissões a todos os buckets de back-end no projeto.
Você precisa das permissões compute.backendBuckets.setIamPolicy
e resourcemanager.projects.setIamPolicy para
concluir esta etapa.
No console do Google Cloud , acesse a página IAM.
Selecione o projeto.
Clique em Conceder acesso.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na seção Atribuir funções, clique em Adicionar funções.
Na caixa de diálogo Selecionar papéis, no campo Pesquisar papéis, insira
Compute Load Balancer Services User.Marque a caixa de seleção Usuário de serviços do balanceador de carga do Compute.
Clique em Aplicar.
Opcional: adicione uma condição ao papel.
Clique em Salvar.
Permissões no nível do recurso para buckets de back-end individuais
Use as etapas a seguir para conceder permissões a buckets de back-end individuais no projeto.
A permissão compute.backendBuckets.setIamPolicy é necessária para concluir esta etapa.
No console do Google Cloud , acesse a página Back-ends.
Na lista de back-ends, selecione o bucket de back-end a que você quer conceder acesso e clique em Permissões.
Clique em Adicionar principal.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na lista Selecionar um papel, escolha Usuário de serviços do balanceador de carga do Compute.
Clique em Salvar.
gcloud
Permissões de nível de projeto
Use as etapas a seguir para conceder permissões a todos os buckets de back-end no projeto.
Você precisa das permissões compute.backendBuckets.setIamPolicy
e resourcemanager.projects.setIamPolicy para
concluir esta etapa.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \
--member="user:LOAD_BALANCER_ADMIN" \
--role="roles/compute.loadBalancerServiceUser"
Substitua:
SERVICE_PROJECT_B_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço BLOAD_BALANCER_ADMIN: o principal para quem a vinculação deve ser adicionada.
Permissões no nível do recurso para buckets de back-end individuais
No nível do bucket de back-end, os administradores do projeto de serviço podem usar um dos
comandos a seguir para conceder o papel de usuário de serviços do balanceador de carga do Compute
(roles/compute.loadBalancerServiceUser):
- comando
gcloud projects add-iam-policy-binding - comando
gcloud compute backend-buckets add-iam-policy-binding
Use o comando gcloud projects add-iam-policy-binding para conceder o papel de usuário de serviços do balanceador de carga do Compute.
Você precisa da permissão compute.backendBuckets.setIamPolicy
para concluir esta etapa.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \
--member="user:LOAD_BALANCER_ADMIN" \
--role="roles/compute.loadBalancerServiceUser" \
--condition='expression=resource.name=="projects/SERVICE_PROJECT_B_ID/global/backendBuckets/BACKEND_BUCKET_NAME",title=Shared VPC condition'
SERVICE_PROJECT_B_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço BLOAD_BALANCER_ADMIN: o principal para quem a vinculação deve ser adicionada.BACKEND_BUCKET_NAME: o nome do bucket de back-end
gcloud compute backend-buckets add-iam-policy-binding
para conceder o papel de usuário de serviços do balanceador de carga do Compute.
gcloud compute backend-buckets add-iam-policy-binding BACKEND_BUCKET_NAME \
--member="user:LOAD_BALANCER_ADMIN" \
--role="roles/compute.loadBalancerServiceUser" \
--project=SERVICE_PROJECT_B_ID \
Enviar uma solicitação HTTP ao balanceador de carga
Envie uma solicitação de uma VM cliente interna para a regra de encaminhamento do balanceador de carga.
Anotar o endereço IP da regra de encaminhamento do balanceador de carga
Para receber o endereço IP da regra de encaminhamento do balanceador de carga, siga estas etapas:
Anote o endereço IP da regra de encaminhamento do balanceador de carga (
http-fw-rule-1), que está na regiãous-east1.gcloud compute forwarding-rules describe http-fw-rule-1 \ --global \ --project=SERVICE_PROJECT_A_IDAnote o endereço IP da regra de encaminhamento do balanceador de carga (
http-fw-rule-2), que está na regiãoasia-east1.gcloud compute forwarding-rules describe http-fw-rule-2 \ --global \ --project=SERVICE_PROJECT_A_IDSubstitua
SERVICE_PROJECT_A_IDpelo ID do projetoGoogle Cloud atribuído ao projeto de serviço A.Copie o endereço IP retornado para usar como
FORWARDING_RULE_IP_ADDRESSnas etapas subsequentes.
Criar uma VM cliente para testar a conectividade
Para criar uma VM cliente e testar a conectividade, siga estas etapas:
Crie uma VM cliente, chamada
client-a, na regiãous-east1.gcloud compute instances create client-a \ --image-family=debian-12 \ --image-project=debian-cloud \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-east1/subnetworks/subnet-us \ --zone=us-east1-c \ --tags=allow-ssh \ --project=SERVICE_PROJECT_A_IDSubstitua:
HOST_PROJECT_ID: o Google Cloud ID do projeto atribuído ao projeto hostSERVICE_PROJECT_A_ID: o ID do projeto Google Cloud atribuído ao projeto de serviço A
Estabeleça uma conexão SSH com a VM cliente.
gcloud compute ssh client-a \ --zone=us-east1-c \ --project=SERVICE_PROJECT_A_IDSubstitua
SERVICE_PROJECT_A_IDpelo ID do projetoGoogle Cloud atribuído ao projeto de serviço A.Neste exemplo, o balanceador de carga de aplicativo interno entre regiões tem endereços IP virtuais (VIPs) de front-end nas regiões
us-east1easia-east1da rede VPC. Faça uma solicitação HTTP para o VIP em qualquer uma das regiões usando curl.curl http://FORWARDING_RULE_IP_ADDRESS/love-to-fetch/two-dogs.jpg --output two-dogs.jpg
curl http://FORWARDING_RULE_IP_ADDRESS/love-to-purr/three-cats.jpg --output three-cats.jpg
Substitua
FORWARDING_RULE_IP_ADDRESSpelo endereço IP da regra de encaminhamento do balanceador de carga.
Para testar a alta disponibilidade, consulte a seção Testar a alta disponibilidade neste documento.
A seguir
- Visão geral da VPC compartilhada
- Visão geral do balanceador de carga interno do aplicativo
- Sub-redes somente proxy para balanceadores de carga baseados em Envoy
- Gerenciar certificados
- Limpar uma configuração de balanceamento de carga