Neste documento, mostramos como criar um balanceador de carga de aplicativo externo global com um serviço de back-end e um bucket de back-end localizados em um projeto diferente de onde estão o front-end do balanceador de carga e o mapa de URL. Esse modelo de implantação é conhecido como referência de serviço entre projetos.
O exemplo usado neste documento não usa um ambiente de VPC compartilhada para configurar a referência de serviço entre projetos. Para saber como configurar a referência de serviço entre projetos em um ambiente de VPC compartilhada, consulte Configurar um balanceador de carga de aplicativo externo global com VPC compartilhada.
Antes de começar
Certifique-se de que sua configuração atenda aos seguintes pré-requisitos.
Permissões e papéis do IAM necessários
Para seguir este guia, você precisa ter os seguintes papéis do IAM:
Tarefa | Papel necessário |
---|---|
Criar um projeto | Papel de criador de projetos (roles/resourcemanager.projectCreator )
|
Criar recursos de computação | Papel de administrador de rede do Compute (roles/compute.networkAdmin )
|
Criar buckets do Cloud Storage | Função de administrador de objetos do Storage (roles/storage.objectAdmin )
|
Usar um recurso de outro projeto Neste exemplo, o projeto A faz referência ao serviço de back-end e ao bucket de back-end que estão localizados no projeto B. |
Neste exemplo, um administrador do projeto B precisa conceder
o
papel de usuário dos serviços do balanceador de carga do
Compute
( Para saber mais sobre como atribuir esse papel, consulte Conceder permissões ao administrador do Compute Load Balancer para usar o serviço de back-end. |
Criar Google Cloud projetos
Para o exemplo neste documento, siga as instruções duas vezes para criar dois projetos Google Cloud .
Console
Para criar um projeto novo, execute as seguintes etapas:
-
Acesse a página Gerenciar recursos no console Google Cloud .
As etapas restantes aparecem no console do Google Cloud .
- Na lista suspensa Selecionar organização, na parte de cima da página, escolha o recurso da organização em que o projeto vai ser criado. Se você é um usuário da avaliação gratuita, pule esta etapa porque a lista não será exibida.
- Clique em Criar projeto.
- Na janela Novo projeto que vai ser exibida, insira o nome do projeto e selecione uma conta de faturamento, conforme aplicável. O nome de um projeto só pode ser composto por letras, números, aspas simples, hifens, espaços ou pontos de exclamação e precisa ter entre 4 e 30 caracteres.
- Insira o recurso da organização ou pasta mãe na caixa Local. Esse recurso vai ser o pai hierárquico do novo projeto. Se houver a opção Sem organização, selecione-a para criar o novo projeto como o nível superior da própria hierarquia de recursos.
- Quando terminar de inserir os detalhes do novo projeto, clique em Criar.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Para criar um novo projeto, use o comando
gcloud projects create
:gcloud projects create PROJECT_ID
Em que PROJECT_ID é o código do projeto que você quer criar. Um ID do projeto precisa começar com uma letra minúscula e deve conter apenas letras ASCII, dígitos e hifens e deve ter entre 6 e 30 caracteres.
Visão geral da configuração
Conforme mostrado no diagrama a seguir, o front-end e o mapa de URL de um balanceador de carga de aplicativo externo global são criados em um projeto diferente do serviço de back-end e do bucket de back-end do balanceador de carga. Esse tipo de implantação entre projetos não usa um ambiente de VPC compartilhada.
Nessa configuração, o mapa de URL encaminha solicitações de conteúdo estático
(/images/*
) para um bucket de back-end, enquanto todas as outras solicitações são roteadas para o
serviço de back-end padrão.
A tabela a seguir mostra uma visão geral dos recursos criados no projeto A e no projeto B. O front-end e o mapa de URL do balanceador de carga são criados no projeto A, enquanto os componentes de back-end são criados no projeto B.
Recursos criados no projeto A | Recursos criados no projeto B |
---|---|
|
|
Nas próximas seções, vamos configurar os diferentes recursos listados na tabela anterior, começando pela configuração de uma rede VPC e uma sub-rede para as VMs de back-end do balanceador de carga no projeto B.
Configurar uma rede e uma sub-rede para as VMs de back-end do balanceador de carga no projeto B
Para este exemplo, as VMs de back-end são criadas na seguinte rede e sub-rede:
Rede: Uma rede VPC de modo personalizado denominada
lb-network
.Sub-rede para VMs de back-end do balanceador de carga: uma sub-rede chamada
lb-backend-subnet
na regiãous-west1
usa10.1.2.0/24
como o intervalo de IP principal. Os intervalos de endereços IPv4 primário e secundário de uma sub-rede são endereços IPv4 internos regionais. Para mais informações, consulte Intervalos IPv4 válidos.
Console
No console Google Cloud , acesse a página Redes VPC.
Clique em Criar rede VPC.
Em Nome, insira
lb-network
.Na seção Sub-redes, defina o Modo de criação da sub-rede como Personalizado.
Na seção Nova sub-rede, insira as seguintes informações:
- Nome:
lb-backend-subnet
- Selecione uma Região:
us-west1
- Intervalo de endereços IP:
10.1.2.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=PROJECT_B_ID
Crie uma sub-rede na rede VPC
lb-network
na regiãous-west1
com o comandogcloud compute networks subnets create
.gcloud compute networks subnets create lb-backend-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1 \ --project=PROJECT_B_ID
Configurar um serviço de back-end no projeto B
Para configurar um serviço de back-end, faça o seguinte:
- Criar um modelo de instância.
- Criar um grupo de instâncias.
- Criar uma verificação de integridade.
- Crie uma regra de firewall.
- Crie um serviço de back-end.
Criar um modelo de instância
O precursor da criação de um grupo de instâncias gerenciadas é a criação de um modelo de instância, que é um recurso que pode ser usado para criar instâncias de máquina virtual (VM, na sigla em inglês). O tráfego dos clientes é balanceado por carga para VMs em um grupo de instâncias. O grupo de instâncias gerenciadas fornece VMs que executam os servidores de back-end de um balanceador de carga de aplicativo externo. Neste tutorial, os back-ends disponibilizam seus próprios nomes de host.
Console
No console Google Cloud , acesse a página Modelos de instância do Compute Engine.
Clique em Criar modelo de instância.
Em Nome, insira
backend-template
.Na seção Disco de inicialização, verifique se o disco está definido como uma imagem do Debian, como Debian GNU/Linux 12 (bookworm). Clique em Alterar para mudar a imagem se necessário.
Expanda a seção Opções avançadas.
Expanda Rede e configure os seguintes campos:
- Em Tags de rede, insira
load-balanced-backend
. - Na seção Interfaces de rede, configure os
seguintes campos:
- Rede:
lb-network
- Sub-rede:
lb-backend-subnet
- Tipo de pilha de IP: IPv4
- Rede:
- Clique em Concluir.
- Em Tags de rede, insira
Expanda Gerenciamento. No campo Script de inicialização, digite o script a seguir:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl # Retrieve the instance name from metadata vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" # Create an index file echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html # Restart Apache to apply changes systemctl restart apache2' \
Clique em Criar.
gcloud
Criar um modelo de instância.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --region=us-west1 \ --network=projects/PROJECT_B_ID/global/networks/lb-network \ --subnet=projects/PROJECT_B_ID/regions/us-west1/subnetworks/lb-backend-subnet \ --tags=load-balanced-backend \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl # Retrieve the instance name from metadata vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" # Create an index file echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html # Restart Apache to apply changes systemctl restart apache2' \ --project=PROJECT_B_ID
Criar um grupo gerenciado de instâncias
Console
No console Google Cloud , acesse a página Grupos de instâncias do Compute Engine.
Selecione Criar grupo de instâncias.
Nas opções, selecione Novo grupo gerenciado de instâncias (sem estado).
Para o nome do grupo de instâncias, insira
lb-backend
.Na lista Modelo de instância, selecione o modelo de instância
backend-template
que você criou na etapa anterior.Na seção Local, selecione Única zona e insira os seguintes valores:
Em Região, selecione
us-west1
.Em Zona, selecione
us-west1-a
.
Na seção Escalonamento automático, insira os seguintes valores:
Em Modo de escalonamento automático, selecione Ativado: adicionar e remover instâncias para o grupo.
Em Número mínimo de instâncias, selecione
2
.Em Número máximo de instâncias, selecione
3
.
Na seção Mapeamento de portas, clique em Adicionar porta e insira os seguintes valores:
Em Nome da porta, insira
http
.Em Número da porta, digite
80
.
Clique em Criar.
gcloud
Crie um grupo de instâncias gerenciadas e selecione o modelo de instância que você criou na etapa anterior:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --zone=us-west1-a \ --size=2 \ --template=INSTANCE_TEMPLATE_NAME \ --project=PROJECT_B_ID
Como adicionar uma porta nomeada ao grupo de instâncias:
gcloud compute instance-groups set-named-ports INSTANCE_GROUP_NAME \ --named-ports=http:80 \ --zone=us-west1-a \ --project=PROJECT_B_ID
Criar uma verificação de integridade
As verificações de integridade são testes que confirmam a disponibilidade dos back-ends. Crie uma verificação de integridade que use o protocolo HTTP e faça sondagens na porta 80. Posteriormente, você anexará essa verificação de integridade ao serviço de back-end referenciado pelo balanceador de carga.
Console
No console Google Cloud , acesse a página Verificações de integridade do Compute Engine:
Para o nome da verificação de integridade, insira
lb-health-check
.Defina o protocolo como HTTP.
Clique em Criar.
gcloud
Crie uma verificação de integridade HTTP.
gcloud compute health-checks create http lb-health-check \ --use-serving-port \ --project=PROJECT_B_ID
Criar uma regra de firewall
Para as sondagens de verificação de integridade, crie uma regra de firewall de permissão de entrada no
nível da rede, que, para fins deste exemplo, é lb-network
. Essa
regra de firewall permite que as sondagens de verificação de integridade alcancem suas instâncias de back-end. Este
exemplo usa a seguinte regra de firewall:
fw-allow-health-check
: uma regra de entrada, aplicável às instâncias cuja carga está sendo balanceada, que permite todo o tráfego TCP dos sistemas de verificação de integridade do Google Cloudem130.211.0.0/22
e35.191.0.0/16
. Neste exemplo, usamos a tag de destinoload-balanced-backend
para identificar as instâncias a que ela se aplicará.
Console
No console Google Cloud , acesse a página Políticas de firewall.
Clique em Criar regra de firewall para criar a regra que permite conexões SSH de entrada na VM cliente:
- Nome:
fw-allow-health-check
- Rede:
lb-network
- Direção do tráfego: entrada
- Ação na correspondência: permitir
- Destinos: tags de destino especificadas
- Tags de meta:
load-balanced-backend
- Filtro de origem: intervalos IPv4
- Intervalos IPv4 de origem:
130.211.0.0/22
e35.191.0.0/16
- Protocolos e portas:
- Escolha Protocolos e portas especificados.
- Marque a caixa de seleção tcp e insira
80
como o número da porta. Como prática recomendada, limite esta regra somente aos protocolos e portas que correspondem aos usados por sua verificação de integridade. Se você usar tcp:80 para o protocolo e a porta, Google Cloud poderá usar HTTP na porta 80 para entrar em contato com suas VMs, mas não poderá usar HTTPS na porta 443.
- Nome:
Clique em Criar.
gcloud
Crie a regra de firewall
fw-allow-health-check
para permitir verificações de integridadeGoogle Cloud . Neste exemplo, todo o tráfego TCP de sondagens de verificação de integridade é permitido. No entanto, é possível configurar um conjunto mais restrito de portas para atender às suas necessidades.gcloud compute firewall-rules create FIREWALL_RULE_NAME \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=load-balanced-backend \ --rules=tcp \ --project=PROJECT_B_ID
Criar um serviço de back-end
Crie um serviço de back-end global para distribuir o tráfego entre os back-ends. Como parte desta etapa, você precisa atribuir a verificação de integridade criada ao serviço de back-end e adicionar o grupo de instâncias como o back-end ao serviço de back-end.
Console
No console Google Cloud , acesse a página Balanceamento de carga.
Acesse a seção Back-ends.
Clique em Criar serviço de back-end.
Em Serviço de back-end global, clique no botão Criar ao lado dele.
Para o nome do serviço de back-end, insira
cross-ref-backend-service
.Em Tipo de back-end, selecione Grupo de instâncias.
Defina Protocolo como HTTP.
No campo Porta nomeada, insira
http
. Esse é o mesmo nome de porta inserido ao criar o grupo gerenciado de instâncias.Para adicionar back-ends ao serviço de back-end, faça o seguinte:
Na seção Back-ends, defina o Grupo de instâncias como
lb-backend
, que é o grupo de instâncias gerenciadas criado em uma etapa anterior.Em Números de portas, insira
80
.Para adicionar o back-end, clique em Concluído. .
Para adicionar uma verificação de integridade, na lista Verificação de integridade, selecione
lb-health-check
, que é a verificação de integridade criada anteriormente.Para criar o serviço de back-end, clique em Criar.
gcloud
Crie um serviço de back-end global para distribuir o tráfego entre os back-ends:
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=HEALTH_CHECK_NAME \ --global \ --project=PROJECT_B_ID
Adicione seu grupo de instâncias como back-end do serviço de back-end:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group=INSTANCE_GROUP_NAME \ --instance-group-zone=us-west1-a \ --global \ --project=PROJECT_B_ID
Configurar um bucket de back-end no projeto B
Para criar um bucket de back-end, faça o seguinte:
- Crie o bucket do Cloud Storage.
- Copie o conteúdo para o bucket.
- Torne o bucket acessível publicamente.
- Crie um bucket de back-end e o aponte para o bucket do Cloud Storage.
Criar um bucket do Cloud Storage
Console
- No Google Cloud console, acesse a página Buckets do Cloud Storage.
Clique em
Criar.Na caixa Nomear seu bucket, digite 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.
gcloud
Crie um bucket na região
us-east1
com o comandogcloud storage buckets create
.gcloud storage buckets create gs://BUCKET_NAME \ --default-storage-class=standard \ --location=us-east1 \ --uniform-bucket-level-access \ --project=PROJECT_B_ID
Substitua a variável BUCKET_NAME pelo nome do bucket do Cloud Storage.
Copiar um arquivo gráfico para o bucket do Cloud Storage
Execute o comando a seguir no Cloud Shell, substituindo as variáveis de nome
do bucket pelo nome exclusivo do bucket do Cloud Storage, para copiar o arquivo gráfico de um bucket público
do Cloud Storage para a pasta images/
no seu próprio bucket do Cloud Storage:
gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET_NAME/images/
Tornar o bucket do Cloud Storage publicamente legível.
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 Google Cloud console, 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 parte superior da página.
Na seção Permissões, clique no botão
Conceder acesso. A caixa de diálogo Conceder acesso vai aparecer.No campo Novos participantes, insira
allUsers
.No campo Selecionar um papel, insira
Storage Object Viewer
na 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 buckets add-iam-policy-binding
.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
Substitua as variáveis de nome do bucket pelos nomes exclusivos dos seus buckets do Cloud Storage.
Criar um bucket de back-end
Os buckets de back-end servem como um wrapper para os buckets do Cloud Storage criados anteriormente. Eles direcionam o tráfego recebido para os buckets do Cloud Storage.
Console
No console Google Cloud , acesse a página Balanceamento de carga.
Acesse a seção Back-ends.
Clique em Criar bucket de back-end.
Insira um nome para o bucket do back-end.
Selecione um bucket do Cloud Storage para apontar seu bucket de back-end.
Clique em Criar.
gcloud
Crie um bucket de back-end com o
comando gcloud compute backend-buckets create
no projeto B.
gcloud compute backend-buckets create BACKEND_BUCKET_NAME \ --gcs-bucket-name=BUCKET_NAME \ --project=PROJECT_B_ID
Configurar os componentes de front-end do balanceador de carga no projeto A
Esta seção mostra como configurar os seguintes componentes de front-end do balanceador de carga no projeto A:
- Endereço IP
- Certificado SSL
- Mapa de URL
- Proxy de destino
- Regra de encaminhamento
Reserve o endereço IP do balanceador de carga
Reserve um endereço IP externo estático global que possa ser atribuído à regra de encaminhamento do balanceador de carga.
Console
No console Google Cloud , acesse a página Endereços IP da VPC.
Clique em Reservar endereço IP estático externo.
Em Nome, insira
cross-ref-ip-address
.Defina o Nível de serviço de rede como Premium.
Defina Versão IP como IPv4.
Configure Tipo como Global.
Clique em Reservar.
gcloud
Crie um endereço IP externo estático global.
gcloud compute addresses create IP_ADDRESS_NAME \ --ip-version=IPV4 \ --network-tier=PREMIUM \ --global \ --project=PROJECT_A_ID
Configurar um recurso de certificado SSL
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.
Crie um recurso de certificado SSL, conforme descrito na documentação a seguir:
Recomendamos o uso de um certificado gerenciado pelo Google.
Depois de criar o certificado, anexe-o ao proxy de destino HTTPS.
Configurar os componentes de um balanceador de carga de aplicativo externo global
Console
Iniciar a configuração
No console Google Cloud , acesse a página Balanceamento de carga.
- Clique em Criar balanceador de carga.
- Em Tipo de balanceador de carga, selecione Balanceador de carga de aplicativo (HTTP/HTTPS) e clique em Próxima.
- Em Voltado ao público ou interno, selecione Voltado ao público (externo) e clique em Próxima.
- Em Implantação global ou de região única, selecione Melhor para cargas de trabalho globais e clique em Próxima.
- Em Geração do balanceador de carga, selecione Balanceador de carga de aplicativo externo global e clique em Próxima.
- Clique em Configurar.
Configuração básica
- Insira um nome para o balanceador de carga.
- Mantenha a página aberta para continuar.
Configure o front-end
Para HTTP:
- Clique em Configuração de front-end.
- Insira um nome para a regra de encaminhamento.
- Defina Protocolo como
HTTP
. - Selecione o Endereço IP criado em Reservar o endereço IP do balanceador de carga.
- Defina a Porta como
80
. - Clique em Concluído.
Para HTTPS:
Se você usa o HTTPS entre o cliente e o balanceador de carga, um ou mais recursos de certificado SSL serão necessários para configurar o proxy. Saiba mais sobre como criar recursos de certificado SSL em Certificados SSL.
- Clique em Configuração de front-end.
- Insira um nome para a regra de encaminhamento.
- No campo Protocolo, selecione
HTTPS (includes HTTP/2)
. - Selecione o Endereço IP criado em Reservar o endereço IP do balanceador de carga.
- Certifique-se de que Porta esteja definida como
443
, para permitir tráfego HTTPS. - Clique na lista Certificate.
- Selecione o nome do certificado SSL que você criou anteriormente.
- Clique em Concluído.
Configure o back-end
- Clique em Configuração de back-end.
- Clique em Serviços de back-end entre projetos.
- Em ID do projeto, insira o ID do projeto para o projeto B.
- Na lista Selecionar serviços de back-end, selecione o serviço de back-end do projeto B que você quer usar.
- Clique em OK.
Configurar as regras de roteamento
Clique em Regras de roteamento.
Em "Modo", selecione Regra avançada de host e caminho.
Selecione Adicionar regra de host e caminho.
No campo Hosts, insira
*
para corresponder a todos os nomes de host.Na seção Correspondência de patches, insira a seguinte configuração YAML.
defaultService: projects/PROJECT_B_ID/global/backendServices/BACKEND_SERVICE_NAME name: PATH_MATCHER_NAME pathRules: - paths: - /images/* service: projects/PROJECT_B_ID/global/backendBuckets/BACKEND_BUCKET_NAME
Neste exemplo, o Path Matcher é composto por uma regra de caminho e um serviço padrão. A regra de caminho encaminha todas as solicitações para
/images/*
a um bucket de back-end. Todas as outras solicitações são roteadas para o serviço de back-end padrão.Clique em Concluído.
Para mais informações sobre o gerenciamento de tráfego, consulte Visão geral do gerenciamento de tráfego.
Revise e finalize a configuração
Revise os diferentes componentes do balanceador de carga que você configurou nas etapas anteriores. A seção Back-ends faz referência ao serviço de back-end e ao bucket de back-end.
Clique em Criar.
gcloud
Para criar os componentes de balanceamento de carga mencionados acima usando a CLI gcloud, siga estas etapas:
Crie um mapa de URL com o comando
gcloud compute url-maps create
.gcloud compute url-maps create URL_MAP_NAME \ --default-service=projects/PROJECT_B_ID/global/backendServices/BACKEND_SERVICE_NAME \ --global \ --project=PROJECT_A_ID
Adicione uma correspondência de caminho para o mapa de URL. A correspondência de caminho, neste exemplo, é composta por uma regra de caminho e um serviço padrão. A regra de caminho encaminha todas as solicitações para
/images/*
para um bucket de back-end. Todas as outras solicitações são roteadas para o serviço de back-end padrão.gcloud compute url-maps add-path-matcher URL_MAP_NAME \ --path-matcher-name=PATH_MATCHER_NAME \ --default-service=projects/PROJECT_B_ID/global/backendServices/BACKEND_SERVICE_NAME \ --backend-bucket-path-rules=/images/*=projects/PROJECT_B_ID/global/backendBuckets/BACKEND_BUCKET_NAME
Crie um proxy de destino com o comando
gcloud compute target-http-proxies create
.Para tráfego HTTP, crie um proxy HTTP de destino para encaminhar solicitações ao mapa de URL:
gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --url-map=URL_MAP_NAME \ --global \ --project=PROJECT_A_ID
Para tráfego HTTPS, crie um proxy HTTPS de destino 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, você pode anexá-lo ao proxy de destino HTTPS.
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE_NAME \ --global \ --project=PROJECT_A_ID
Substitua
CERTIFICATE_NAME
pelo nome do certificado SSL.Crie uma regra de encaminhamento global com o comando
gcloud compute forwarding-rules create
.Para o tráfego HTTP, crie as regras de encaminhamento globais para encaminhar as solicitações recebidas para o proxy de destino HTTP:
gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=IP_ADDRESS_NAME \ --global \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --ports=80 \ --project=PROJECT_A_ID
Para o tráfego HTTPS, crie as regras de encaminhamento globais para encaminhar as solicitações recebidas para o proxy de destino HTTPS:
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=IP_ADDRESS_NAME \ --global \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --ports=443 \ --project=PROJECT_A_ID
Testar o balanceador de carga
Pode levar alguns minutos para que o balanceador de carga seja configurado. Depois disso, você poderá enviar uma solicitação para ele. Neste exemplo, a solicitação é enviada para a regra de encaminhamento HTTP do balanceador de carga.
Anote o endereço IP da regra de encaminhamento HTTP do balanceador de carga.
gcloud compute forwarding-rules describe HTTP_FORWARDING_RULE_NAME \ --global
Se você apontar o navegador para http://IP_ADDRESS, a solicitação será roteada para o serviço de back-end, que retorna uma página com informações mínimas sobre a instância de back-end.
No entanto, se você apontar o navegador para
http://IP_ADDRESS/images/three-cats.jpg, a solicitação para /images/*
será roteada para o bucket de back-end, que retorna o arquivo gráfico.
A seguir
- Visão geral do balanceador de carga de aplicativo externo
- Certificados SSL
- Limpar uma configuração de balanceamento de carga