Google Cloud oferece mecanismos de verificação de funcionamento que determinam se as instâncias de back-end respondem corretamente ao tráfego. Este documento descreve como criar e usar verificações de funcionamento para balanceadores de carga e a malha de serviços na nuvem.
Esta página pressupõe que conhece os seguintes conceitos:
- Vista geral das verificações de saúde
- Vista geral dos serviços de back-end
- Regras de firewall de VPC
Crie verificações de funcionamento
Google Cloud permite-lhe criar ou selecionar uma verificação de funcionamento quando conclui a configuração do back-end do balanceador de carga na Google Cloud consola.
Também pode criar uma verificação de funcionamento independentemente da configuração do balanceador de carga na Google Cloud consola. Isto é útil se precisar de criar primeiro a verificação de funcionamento ou se precisar de usar uma verificação de funcionamento para vários balanceadores de carga. Pode criar uma verificação de estado através da Google Cloud consola, da CLI Google Cloud ou das APIs REST.
Consola
- Aceda à página Verificações de saúde na Google Cloud consola.
Aceda à página Verificações de saúde - Clique em Criar uma verificação de funcionamento.
Na página Criar uma verificação de funcionamento, faculte as seguintes informações:
- Nome: indique um nome para a verificação de funcionamento.
- Descrição: opcionalmente, indique uma descrição.
- Âmbito: selecione um âmbito, Global ou Regional,
consoante o tipo de balanceador de carga.
- Se selecionou Regional, escolha uma Região no menu pendente.
Protocolo: escolha um protocolo de verificação de estado.
Porta: indique um número da porta. Quando cria uma verificação de funcionamento na Google Cloud consola, tem de especificar a porta através de um número de porta.
Protocolo proxy: opcionalmente, pode anexar um cabeçalho de proxy aos pedidos feitos pelos sistemas de sondagem de verificação de estado.
Caminho do pedido e resposta: para os protocolos HTTP, HTTPS e HTTP2, pode fornecer opcionalmente um caminho do URL para os sistemas de sondagem de verificação de estado contactarem. Para mais informações, consulte o artigo Flags adicionais para verificações de estado de HTTP, HTTPS e HTTP/2.
Pedido e Resposta: para protocolos TCP e SSL, pode especificar uma string de texto ASCII para enviar e uma string de resposta de texto esperada. Para mais informações, consulte Flags adicionais para verificações de estado de SSL e TCP.
Intervalo de verificação: defina o período desde o início de uma sondagem até ao início da seguinte.
Tempo limite: defina o tempo que Google Cloud aguarda uma resposta a uma sondagem. O valor tem de ser inferior ou igual ao intervalo de verificação.
Limite de funcionamento: defina o número de sondagens sequenciais que têm de ser bem-sucedidas para que a instância de VM seja considerada em funcionamento.
Limite de estado não íntegro: defina o número de sondagens sequenciais que têm de falhar para que a instância de VM seja considerada não íntegra.
Clique em Criar.
gcloud
Para criar uma verificação de funcionamento global, use o comando adequado
compute health-checks create
:gcloud compute health-checks create PROTOCOL NAME \ --global \ --description=DESCRIPTION \ --check-interval=CHECK_INTERVAL \ --timeout=TIMEOUT \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ PORT_SPECIFICATION \ ADDITIONAL_FLAGS
Para criar uma verificação de funcionamento regional, use o comando adequado
compute health-checks create
:gcloud compute health-checks create PROTOCOL NAME \ --region=REGION \ --description=DESCRIPTION \ --check-interval=CHECK_INTERVAL \ --timeout=TIMEOUT \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ PORT_SPECIFICATION \ ADDITIONAL_FLAGS
Substitua o seguinte:
PROTOCOL
define o protocolo usado para a verificação do estado. As opções válidas sãoGRPC
,GRPC_WITH_TLS
,HTTP
,HTTPS
,HTTP2
,SSL
eTCP
.NAME
é o nome da verificação de funcionamento. Num determinado projeto: cada verificação de estado global tem de ter um nome exclusivo e as verificações de estado regionais têm de ter nomes exclusivos numa determinada região.REGION
: a região da verificação de funcionamento. Para balanceadores de carga regionais, a região da verificação de estado tem de corresponder à região do serviço de back-end.DESCRIPTION
é uma descrição opcional.CHECK_INTERVAL
é o período entre o início da ligação de um sistema de sondagem de verificação de estado e o início do seguinte. As unidades são segundos. Se for omitido,o Google Cloud usa um valor de5s
(5 segundos).TIMEOUT
é a quantidade de tempo que Google Cloud aguarda uma resposta a uma sondagem. O valor deTIMEOUT
tem de ser inferior ou igual ao valor deCHECK_INTERVAL
. As unidades são segundos. Se for omitido, Google Cloud usa um valor de5s
(5 segundos).HEALTHY_THRESHOLD
eUNHEALTHY_THRESHOLD
especificam o número de sondagens sequenciais que têm de ser bem-sucedidas ou falhar para que a instância da VM seja considerada em bom ou mau estado. Se qualquer um for omitido, oGoogle Cloud usa um limite predefinido de2
.PORT_SPECIFICATION
: define a especificação da porta usando uma das flags de especificação da porta.ADDITIONAL_FLAGS
são outras flags para especificar portas e opções específicas doPROTOCOL
. Consulte Flags adicionais para verificações de estado de HTTP, HTTPS e HTTP/2, Flags adicionais para verificações de estado de SSL e TCP ou Flag adicional para verificações de estado de gRPC.
Terraform
Para criar uma verificação de funcionamento global, use o recurso
google_compute_health_check
.
Para criar uma verificação de funcionamento regional, use o recurso google_compute_region_health_check.
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
API
Para criar uma verificação de funcionamento global, use o comando healthChecks.insert
Para criar uma verificação de funcionamento regional, use o comando regionHealthChecks.insert
Modifique as verificações de funcionamento
Não pode converter uma verificação de funcionamento numa verificação de funcionamento antiga (ou vice-versa) modificando a verificação de funcionamento. Também não pode alterar o nome nem o âmbito de uma verificação de estado (por exemplo, de global para regional).
Consola
- Aceda à página Verificações de saúde na Google Cloud consola.
Aceda à página Verificações de saúde - Clique numa verificação de estado para ver os respetivos detalhes.
- Se precisar de modificar a verificação de estado, clique em Editar e, de seguida:
- Faça alterações aos parâmetros, conforme necessário.
- Clique em Guardar.
gcloud
Identifique o nome e o âmbito da verificação de estado. Para ver instruções, consulte o artigo Liste as verificações de estado.
Exceto para o nome, o protocolo e o âmbito de uma verificação de saúde, pode modificar qualquer uma das flags comuns, as flags de especificação de portas e outras flags adicionais. Para modificar uma verificação de funcionamento existente, use o comando adequado.
compute health-checks update
Para as flags que omitir, as definições pré-configuradas são preservadas.Exemplo de modificação de uma verificação de funcionamento global: o comando seguinte modifica uma verificação de funcionamento de HTTP global denominada
hc-http-port-80
, alterando o respetivo intervalo de verificação, tempo limite e caminho do pedido:gcloud compute health-checks update http hc-http-port-80 \ --global \ --check-interval=20s \ --timeout=15s \ --request-path="/health"
Exemplo de modificação de uma verificação de estado de saúde regional: o seguinte comando modifica uma verificação de estado de saúde de TCP na região
us-west1
denominadahc-west1-tcp-ldap
alterando a respetiva especificação de porta:gcloud compute health-checks update tcp hc-west1-tcp-ldap \ --region=us-west1 \ --port=631
API
Identifique o nome e o âmbito da verificação de estado. Consulte as verificações de estado da ficha para ver instruções.
Exceto para o nome, o protocolo e o âmbito de uma verificação de estado, pode modificar qualquer um dos indicadores comuns, os indicadores de especificação de porta e outros indicadores adicionais com estas chamadas API. Use chamadas API
patch
para preservar quaisquer definições pré-configuradas que não estejam explicitamente definidas no pedido.Para modificar uma verificação de funcionamento global, use healthChecks.update ou healthChecks.patch.
Para modificar uma verificação de funcionamento regional, use regionHealthChecks.update ou regionHealthChecks.patch.
Verificações de funcionamento da lista
Consola
Google Cloud- Aceda à página Verificações de saúde na Google Cloud consola.
Aceda à página Verificações de saúde - Clique numa verificação de estado para ver os respetivos detalhes.
gcloud
Para apresentar uma lista de verificações de estado, use o comando compute health-checks
list
:
Para listar as verificações de funcionamento globais:
gcloud compute health-checks list \ --global
Para listar verificações de saúde regionais: substitua
REGION_LIST
por uma lista separada por vírgulas de Google Cloud regiões a consultar.gcloud compute health-checks list \ --regions=REGION_LIST
Depois de saber o nome e o âmbito de uma verificação de estado, use o comando compute
health-checks
describe
para ver a respetiva configuração atual.
Para descrever uma verificação de estado global, substitua
NAME
pelo respetivo nome.gcloud compute health-checks describe NAME \ --global
Para descrever uma verificação de saúde regional, substitua
NAME
pelo respetivo nome eREGION
pela respetiva região.gcloud compute health-checks describe NAME \ --region=REGION
API
Para listar as verificações de funcionamento, use estas chamadas API:
Para listar as verificações de funcionamento globais: healthChecks.list
Para listar verificações de estado de funcionamento regionais: regionHealthChecks.list
Para descrever a configuração atual de uma verificação de funcionamento, use:
Para descrever uma verificação de funcionamento global: healthChecks.get
Para descrever uma verificação de estado regional: regionHealthChecks.get
Sinalizações adicionais
Esta secção descreve flags adicionais que pode usar quando cria ou modifica
uma verificação de estado. Algumas flags, como a especificação da porta, têm de ser definidas através de
gcloud
ou da API.
Sinalizações de especificação de portas
Se criar uma verificação de estado através da Google Cloud CLI ou da API, tem duas opções para especificar a porta da verificação de estado. A tabela seguinte mostra as opções de especificação de portas para combinações válidas de equilibrador de carga e back-end. O termo grupo de instâncias refere-se a grupos de instâncias não geridos, grupos de instâncias geridos zonais ou grupos de instâncias geridos regionais.
Cada verificação de estado só pode usar um tipo de especificação de porta.
Produto | Tipo de back-end | Opções de especificação de portas |
---|---|---|
Balanceador de carga de rede de passagem externo | Grupos de instâncias e NEGs suportados |
O parâmetro |
Grupos de destino | Verificações de estado antigas que suportam a especificação do número da porta (--port ). |
|
Balanceador de carga de rede de passagem interno | Grupos de instâncias e NEGs suportados |
O parâmetro |
Balanceador de carga de aplicações externo global Balanceador de carga de aplicações clássico Balanceador de carga de aplicações externo regional Balanceador de carga de aplicações interno entre regiões Balanceador de carga de aplicações interno regional Balanceador de carga de rede de proxy externo global Balanceador de carga de rede de proxy clássico Balanceador de carga de rede de proxy externo regional Balanceador de carga de rede de proxy interno entre regiões Balanceador de carga de rede de proxy interno regional Cloud Service Mesh |
NEGs suportados |
|
Grupos de instâncias |
|
Se omitir a especificação da porta ao criar a verificação de funcionamento, Google Cloud usa os seguintes valores predefinidos:
- Se o protocolo da verificação de estado for
TCP
ouHTTP
, usa--port=80
. - Se o protocolo da verificação de funcionamento for
SSL
,HTTPS
ouHTTP2
, usa--port=443
. - Se o protocolo da verificação de estado for
GRPC
ouGRPC_WITH_TLS
, não existe um predefinição implícita. Tem de incluir a especificação da porta.
Flags adicionais para verificações de funcionamento de HTTP, HTTPS e HTTP/2
Além das flags comuns e da especificação de portas, pode usar as seguintes flags opcionais para verificações de estado HTTP, HTTPS e HTTP/2. Este exemplo cria uma verificação de funcionamento de HTTP denominada hc-http-port-80
que usa a porta 80 com os critérios de intervalo, limite de tempo e limite de funcionamento predefinidos.
gcloud compute health-checks create HTTP_PROTOCOL hc-http-port-80 \ COMMON_FLAGS \ PORT_SPECIFICATION \ --host=HOST \ --proxy-header=PROXY_HEADER \ --request-path=REQUEST_PATH \ --response=RESPONSE
HTTP_PROTOCOL
: Pode serhttp
(HTTP/1.1 sem TLS),https
(HTTP/1.1 com TLS) ouhttp2
(HTTP/2 com TLS).COMMON_FLAGS
: define os sinalizadores comuns. Consulte o procedimento de criação.PORT_SPECIFICATION
: Define a especificação da porta através de uma das flags de especificação da porta.HOST
permite-lhe fornecer um cabeçalho HTTPHost
. Se for omitido, é usado o endereço IP da regra de encaminhamento do balanceador de carga.PROXY_HEADER
tem de serNONE
ouPROXY_V1
. Se for omitido, Google Cloud usaNONE
. O valor dePROXY_V1
adiciona o cabeçalhoPROXY UNKNOWN\r\n
.REQUEST_PATH
especifica o caminho do URL que Google Cloud usa quando envia pedidos de verificação de estado. Se for omitido, o pedido de verificação de funcionamento é enviado para/
.RESPONSE
define uma resposta esperada opcional. As strings de resposta têm de seguir estas regras:- A string de resposta tem de ser composta por letras ASCII, números e espaços.
- A string de resposta pode ter até 1024 carateres.
- A correspondência com carateres universais não é suportada.
- A verificação baseada em conteúdo não suporta a inversão. Por exemplo, os operadores como
!
no HAProxy não são suportados.
Se o Google Cloud encontrar a string de resposta esperada em qualquer lugar nos primeiros 1024 bytes do corpo da resposta recebida e se o estado HTTP for 200 (OK), a sondagem é considerada bem-sucedida.
Os flags --request-path
e --response
modificam os critérios de sucesso da
sondagem de verificação de funcionamento.
Flags adicionais para verificações de funcionamento de SSL e TCP
Além das flags comuns e da especificação de portas, pode usar as seguintes flags opcionais para verificações de funcionamento de SSL e TCP. Este exemplo cria uma verificação de funcionamento TCP denominada hc-tcp-3268
que usa a porta 3268 com o intervalo, o tempo limite e os critérios de limite de funcionamento predefinidos.
gcloud compute health-checks create tcp hc-tcp-3268 \ COMMON_FLAGS \ PORT_SPECIFICATION \ --proxy-header=PROXY_HEADER \ --request=REQUEST_STRING \ --response=RESPONSE_STRING
- O protocolo pode ser
tcp
(neste exemplo) oussl
. COMMON_FLAGS
: define os sinalizadores comuns. Consulte o procedimento de criação.PORT_SPECIFICATION
: Define a especificação da porta através de uma das flags de especificação da porta.PROXY_HEADER
tem de serNONE
ouPROXY_V1
. Se for omitido, Google Cloud usaNONE
. O valor dePROXY_V1
adiciona o cabeçalhoPROXY UNKNOWN\r\n
.REQUEST_STRING
: Pode fornecer uma string com um máximo de 1024 carateres ASCII para enviar assim que a sessão TCP ou SSL for estabelecida.RESPONSE_STRING
: pode fornecer uma string com um máximo de 1024 carateres ASCII para a resposta esperada.
Os flags --request
e --response
modificam os critérios de sucesso da
sondagem de verificação de funcionamento. Se usar a flag --response
, isoladamente ou em conjunto com a flag --request
, a resposta devolvida tem de corresponder exatamente à string de resposta esperada.
Indicador adicional para verificações de funcionamento gRPC
O seu servidor gRPC de back-end tem de implementar o serviço de verificação do estado do gRPC, conforme descrito no
protocolo de verificação do estado do gRPC.
Google Cloud envia uma mensagem HealthCheckRequest
para os seus back-ends chamando o método Check
do serviço de verificação do estado no seu back-end. O parâmetro service no pedido está definido como uma string vazia, a menos que seja especificado um nome de serviço gRPC.
Uma verificação de estado do gRPC pode verificar o estado de um serviço gRPC. Pode incluir uma string com um máximo de 1024 carateres ASCII, que é o nome de um serviço gRPC específico em execução numa VM ou num NEG de back-end. Para o fazer, use a seguinte flag opcional para verificações de funcionamento do gRPC:
--grpc-service-name=GRPC_SERVICE_NAME
Por exemplo, pode ter os seguintes serviços e estado que o servidor de back-end regista no serviço de saúde gRPC do seu back-end.
MyPackage.ServiceA
com o estado de publicaçãoSERVING
MyPackage.ServiceB
com o estado de publicaçãoNOT_SERVING
- Nome do serviço vazio com o estado de publicação
NOT_SERVING
Se criar uma verificação de funcionamento em relação a MyPackage.ServiceA
, da seguinte forma, a sonda de verificação de funcionamento devolve HEALTHY
, porque o estado do serviço é SERVING
.
gcloud beta compute health-checks create grpc MyGrpcHealthCheckServiceA \ --grpc-service-name=MyPackage.ServiceA
Se criar uma verificação de funcionamento em relação a MyPackage.ServiceB
, a sondagem de verificação de funcionamento devolve UNHEALTHY
porque o estado do serviço é NOT_SERVING
.
Se criar uma verificação de estado em relação a MyPackage.ServiceC
, que não está registado no serviço de estado do gRPC, a sondagem de verificação de estado devolve o estado do gRPC NOT_FOUND
, que é o equivalente a UNHEALTHY
.
Se criar uma verificação de estado de funcionamento em relação ao nome do serviço vazio, a sondagem de verificação de estado de funcionamento devolve o estado UNHEALTHY
, porque o nome do serviço vazio está registado com o estado NOT_SERVING
.
Verificações de funcionamento antigas
Esta secção descreve como criar, modificar e listar verificações de funcionamento de HTTP e HTTPS antigas. Não pode converter uma verificação de estado antiga numa verificação de estado nem converter uma verificação de estado numa verificação de estado antiga.
Para saber que tipos de balanceadores de carga suportam verificações de funcionamento antigas, consulte o guia do balanceador de carga.
Crie verificações de funcionamento antigas
Consola
Embora a página de verificações de funcionamento da Google Cloud consola liste e lhe permita editar verificações de funcionamento e verificações de funcionamento antigas, não pode criar uma nova verificação de funcionamento antiga a partir da página de verificações de funcionamento da Google Cloud consola.
Só pode criar uma verificação de funcionamento antiga na Google Cloud consolaenquanto cria um balanceador de carga de rede de encaminhamento externo baseado num conjunto de destino.
Para criar a verificação de estado antiga por si só, use as instruções desta secção ou da API.gcloud
gcloud
Para criar uma verificação de funcionamento antiga, use o comando compute http-health-checks
create
:
gcloud compute LEGACY_CHECK_TYPE create NAME \ --description=DESCRIPTION \ --check-interval=CHECK_INTERVAL \ --timeout=TIMEOUT \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ --host=HOST \ --port=PORT \ --request-path=REQUEST_PATH
Substitua o seguinte:
LEGACY_CHECK_TYPE
éhttp-health-checks
para uma verificação de funcionamento de HTTP antiga ouhttps-health-checks
para uma verificação de funcionamento de HTTPS antiga. Se estiver a criar a verificação de funcionamento antiga para um balanceador de carga de rede de encaminhamento externo baseado num conjunto de destino, tem de usarhttp-health-checks
.NAME
é o nome da verificação de estado antiga. Num determinado projeto, cada verificação de estado antiga tem de ter um nome exclusivo.DESCRIPTION
é uma descrição opcional.CHECK_INTERVAL
é o período entre o início de uma sondagem e o início da seguinte. As unidades são segundos. Se for omitido, Google Cloud usa um valor de5s
(5 segundos).TIMEOUT
é a quantidade de tempo que Google Cloud vai aguardar uma resposta a uma sondagem. O valor deTIMEOUT
tem de ser inferior ou igual aCHECK_INTERVAL
. As unidades são segundos. Se for omitido,o Google Cloud usa um valor de5s
(5 segundos).HEALTHY_THRESHOLD
eUNHEALTHY_THRESHOLD
especificam o número de sondagens sequenciais que têm de ser bem-sucedidas ou falhar para que uma instância de VM seja considerada em bom ou mau estado. Se qualquer um for omitido, oGoogle Cloud usa um limite predefinido de2
.HOST
permite-lhe fornecer um cabeçalho HTTP de anfitrião. Se for omitido, é usado o endereço IP da regra de encaminhamento do balanceador de carga.PORT
permite-lhe indicar um número de porta. Se for omitido, Google Cloud usa80
.REQUEST_PATH
especifica o caminho do URL que Google Cloud usa quando envia pedidos de verificação de estado. Se for omitido, o pedido de verificação de funcionamento é enviado para/
.
API
Para criar uma verificação de funcionamento de HTTP antiga, use a chamada de API httpHealthChecks.insert.
Para criar uma verificação de funcionamento de HTTPS antiga, use httpsHealthChecks.insert
Terraform
Para criar um recurso de verificação de funcionamento de HTTP antigo, use o recurso
google_compute_http_health_check
.Para criar um recurso de verificação de funcionamento de HTTPS antigo, use o recurso
google_compute_https_health_check
.
Modifique as verificações de funcionamento antigas
Consola
- Aceda à página Verificações de saúde na Google Cloud consola.
Aceda à página Verificações de saúde - Clique numa verificação de estado para ver os respetivos detalhes.
- Clique em Editar , faça as alterações e, de seguida, clique em Guardar.
gcloud
Para modificar uma verificação de funcionamento de HTTP antiga, use o comando
compute http-health-checks update
substituindoNAME
pelo respetivo nome. Quando modifica uma verificação de estado antiga comgcloud
, as definições pré-configuradas para as flags que omitir são preservadas. AsOTHER_OPTIONS
são as opções descritas no artigo sobre como criar uma verificação de funcionamento antiga.gcloud compute http-health-checks update NAME \ OTHER_OPTIONS
Para modificar uma verificação de funcionamento de HTTPS antiga, use o comando
compute https-health-checks update
substituindoNAME
pelo respetivo nome. Quando modifica uma verificação de estado antiga comgcloud
, as definições pré-configuradas para as flags que omitir são preservadas. AsOTHER_OPTIONS
são as opções descritas no artigo sobre como criar uma verificação de funcionamento antiga.gcloud compute https-health-checks update NAME \ OTHER_OPTIONS
API
Exceto o nome e o tipo de uma verificação de estado de funcionamento antiga, pode modificar quaisquer indicadores usados para a sua criação. As chamadas da API patch
preservam todas as definições pré-configuradas que não estejam explicitamente definidas no
pedido de patch.
Para modificar uma verificação de funcionamento de HTTP antiga, use httpHealthChecks.update ou httpHealthChecks.patch.
Para modificar uma verificação de funcionamento de HTTPS antiga, use httpsHealthChecks.update ou httpsHealthChecks.patch.
Liste as verificações de funcionamento antigas
Consola
- Aceda à página Verificações de saúde na Google Cloud consola.
Aceda à página Verificações de saúde - Clique numa verificação de estado antiga para ver os respetivos detalhes.
gcloud
Para apresentar uma lista de verificações de funcionamento de HTTP antigas, use o comando
compute http-health-checks list
:gcloud compute http-health-checks list
Para apresentar uma lista das verificações de funcionamento de HTTPS antigas, use o comando
compute https-health-checks list
:gcloud compute https-health-checks list
Para descrever uma verificação de estado HTTP antiga, use o comando
compute http-health-checks describe
e substituaNAME
pelo respetivo nome.gcloud compute http-health-checks describe NAME
Para descrever uma verificação de funcionamento de HTTPS antiga, use o comando
compute https-health-checks describe
substituindoNAME
pelo respetivo nome.gcloud compute https-health-checks describe NAME
API
Para listar as verificações de funcionamento antigas:
Use httpHealthChecks.list para listar as verificações de funcionamento de HTTP antigas.
Use httpsHealthChecks.list para listar as verificações de funcionamento de HTTPS antigas.
Para descrever uma verificação de funcionamento antiga:
Use httpHealthChecks.get para descrever a verificação de funcionamento de HTTP antiga.
Use httpsHealthChecks.get para descrever a verificação de funcionamento de HTTPS antiga.
Crie as regras de firewall necessárias
Tem de criar regras de firewall de entrada aplicáveis a todas as VMs com balanceamento de carga para permitir o tráfego dos intervalos de IPs de sondagem de verificação de funcionamento. O exemplo seguinte cria uma regra de firewall aplicável a instâncias de VM identificadas por uma etiqueta de destino específica.
Este exemplo permite todo o tráfego TCP dos sistemas de verificação de estado para as suas instâncias de VM. Google Cloud (O tráfego TCP inclui tráfego SSL, HTTP, HTTPS e HTTP/2.) Se preferir, pode especificar portas juntamente com o protocolo TCP. No entanto, se especificar portas, as regras da firewall podem tornar-se específicas de uma determinada verificação de estado. Se usar tcp:80
para o protocolo e a porta, isto permite o tráfego TCP na porta 80, pelo que Google Cloud poderia contactar as suas VMs através de HTTP na porta 80, mas não poderia contactá-las através de HTTPS na porta 443.
Consola
- Na Google Cloud consola, aceda à página Políticas de firewall.
Aceder a Políticas de firewall - Clique em Criar regra de firewall.
- Na página Criar uma regra de firewall, faculte as seguintes informações:
- Nome: indique um nome para a regra. Para este exemplo, use
fw-allow-health-checks
. - Rede: escolha uma rede de VPC.
- Prioridade: introduza um número para a prioridade. Os números mais baixos têm prioridades mais elevadas. Certifique-se de que a regra de firewall tem uma prioridade superior à de outras regras que possam negar o tráfego de entrada.
- Direção do tráfego: escolha entrada.
- Ação na correspondência: escolha permitir.
- Segmentações: escolha Etiquetas de segmentação especificadas e, de seguida, introduza etiquetas no campo Etiquetas de segmentação. Para este exemplo, use
allow-health-checks
. - Filtro de origem: escolha Intervalos de IP.
- Intervalos de IPs de origem: introduza o intervalo de IPs de origem consoante o tipo de equilibrador de carga, o tipo de tráfego e o tipo de verificação de funcionamento. Consulte os intervalos de IPs de sondagem e as regras da firewall.
- Protocolos e portas permitidos: use
tcp
e a porta configurada na verificação de funcionamento. O TCP é o protocolo subjacente para todos os protocolos de verificação de estado. - Clique em Criar.
- Nome: indique um nome para a regra. Para este exemplo, use
- Em cada uma das suas instâncias com balanceamento de carga, adicione a etiqueta de rede para que esta nova regra de firewall de entrada se aplique a elas. Este exemplo
usa
allow-health-checks
para a etiqueta de rede.
gcloud
Use o seguinte comando
gcloud
para criar uma regra de firewall denominadafw-allow-health-checks
que permite ligações TCP recebidas, deGoogle Cloud sistemas de verificação de funcionamento, a instâncias na sua rede VPC com a etiquetaallow-health-checks
. Com base no tipo de equilibrador de carga, é suportado um conjunto diferente de intervalos de IPs de sondagem e regras de firewall para o tráfego IPv6 para os back-ends.Substitua
NETWORK_NAME
pelo nome da sua rede VPC e substituaPORT
pelas portas usadas pelo seu equilibrador de carga.gcloud compute firewall-rules create fw-allow-health-checks \ --network=NETWORK_NAME \ --action=ALLOW \ --direction=INGRESS \ --source-ranges=SOURCE_IP_RANGE \ --target-tags=allow-health-checks \ --rules=tcp:PORT
O valor de SOURCE_IP_RANGE depende do tipo de balanceador de carga, do tipo de tráfego e do tipo de verificação de funcionamento. Consulte os intervalos de IPs de sondagem e as regras da firewall.
Em cada uma das suas instâncias com balanceamento de carga, adicione a etiqueta de rede para que esta nova regra de firewall de entrada se aplique a elas. Este exemplo usa
allow-health-checks
para a etiqueta de rede.
Consulte a gcloud
documentação das regras da firewall e a documentação da API para mais detalhes.
Documentação relacionada:
- Para mais informações sobre como especificar alvos para regras de firewall, consulte a explicação dos alvos na vista geral das regras de firewall e como configurar etiquetas de rede.
- Para mais informações sobre todas as regras de firewall necessárias pelos balanceadores de carga, consulte Regras de firewall.
Associe verificações de funcionamento a balanceadores de carga
Se ainda não o fez, reveja o artigo Vista geral das verificações de funcionamento: selecione uma verificação de funcionamento.
Para associar uma verificação de funcionamento a um balanceador de carga novo, consulte o guia de configuração do respetivo balanceador de carga. Esta secção descreve como associar uma verificação de estado a um serviço de back-end de um balanceador de carga existente.
Esta secção pressupõe que já:
- Criou um balanceador de carga.
- Criou uma verificação de funcionamento.
Criou a regra de firewall necessária.
Consola
Para associar uma verificação de estado a um equilibrador de carga existente:
- Aceda à página Balanceamento de carga na Google Cloud consola.
Aceda à página Balanceamento de carga - Clique num equilibrador de carga para ver os respetivos detalhes.
- Clique em Editar e, de seguida, em Configuração de back-end.
- Escolha uma verificação de saúde no menu Verificação de saúde.
- Clique em Atualizar.
gcloud
Para associar uma verificação de estado a um serviço de back-end existente, siga estes passos.
Identifique o nome e o âmbito do serviço de back-end. Os balanceadores de carga de rede de encaminhamento direto e os balanceadores de carga de rede de proxy têm apenas um serviço de back-end por balanceador de carga. Os balanceadores de carga de aplicações têm um ou mais serviços de back-end associados a um único mapa de URLs.
Para listar os serviços de back-end dos balanceadores de carga de rede de passagem interna, execute o seguinte comando.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=INTERNAL"
Para listar os serviços de back-end para balanceadores de carga de rede de encaminhamento externo, execute o seguinte comando.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=EXTERNAL"
Para apresentar uma lista de serviços de back-end para balanceadores de carga de rede de proxy externos globais, execute o seguinte comando.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Para listar os serviços de back-end dos balanceadores de carga de rede de proxy clássicos, execute o seguinte comando.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL" \ --filter="protocol=(SSL,TCP)"
Para listar os serviços de back-end dos balanceadores de carga de rede de proxy interno entre regiões, execute o seguinte comando.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=INTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Para listar os serviços de back-end dos equilibradores de carga de rede de proxy externo regionais, execute o seguinte comando.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=EXTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Para listar os serviços de back-end dos balanceadores de carga de rede de proxy interno regional, execute o seguinte comando.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=INTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Para identificar os serviços de back-end para balanceadores de carga de aplicações externos globais, balanceadores de carga de aplicações clássicos e balanceadores de carga de aplicações internos entre regiões, primeiro identifique um mapa de URLs e, em seguida, descreva o mapa. Os mapas de URLs e os serviços de back-end para estes equilibradores de carga são sempre globais, independentemente do nível de serviço de rede. Substitua
URL_MAP_NAME
pelo nome do mapa de URLs. Os serviços de back-end usados pelo balanceador de carga são apresentados na resposta.gcloud compute url-maps list \ --global
gcloud compute url-maps describe URL_MAP_NAME \ --global
Para identificar os serviços de back-end de um balanceador de carga de aplicações externo regional ou de um balanceador de carga de aplicações interno regional, primeiro identifique um mapa de URLs e, em seguida, descreva o mapa. Os mapas de URLs e os serviços de back-end destes balanceadores de carga são regionais. Substitua
REGION_LIST
por uma lista delimitada por vírgulas de Google Cloud regiões a consultar. SubstituaURL_MAP_NAME
pelo nome do mapa de URLs eREGION
pela respetiva região. Os serviços de back-end usados pelo balanceador de carga são apresentados na resposta.gcloud compute url-maps list \ --regions=REGION_LIST
gcloud compute url-maps describe URL_MAP_NAME \ --region=REGION
Identifique uma verificação de funcionamento. Consulte o artigo Listar verificações de funcionamento.
Associe uma verificação de estado ao serviço de back-end através do comando
compute backend-services update
. Cada serviço de back-end tem de fazer referência a uma única verificação de estado. Nos comandos seguintes, substituaBACKEND_SERVICE_NAME
pelo nome do serviço de back-end,HEALTH_CHECK_NAME
pelo nome da verificação de estado e, se necessário,REGION
pelaGoogle Cloud região do serviço de back-end, da verificação de estado ou de ambos.Para alterar a verificação de estado de um Network Load Balancer de encaminhamento interno: o serviço de back-end de um Network Load Balancer de encaminhamento interno é regional. Pode fazer referência a uma verificação de saúde global ou regional. O exemplo seguinte mostra uma referência de verificação do estado de funcionamento regional. Se estiver a usar uma verificação de estado global com o balanceador de carga de rede de encaminhamento interno, use
--global-health-checks
em vez de--health-checks-region
.gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --health-checks-region=REGION
Para alterar a verificação de funcionamento de um balanceador de carga de rede de encaminhamento externo baseado num serviço de back-end: o serviço de back-end de um balanceador de carga de rede de encaminhamento externo é regional. Pode fazer referência a uma verificação de saúde regional.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --health-checks-region=REGION
Para alterar a verificação de funcionamento de um balanceador de carga de rede de proxy externo global, de um balanceador de carga de rede de proxy clássico, de um balanceador de carga de aplicações externo global, de um balanceador de carga de aplicações clássico ou de um balanceador de carga de aplicações interno entre regiões: o serviço de back-end e a verificação de funcionamento são globais para estes balanceadores de carga. Os equilibradores de carga de aplicações podem fazer referência a mais do que uma verificação de estado se fizerem referência a mais do que um serviço de back-end.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --health-checks HEALTH_CHECK_NAME \ --global-health-checks
Para alterar a verificação de estado de um balanceador de carga de aplicações externo regional, de um balanceador de carga de rede de proxy externo regional, de um balanceador de carga de aplicações interno regional ou de um balanceador de carga de rede de proxy interno regional: o serviço de back-end e a verificação de estado são regionais. Alguns equilibradores de carga podem fazer referência a mais do que uma verificação de estado se puderem fazer referência a mais do que um serviço de back-end.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --health-checks-region=REGION
API
Pode listar os serviços de back-end com a chamada API backendServices.list.
Para associar uma verificação de estado a um serviço de back-end, use uma destas chamadas de API:
Associe verificações de estado antigas a balanceadores de carga de rede de encaminhamento externo baseados em conjunto de destino
Para associar uma verificação de funcionamento antiga a um novo balanceador de carga de rede de encaminhamento externo, consulte o artigo Configure um balanceador de carga de rede de encaminhamento externo com um conjunto de destino. Esta secção descreve como associar uma verificação de funcionamento antiga a um balanceador de carga de rede de encaminhamento externo baseado em pool de destino.
Esta secção pressupõe que já:
- Criou um balanceador de carga de rede de encaminhamento externo baseado num grupo de destino.
- Criou uma verificação de funcionamento antiga.
Criou a regra de firewall necessária.
Consola
Para associar uma verificação de estado a um Network Load Balancer de encaminhamento externo existente baseado num conjunto de destinos:
- Aceda à página Balanceamento de carga na Google Cloud consola.
Aceda à página Balanceamento de carga - Clique num equilibrador de carga para ver os respetivos detalhes.
- Clique em Editar e, de seguida, em Configuração de back-end.
- Escolha uma verificação de estado antiga no menu Verificação de estado. (Apenas são apresentadas verificações de funcionamento antigas elegíveis.)
- Clique em Atualizar.
gcloud
Para associar uma verificação de estado a um Network Load Balancer de encaminhamento externo existente baseado num conjunto de destinos:
Identifique os grupos de destino. Um Network Load Balancer de passagem externo tem, pelo menos, um grupo de destino e pode ter um grupo de cópia de segurança secundário.
gcloud compute target-pools list
Identifique uma verificação de estado antiga através do protocolo
HTTP
. Veja as verificações de estado antigas, se necessário.Associe a verificação de funcionamento antiga aos conjuntos de destino. Nos comandos seguintes, substitua
TARGET_POOL_NAME
pelo nome do conjunto de destino,REGION
pela respetiva região eLEGACY_CHECK_NAME
pelo nome da verificação de estado de funcionamento antiga. A verificação de funcionamento antiga tem de usar o protocolo HTTP.Para remover uma verificação de funcionamento de HTTP antiga de um conjunto de destinos:
gcloud compute target-pools remove-health-checks TARGET_POOL_NAME \ --region=REGION \ --http-health-check LEGACY_CHECK_NAME
Para adicionar uma verificação de funcionamento de HTTP antiga a um conjunto de destinos:
gcloud compute target-pools add-health-checks TARGET_POOL_NAME \ --region=REGION \ --http-health-check LEGACY_CHECK_NAME
API
Pode listar os grupos de destino com a chamada da API targetPools.list.
Veja as verificações de funcionamento antigas e identifique uma verificação de funcionamento de HTTP antiga.
Para associar uma verificação de funcionamento de HTTP antiga a um grupo de destino, use a chamada de API targetPools.addHealthCheck.
Verifique o estado da verificação de funcionamento
Depois de associar uma verificação de funcionamento a um serviço de back-end ou a um conjunto de destinos, pode obter o estado de verificação de funcionamento instantâneo dos back-ends do balanceador de carga.
Consola
- Aceda à página de resumo do equilíbrio de carga.
Aceda à página Balanceamento de carga - Clique no nome de um balanceador de carga.
- Em Backend, inspecione a coluna Healthy. O estado de saúde é comunicado para cada grupo de instâncias de back-end ou grupo de pontos finais da rede.
gcloud
Para todos os equilibradores de carga, exceto os equilibradores de carga de rede de encaminhamento externo baseados em conjunto de destino, identifique o nome e o âmbito (global ou regional) do serviço de back-end. Para ver uma lista completa de equilibradores de carga e âmbitos, consulte os serviços de back-end.
Use o comando
compute backend-services get-health
, substituindoNAME
pelo nome do serviço de back-end eREGION
pela respetiva região, se necessário.Para obter o estado de funcionamento instantâneo de um serviço de back-end global:
gcloud compute backend-services get-health GLOBAL_BACKEND_SERVICE_NAME \ --global
Para obter o estado de funcionamento instantâneo de um serviço de back-end regional:
gcloud compute backend-services get-health REGIONAL_BACKEND_SERVICE_NAME \ --region=REGION
Para equilibradores de carga de encaminhamento externo baseados em conjunto de destino, identifique o nome e a região do conjunto de destino do equilibrador de carga e, em seguida, use o comando
compute target-pools get-health
, substituindoNAME
pelo nome do conjunto de destino eREGION
pela respetiva região.gcloud compute target-pools get-health TARGET_POOL_NAME \ --region=REGION
API
Para todos os equilibradores de carga, exceto os equilibradores de carga de rede de encaminhamento externo baseados em conjunto de destino, identifique o nome e o âmbito (global ou regional) do serviço de back-end. Para ver uma lista completa de equilibradores de carga e âmbitos, consulte os serviços de back-end.
Para obter o estado de saúde instantâneo de um serviço de back-end global, use backendServices.getHealth
Para obter o estado de funcionamento instantâneo de um serviço de back-end regional, use regionBackendServices.getHealth
Para balanceadores de carga de rede de encaminhamento externo baseados em grupos de destino, use targetPools.getHealth