Esta página descreve como adicionar um grupo de instâncias gerido (MIG) existente ao serviço de back-end ou ao conjunto de destino de um equilibrador de carga.
Um equilibrador de carga distribui o tráfego de utilizadores, o que ajuda a reduzir o risco de ter problemas de desempenho na sua aplicação. O Cloud Load Balancing usa grupos de instâncias, geridos e não geridos, para servir tráfego. Consoante o tipo de balanceador de carga que está a usar, pode adicionar grupos de instâncias a um grupo de destino ou a um serviço de back-end.
Para obter informações sobre como criar um tipo específico de balanceador de carga com um back-end do MIG, consulte a documentação do Cloud Load Balancing.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Trusted Cloud by S3NS serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Para mais informações, consulte o artigo Autenticar para usar REST na Trusted Cloud documentação de autenticação.
Adicione um grupo de instâncias gerido a um serviço de back-end
É necessário um serviço de back-end para criar a maioria dos tipos de balanceadores de carga.
Um serviço de back-end pode conter vários back-ends. Um grupo de instâncias é um tipo de back-end. As instâncias no grupo de instâncias respondem ao tráfego do balanceador de carga. Por sua vez, o serviço de back-end sabe que instâncias pode usar, o volume de tráfego que podem processar e o volume de tráfego que estão a processar atualmente. Além disso, o serviço de back-end monitoriza a verificação de estado e não envia novas ligações para instâncias não saudáveis.
Siga estas instruções para adicionar um grupo de instâncias gerido a um serviço de back-end.
Consola
- Aceda à página Balanceamento de carga na Trusted Cloud consola.
- Clique no nome do serviço de back-end ao qual está a adicionar o grupo de instâncias gerido.
- Clique em Edit.
- Clique em +Adicionar back-end.
- Selecione o grupo de instâncias que quer adicionar.
- Edite as definições opcionais que quer alterar.
- Guarde as alterações.
gcloud
Use o comando
add-backend
:gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group=INSTANCE_GROUP \ [--instance-group-region=INSTANCE_GROUP_REGION | --instance-group-zone=INSTANCE_GROUP_ZONE] \ --balancing-mode=BALANCING_MODE
O suporte do modo de equilíbrio difere consoante o tipo de equilibrador de carga. Para ver a lista completa, consulte o artigo Modo de equilíbrio disponível para cada equilibrador de carga.
São necessários parâmetros adicionais consoante o modo de equilíbrio do grupo de instâncias gerido. Para mais informações, consulte o comando
add-backend
no SDK.REST
Para adicionar um serviço de back-end através da API REST, consulte backendServices.
Limitações
O equilíbrio de carga com um MIG regional não suporta a capacidade de destino no
RATE
e nos modos de equilíbrioUTILIZATION
.max-rate
Para saber mais acerca das diretrizes de utilização de cada equilibrador de carga, consulte o artigo Modos de equilíbrio e definições de capacidade alvo.Adicione um grupo de instâncias gerido a um grupo de destino
Um conjunto de destino é um objeto que contém uma ou mais instâncias de máquinas virtuais. Um conjunto de destino é usado em equilibradores de carga de passagem externos, em que o equilibrador de carga encaminha os pedidos dos utilizadores para o conjunto de destino anexado. As instâncias que fazem parte desse grupo de destino publicam estes pedidos e devolvem uma resposta. Pode adicionar um grupo de instâncias gerido a um conjunto de destino para que, quando as instâncias são adicionadas ou removidas do grupo de instâncias, o conjunto de destino também seja atualizado automaticamente com as alterações.
Antes de poder adicionar um grupo de instâncias gerido a um grupo de destino, o grupo de destino tem de existir. Para mais informações, consulte a documentação sobre como adicionar um grupo de alvos.
Para adicionar um grupo de instâncias gerido existente a um conjunto de destino, siga estas instruções. Isto faz com que todas as instâncias de VM que fazem parte do grupo de instâncias gerido sejam adicionadas ao grupo de destino.
Consola
- Aceda à página Grupos de destino na Trusted Cloud consola.
- Clique no conjunto de destinos ao qual quer adicionar o grupo de instâncias.
- Clique no botão Editar.
- Desloque a página para baixo até à secção Instâncias de VM e clique em Selecionar grupos de instâncias.
- Selecione um grupo de instâncias no menu pendente.
- Guarde as alterações.
gcloud
Use o comando
set-target-pools
:gcloud compute instance-groups managed set-target-pools INSTANCE_GROUP \ --target-pools TARGET_POOL,..
where:
INSTANCE_GROUP
é o nome do grupo de instâncias.TARGET_POOL,..
é o nome de um ou mais conjuntos de destino aos quais adicionar este grupo de instâncias.
REST
Chame o método
setTargetPools
para um GIG regional ou um GIG zonal. Por exemplo:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP/setTargetPools
where:
PROJECT_ID
é o ID do projeto para este pedido.REGION
é a região do grupo de instâncias.INSTANCE_GROUP
é o nome do grupo de instâncias.
O corpo do pedido deve conter uma lista de URIs dos conjuntos de destino aos quais quer adicionar este grupo. Por exemplo:
{ "targetPools": [ "regions/us-central1/targetPools/example-targetpool-1", "regions/us-central1/targetPools/example-targetpool-2" ] }
Atribua portas com nome a grupos de instâncias geridas
As portas com nome são pares de chave-valor que representam o nome e o número de uma porta. O nome da porta representa o nome de um serviço ou de uma aplicação. O número da porta representa a porta em que o serviço ou a aplicação é executado.
As portas com nome são usadas pelo Cloud Load Balancing. Os balanceadores de carga que atuam como proxies subscrevem uma única porta com nome na respetiva configuração do serviço de back-end. O nome da porta é traduzido num número de porta com base no mapeamento da porta com nome do back-end de cada grupo de instâncias.
Por exemplo, um serviço de back-end pode subscrever uma porta denominada
http-port
. O grupo de instâncias de back-end pode ter uma porta denominadahttp-port:80
. O grupo de instâncias de back-end indica ao balanceador de carga que envie tráfego para uma VM no grupo na porta 80 através de um protocolo (como TCP). O protocolo é definido no serviço de back-end do balanceador de carga.As portas com nome são metadados simples usados pelos equilibradores de carga de proxy. As portas denominadas não controlam os recursos de rede nem de firewall no Compute Engine.
Vários números de porta para uma porta com nome
Pode atribuir várias portas a cada nome de serviço. Também pode atribuir vários nomes de serviços a cada porta.
Tenha em atenção os seguintes pontos:
- O tráfego é equilibrado entre todas as portas com o mesmo nome de porta.
- Um determinado serviço de back-end só pode encaminhar tráfego para uma porta nomeada de cada vez.
Se usar vários números de porta para uma porta com nome, as portas têm de ser todas para a mesma aplicação.
Por exemplo,
http:80,http:8080
funciona, mashttp:80,http:443
não funciona porque a porta 80 geralmente não suporta TLS.
Pode atribuir várias portas com nome num grupo de instâncias. Para ilustrar, considere um serviço de back-end de exemplo que subscreve a porta com nome
http-port
e que tem dois grupos de instâncias de back-end:instance-group-a
com uma porta denominadahttp-port:80
instance-group-b
com uma porta denominadahttp-port:79
Este serviço de back-end envia tráfego para a porta 80 para VMs em
instance-group-a
e para a porta 79 para VMs eminstance-group-b
.Quando adiciona o mesmo grupo de instâncias a vários serviços de back-end (para vários balanceadores de carga) e o grupo de instâncias serve portas diferentes em cada balanceador de carga, não adicione todos os números de portas a uma única porta com nome. Em vez disso, crie uma porta com um nome único e mapeie-a para um conjunto de portas que cada serviço de back-end deve servir.
Por exemplo, suponhamos que tem três aplicações, cada uma com o seu próprio equilibrador de carga. Cada aplicação tem o seu próprio número de porta: 81 para
app1
, 82 paraapp2
e 83 paraapp3
. Partindo do princípio de que todos os três serviços de back-end estão a usar um grupo de instâncias comum, atribua as portas com nome para este grupo de instâncias como[app1:81, app2:82, app3:83]
.Portas com nome e verificações de funcionamento
Para que uma porta com nome e vários números de porta num serviço de back-end funcione num Application Load Balancer externo ou num Application Load Balancer interno, a verificação de estado tem de ter a flag
--use-serving-port
em vez de um número de porta específico. Esta opção não está disponível na Trusted Cloud consola. Para definir--use-serving-port
, tem de usar a CLI Google Cloud ou a API.Por exemplo, suponhamos que tem uma aplicação que equilibra a carga do tráfego em três portas diferentes (81, 82 e 83) no mesmo serviço de back-end com um único grupo de instâncias. Pode atribuir as portas para estes grupos de instâncias como
[app:81, 82, 83]
. A verificação de saúde neste cenário tem de ter a flag--use-serving-port
.Para mais informações, consulte a documentação de verificação de funcionamento do balanceamento de carga.
Portas com nome e regras de firewall
As portas com nome não criam nem modificam Trusted Cloud regras de firewall. Para permitir o tráfego para VMs de back-end, continua a ter de criar as regras de firewall necessárias.
Portas com nome e serviços de back-end
Além da configuração do grupo de instâncias, também tem de configurar o serviço de back-end. Por exemplo, suponhamos que define a porta com nome num grupo de instâncias com o nome
my-service-name
e a porta8888
:gcloud compute instance-groups set-named-ports my-unmanaged-ig \ --named-ports=my-service-name:8888
Em seguida, tem de consultar a porta com nome na configuração do serviço de back-end com o
--port-name
no serviço de back-end definido comomy-service-name
:gcloud compute backend-services update my-backend-service \ --port-name=my-service-name
Crie portas com nome
Consola
- Na Trusted Cloud consola, aceda à página Grupos de instâncias.
- Clique no nome do grupo de instâncias onde quer especificar portas denominadas. É aberta uma página com as propriedades do grupo de instâncias.
- Clique em Editar para modificar este grupo de instâncias gerido.
- Na secção Mapeamento de portas, clique em Adicionar porta e introduza o nome da porta pretendido e os números das portas que quer associar a esse nome. Se precisar de mais entradas, clique novamente em Adicionar porta.
- Clique em Guardar para guardar as alterações e aplicar as portas com nome às instâncias no grupo de instâncias gerido.
gcloud
Para grupos de instâncias geridos, defina uma ou mais portas com nome através do comando
instance-groups managed set-named-ports
. Para grupos não geridos, use o comandoinstance-groups set-named-ports
.gcloud compute instance-groups managed set-named-ports INSTANCE_GROUP \ --named-ports PORT_NAME:PORT,PORT_NAME:PORT
Por exemplo:
gcloud compute instance-groups managed set-named-ports INSTANCE_GROUP \ --named-ports name1:80,name2:8080
Para atribuir várias portas a cada nome de serviço ou vários nomes a cada serviço, crie mais do que uma entrada para cada nome ou porta. Por exemplo, se as portas
10
,20
e80
forem para a mesma aplicação, pode atribuirname1
a todas essas portas. Além disso, pode atribuir dois nomes,name2
ename3
, para fazer a portabilidade de8080
. Por fim, pode atribuir a porta9000
aname4
, como no exemplo seguinte:gcloud compute instance-groups managed set-named-ports INSTANCE_GROUP \ --named-ports name1:10,name1:20,name1:80,\ name2:8080,name3:8080,\ name4:9000
Verifique as atribuições de portas com nome para um grupo de instâncias gerido através do comando
get-named-ports
:gcloud compute instance-groups managed get-named-ports INSTANCE_GROUP
NAME PORT name1 10 name1 20 name1 80 name2 8080 name3 8080 name4 9000
REST
A API
instanceGroupManagers
não oferece um método da APIsetNamedPorts
. Em alternativa, use a APIinstanceGroups
para realizar esta tarefa.Construa um pedido para a API
instanceGroups
e inclua o nome do grupo de instâncias. Obtenha o valorfingerprint
atual para o grupo de instâncias obtendo informações sobre um grupo específico. Inclua ofingerprint
e um ou mais pares de valoresnamedPorts
no corpo do pedido:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroups/INSTANCE_GROUP/setNamedPorts { "fingerprint": "42WmSpB8rSM=", "namedPorts": [ { "name": "PORT_NAME", "port": PORT_NUMBER }, { "name": "PORT_NAME", "port": PORT_NUMBER } ] }
Por exemplo, se as portas
10
,20
e80
forem para a mesma aplicação, pode atribuirname1
a todas essas portas. Além disso, pode atribuir dois nomes,name2
ename3
, para fazer a portabilidade de8080
. Por fim, pode atribuir port9000
aname4
, como no exemplo seguinte:POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts { "fingerprint": "42WmSpB8rSM=", "namedPorts": [ { "name": "name1", "port": 8080 }, { "name": "name2", "port": 9000 } ] }
Para atribuir várias portas a cada nome de serviço, crie várias entradas para esse nome de serviço. Por exemplo, pode atribuir as portas
10
,20
e80
aname1
. Atribua também a porta8080
aname2
.POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts { "fingerprint": "42WmSpB8rSM=", "namedPorts": [ { "name": "name1", "port": 10 }, { "name": "name1", "port": 20 } { "name": "name1", "port": 80 } { "name": "name2", "port": 8080 } { "name": "name3", "port": 80 } { "name": "name4", "port": 8080 } ] }
Para listar as portas com nome já atribuídas a um grupo de instâncias gerido, crie um pedido
GET
que aponte para o grupo:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP
O que se segue?
- Experimente o tutorial, Usar o equilíbrio de carga para apps de elevada disponibilidade.
- Crie um modelo de instância que possa usar para um grupo de instâncias gerido.
- Crie um grupo de instâncias gerido regional.
- Ative a recuperação automática para o seu grupo de instâncias geridas.
- Ative o dimensionamento automático para o seu grupo de instâncias geridas.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-25 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-25 UTC."],[],[],null,[]] -