O Google Cloud fornece mecanismos de verificação de integridade que determinam se as instâncias de back-end respondem corretamente ao tráfego. Neste documento, você aprenderá a criar e usar verificações de integridade para balanceadores de carga e o Traffic Director.
Nesta página, consideramos que você esteja familiarizado com os seguintes conceitos:
- Visão geral das verificações de integridade
- Visão geral dos serviços de back-end
- Regras de firewall da VPC
Crie verificações de integridade
No Google Cloud, é possível criar ou selecionar uma verificação de integridade quando você conclui a configuração do back-end do balanceador de carga no Console do Google Cloud.
Também é possível criar uma verificação de integridade mesmo quando você não estiver configurando o balanceador de carga no Console do Google Cloud. Isso será útil caso precise criar sua verificação de integridade primeiro ou se precisar usar uma verificação de integridade para vários balanceadores de carga. É possível criar uma verificação de integridade usando o Console do Google Cloud, a Google Cloud CLI ou as APIs REST.
Console
- Acesse a página "Verificações de integridade" no Console do Google Cloud.
Acessar a página "Verificações de integridade" - Clique em Criar verificação de integridade.
- Na página Criar uma verificação de integridade, forneça as informações a seguir:
- Nome: informe um nome para a verificação de integridade.
- Descrição: opcionalmente, informe uma descrição.
- Escopo: selecione um escopo, Global ou Regional,
dependendo do tipo de balanceador de carga.
- Se você tiver selecionado Regional, escolha uma Região na lista suspensa.
- Protocolo: escolha um protocolo de verificação de integridade.
- Porta: informe um número de porta. Ao criar uma verificação de integridade no Console do Google Cloud, é preciso especificar a porta por meio de um número de porta.
- Protocolo de proxy: opcionalmente, é possível acrescentar um cabeçalho de proxy às solicitações feitas pelos sistemas de sondagem de verificação de integridade.
- Solicitar caminho e resposta: para protocolos HTTP, HTTPS e HTTP2, há a opção de informar um caminho de URL para que os sistemas de sondagem de verificação de integridade façam contato. Para mais informações, consulte Sinalizações adicionais para verificações de integridade HTTP, HTTPS e HTTP/2.
- Solicitação e resposta: para protocolos TCP e SSL, é possível especificar uma string de texto ASCII para enviar e uma string de resposta de texto esperada. Para mais informações, consulte Sinalizações adicionais para verificações de integridade de SSL e TCP.
- Intervalo de verificação: defina o tempo que decorrerá entre o início de uma sondagem e o início da próxima.
- Tempo limite: defina por quanto tempo o Google Cloud aguarda uma resposta a uma sondagem. O valor precisa ser menor ou igual ao intervalo de verificação.
- Limite íntegro: defina o número sequencial de sondagens que precisam ser bem-sucedidas para que a instância da VM seja considerada íntegra.
- Limite não íntegro: defina o número de sondagens sequenciais que precisam falhar para que a instância de VM não seja considerada íntegra.
- Clique em Criar.
gcloud
Para criar uma verificação de integridade global, use o comando
compute health-checks create
apropriado: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 integridade regional, use o comando
compute health-checks create
apropriado: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:
PROTOCOL
define o protocolo usado para a verificação de integridade. As opções válidas sãogrpc
,http
,https
,http2
,ssl
, etcp
.NAME
é o nome da verificação de integridade. Dentro de um determinado projeto, cada verificação de integridade global precisa ter um nome exclusivo. Já as verificações de integridade regionais precisam ter nomes exclusivos em uma determinada região.REGION
: todos os balanceadores de carga, exceto balanceadores de carga de aplicativo externos regionais e balanceadores de carga de aplicativo internos regionais, usam verificações de integridade globais (--global
). Os balanceadores de carga de aplicativo internos regionais usam verificações de integridade regionais que precisam ter a região correspondente à região do serviço de back-end.DESCRIPTION
é uma descrição opcional;CHECK_INTERVAL
refere-se ao período entre o início da conexão de um sistema de sondagem de verificação de integridade e o início da próxima. As unidades são informadas em segundos. Se omitido, o Google Cloud usará um valor de5s
(cinco segundos);TIMEOUT
é o tempo que o Google Cloud aguarda uma resposta a uma sondagem. O valor deTIMEOUT
precisa ser menor ou igual ao valor deCHECK_INTERVAL
. As unidades são informadas em segundos. Se omitido, o Google Cloud usará um valor de5s
(cinco segundos).HEALTHY_THRESHOLD
eUNHEALTHY_THRESHOLD
especificam o número sequencial de sondagens que precisam ser bem-sucedidas ou não para que a instância VM seja considerada íntegra ou não. Se omitidos, o Google Cloud usará um limite padrão de2
.PORT_SPECIFICATION
: define a especificação da porta usando uma das Sinalizações de especificação de porta.ADDITIONAL_FLAGS
são outras sinalizações usadas para especificar portas e opções próprias dePROTOCOL
. Consulte Sinalizações adicionais para verificações de integridade HTTP, HTTPS e HTTP/2 , Sinalizações adicionais para verificações de integridade de SSL e TCP ou Sinalização adicional para verificações de integridade do gRPC para criar um anexo da VLAN de monitoramento.
Terraform
Para criar uma verificação de integridade global, use o recurso google_compute_health_check
.
Para criar uma verificação de integridade regional, use o recurso google_compute_region_health_check.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
API
Para criar uma verificação de integridade global, use healthChecks.insert
Para criar uma verificação de integridade regional, use regionHealthChecks.insert
Modificar verificações de integridade
Não é possível modificar a verificação de integridade para converter uma verificação de integridade em legada ou vice-versa. Também não é possível alterar o nome ou o escopo de uma verificação de integridade (global para regional, por exemplo).
Console
- Acesse a página "Verificações de integridade" no Console do Google Cloud.
Acessar a página "Verificações de integridade" - Clique em uma verificação de integridade para ver os detalhes.
- Se você precisar modificar a verificação de integridade, clique em Editar. Em seguida:
- faça alterações nos parâmetros conforme a necessidade;
- clique em Salvar.
gcloud
Identifique o nome e o escopo da verificação de integridade. Para mais instruções, consulte Listar verificações de integridade.
O nome, o protocolo e o escopo de uma verificação de integridade não podem ser alterados, mas é possível modificar qualquer uma das flags comuns, flags de especificação de porta e outras flags adicionais. Para modificar uma verificação de integridade atual, use o comando
compute health-checks update
apropriado. Para sinalizações omitidas, as configurações pré-configuradas são preservadas.Exemplo de modificação de uma verificação de integridade global: o comando a seguir modifica uma verificação de integridade HTTP global chamada
hc-http-port-80
alterando o intervalo de verificação, o tempo limite e o caminho da solicitação: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 integridade regional: o comando a seguir modifica uma verificação de integridade TCP regional em
us-west1
chamadahc-west1-tcp-ldap
alterando a 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 escopo da verificação de integridade. Para receber instruções, veja Como listar verificações de integridade.
O nome, o protocolo e o escopo de uma verificação de integridade não podem ser alterados, mas é possível modificar qualquer uma das flags comuns, flags de especificação de porta e outras flags adicionais com estas chamadas de API. Use chamadas de API
patch
para preservar pré-configurações que não estejam explicitamente definidas na solicitação.Para modificar uma verificação de integridade global, use healthChecks.update ou healthChecks.patch.
Para modificar uma verificação de integridade regional, use regionHealthChecks.update ou regionHealthChecks.patch.
Listar verificações de integridade
Console
- Acesse a página "Verificações de integridade" no Console do Google Cloud.
Acessar a página "Verificações de integridade" - Clique em uma verificação de integridade para ver os detalhes.
gcloud
Para listar as verificações de integridade, use o comando compute health-checks
list
:
Para listar verificações de integridade globais:
gcloud compute health-checks list \ --global
Para listar verificações de integridade regionais: substitua
REGION_LIST
por uma lista delimitada por vírgulas de regiões do Google Cloud a serem consultadas.gcloud compute health-checks list \ --regions=REGION_LIST
Depois de saber o nome e o escopo de uma verificação de integridade, use o comando compute
health-checks
describe
para
ver a configuração atual.
Para descrever uma verificação de integridade global, substitua
NAME
pelo nome.gcloud compute health-checks describe NAME \ --global
Para descrever uma verificação de integridade regional, substitua
NAME
pelo nome eREGION
pela região.gcloud compute health-checks describe NAME \ --region=REGION
API
Para listar as verificações de integridade, use estas chamadas de API:
Para listar verificações de integridade globais: healthChecks.list
Para listar verificações de integridade regionais: regionHealthChecks.list
Para descrever a configuração atual de uma verificação de integridade, use estas chamadas de API:
Para descrever uma verificação de integridade global: healthChecks.get
Para descrever uma verificação de integridade regional: regionHealthChecks.get
Sinalizações adicionais
Nesta seção, descrevemos outras sinalizações que podem ser usadas ao criar ou modificar
uma verificação de integridade. Algumas sinalizações, como a especificação da porta, precisam ser definidas usando
gcloud
ou a API.
Sinalizações de especificação de porta
Se você criar uma verificação de integridade com a CLI do Google Cloud ou a API, terá duas opções para especificar a porta da verificação de integridade. Veja na tabela a seguir as opções de especificação de porta para combinações válidas de balanceador de carga e back-end. O termo grupo de instâncias se refere a grupos de instâncias não gerenciadas, gerenciadas por zona ou regionais.
Cada verificação de integridade só pode usar um tipo de especificação de porta.
Produto | Tipo de back-end | Opções de especificação de porta |
---|---|---|
Balanceador de carga de rede de passagem externo | Grupos de instâncias | • --port : especifica uma porta TCP por número, de 1 a 65535 A sinalização --use-serving-port será ignorada em uma verificação de integridade associada. com um balanceador de carga de rede de passagem externa porque os serviços de back-end para balanceadores de carga de rede de passagem externa não têm uma especificação de porta.
|
Balanceador de carga de rede de passagem interno | Grupos de instâncias | • --port : especifica uma porta TCP por número, de 1 a 65535 A sinalização --use-serving-port será ignorada em uma verificação de integridade associada. com um balanceador de carga de rede de passagem interna porque os serviços de back-end para balanceadores de carga de rede de passagem interna não têm uma especificação de porta.
|
Balanceador de carga de aplicativo externo global Balanceador de carga de aplicativo externo regional Balanceador de carga de aplicativo interno entre regiões Balanceador de carga de aplicativo 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 regional Balanceador de carga de rede de proxy interno entre regiões Traffic Director |
NEGs por zona | • --port : especifique uma porta TCP por número, de 1
a 65535 • --use-serving-port : use a porta de cada endpoint no
grupo de endpoints de rede. |
Grupos de instâncias | • --port : especifique uma porta TCP por número, de 1
a 65535 • --use-serving-port : use o mesmo grupo de instâncias chamado porta
que o serviço de back-end assina.
|
Se você omitir a especificação da porta, o Google Cloud usará os seguintes padrões:
- Se o protocolo da verificação de integridade for
TCP
ouHTTP
, ele usará--port=80
. - Se o protocolo da verificação de integridade for
SSL
,HTTPS
ouHTTP2
, ele usará--port=443
. - Se o protocolo da verificação de integridade for
GRPC
, não haverá padrão implícito. Inclua a especificação da porta.
Sinalizações adicionais para verificações de integridade HTTP, HTTPS e HTTP/2
Além das sinalizações comuns e da especificação de porta, é possível usar estas sinalizações opcionais para verificações de integridade HTTP, HTTPS e HTTP/2. No exemplo
abaixo, é criada uma verificação de integridade HTTP chamada hc-http-port-80
, que usa a porta 80 com critérios padrão
de intervalo, tempo limite e limite de integridade.
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 as sinalizações comuns. Consulte Procedimento de criação.PORT_SPECIFICATION
: define a especificação da porta usando uma das Sinalizações de especificação de porta.HOST
permite fornecer um cabeçalho HTTPHost
. Em caso de omissão, o endereço IP da regra de encaminhamento do balanceador de carga será usado.PROXY_HEADER
precisa serNONE
ouPROXY_V1
. Se omitido, o Google Cloud usaráNONE
. O valor dePROXY_V1
acrescenta o cabeçalhoPROXY UNKNOWN\r\n
.REQUEST_PATH
especifica o caminho do URL que o Google Cloud usará para enviar solicitações de verificação de integridade. Se omitido, a solicitação de verificação de integridade será enviada para/
.RESPONSE
define uma resposta opcional esperada. As strings de resposta seguirão estas regras:- A string de resposta contém letras, números e espaços ASCII.
- A string de resposta pode ter até 1.024 caracteres.
- Não há compatibilidade com correspondência de caracteres curinga.
- A verificação baseada em conteúdo não é compatível com inversão. Por exemplo, não são aceitos
operadores como
!
no HAProxy.
Se o Google Cloud encontrar a string de resposta esperada em qualquer parte dos primeiros 1.024 bytes do corpo da resposta recebida e se o status HTTP for 200 (OK), a sondagem será considerada bem-sucedida.
As sinalizações --request-path
e --response
modificam os critérios de sucesso da sondagem de verificação de integridade.
Sinalizações adicionais para verificações de integridade SSL e TCP
Além das sinalizações comuns e da especificação de porta, é possível usar estas sinalizações opcionais para verificações de integridade de SSL e TCP. No exemplo abaixo, é criada uma
verificação de integridade TCP chamada hc-tcp-3268
, que usa a porta 3268 com critérios de intervalo padrão,
tempo limite e limite de integridade.
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
(como no exemplo) oussl
. COMMON_FLAGS
: define as sinalizações comuns. Consulte Procedimento de criação.PORT_SPECIFICATION
: define a especificação da porta usando uma das Sinalizações de especificação de porta.PROXY_HEADER
precisa serNONE
ouPROXY_V1
. Se omitido, o Google Cloud usaráNONE
. O valor dePROXY_V1
acrescenta o cabeçalhoPROXY UNKNOWN\r\n
.REQUEST_STRING
: será possível fornecer uma string de até 1.024 caracteres ASCII para enviar depois que a sessão TCP ou SSL tiver sido estabelecida.RESPONSE_STRING
: é possível fornecer uma string com até 1.024 caracteres ASCII para a resposta esperada.
As sinalizações --request
e --response
modificam os critérios de sucesso da sondagem de verificação de integridade. Se você usar
a sinalização --response
sozinha ou com a sinalização --request
,
a resposta retornada precisará coincidir exatamente com a string de resposta esperada.
Sinalização adicional para verificações de integridade do gRPC
O servidor gRPC de back-end precisa implementar o serviço de integridade do gRPC, conforme descrito no
protocolo de verificação de integridade do gRPC.
O Google Cloud envia uma mensagem HealthCheckRequest
para os back-ends
chamando o método Check
do serviço de integridade no back-end. O parâmetro
de serviço na solicitação é definido como uma string vazia, a menos que um nome de serviço gRPC seja
especificado.
Uma verificação de integridade do gRPC pode verificar o status de um serviço do gRPC. É possível incluir uma string de até 1.024 caracteres ASCII, que é o nome de um determinado serviço gRPC em execução em uma VM de back-end ou NEG. Para fazer isso, use a seguinte sinalização opcional para verificações de integridade do gRPC:
--grpc-service-name=GRPC_SERVICE_NAME
Por exemplo, você pode ter os seguintes serviços e status que o servidor de back-end registra com o serviço gRPC de back-end.
MyPackage.ServiceA
com o status de veiculaçãoSERVING
MyPackage.ServiceB
com o status de veiculaçãoNOT_SERVING
- Nome de serviço vazio com o status de veiculação
NOT_SERVING
Se você criar uma verificação de integridade em MyPackage.ServiceA
, da seguinte maneira, a
sondagem de verificação de integridade retornará HEALTHY
, porque o status do serviço é SERVING
.
gcloud beta compute health-checks create grpc MyGrpcHealthCheckServiceA \ --grpc-service-name=MyPackage.ServiceA
Se você criar uma verificação de integridade em MyPackage.ServiceB
, a
sondagem de verificação de integridade retornará UNHEALTHY
porque o status do serviço é
NOT_SERVING
.
Se você criar uma verificação de integridade em MyPackage.ServiceC
, que não está
registrada com o serviço gRPC Health, a sondagem de verificação de integridade retornará o
status gRPC NOT_FOUND
, que é equivalente a UNHEALTHY
.
Se você criar uma verificação de integridade para o nome de serviço vazio, a verificação de integridade
retornará o status UNHEALTHY
, porque o nome de serviço vazio está
registrado com o status NOT_SERVING
.
Verificações de integridade legadas
Nesta seção, descrevemos como criar, modificar e listar verificações de integridade HTTP e HTTPS legadas. Não é possível converter uma verificação de integridade legada em uma verificação de integridade nem vice-versa.
Para saber quais tipos de balanceadores de carga oferecem suporte a verificações de integridade legadas, consulte o guia do balanceador de carga.
Criar verificações de integridade legadas
Console
A página de verificações de integridade do Console do Google Cloud lista e permite a edição de ambas as verificações de integridade e verificações de integridade legadas. No entanto, não é possível criar uma nova verificação de integridade legada na página de verificações de integridade do Console do Google Cloud.
É possível criar uma verificação de integridade legada no Console do Google Cloud apenas ao criar um balanceador de carga de rede com base em pool de destino.
Para criar a verificação de integridade legada sozinha, use as instruções de gcloud
ou de API desta seção.
gcloud
Para criar uma verificação de integridade legada, 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:
LEGACY_CHECK_TYPE
éhttp-health-checks
para uma verificação de integridade HTTP legada ouhttps-health-checks
para uma verificação de integridade HTTPS legada. Se você estiver criando a verificação de integridade legada para um balanceador de carga de rede de destino baseado no pool, será preciso usarhttp-health-checks
.NAME
é o nome da verificação de integridade legada. Dentro de um determinado projeto, cada verificação de integridade legada precisa ter um nome exclusivo;DESCRIPTION
é uma descrição opcional;CHECK_INTERVAL
define o período entre o início de uma sondagem e o início da próxima. As unidades são informadas em segundos. Se omitido, o Google Cloud usará um valor de5s
(cinco segundos).TIMEOUT
é o tempo que o Google Cloud aguardará pela resposta de uma sondagem. O valor deTIMEOUT
precisa ser menor ou igual ao valor deCHECK_INTERVAL
. As unidades são informadas em segundos. Se omitido, o Google Cloud usará um valor de5s
(cinco segundos).HEALTHY_THRESHOLD
eUNHEALTHY_THRESHOLD
especificam o número sequencial de sondagens que precisam ser bem-sucedidas ou não para que a instância VM seja considerada íntegra ou não. Se omitidos, o Google Cloud usará um limite padrão de2
.HOST
permite fornecer um cabeçalho HTTP do host. Em caso de omissão, o endereço IP da regra de encaminhamento do balanceador de carga será usado.PORT
permite fornecer um número de porta. Se omitido, o Google Cloud usará80
.REQUEST_PATH
especifica o caminho do URL que o Google Cloud usará para enviar solicitações de verificação de integridade. Se omitido, a solicitação de verificação de integridade será enviada para/
.
API
Para criar uma verificação de integridade HTTP legada, use a chamada de API httpHealthChecks.insert .
Para criar uma verificação de integridade HTTPS legada, use o método httpsHealthChecks.insert
Terraform
Para criar um recurso de verificação de integridade HTTP legado, use o recurso
google_compute_http_health_check
.Para criar um recurso legado de verificação de integridade HTTPS, use o recurso
google_compute_https_health_check
.
Modificar verificações de integridade legadas
Console
- Acesse a página "Verificações de integridade" no Console do Google Cloud.
Acessar a página "Verificações de integridade" - Clique em uma verificação de integridade para ver os detalhes.
- Clique em Editar e faça as alterações. Depois, clique em Salvar.
gcloud
Para modificar uma verificação de integridade HTTP legada, use o comando
compute http-health-checks update
, substituindoNAME
pelo nome. Ao modificar uma verificação de integridade legada comgcloud
, as configurações predefinidas para as sinalizações omitidas serão preservadas. AsOTHER_OPTIONS
são as opções descritas em como criar uma verificação de integridade legada.gcloud compute http-health-checks update NAME \ OTHER_OPTIONS
Para modificar uma verificação de integridade HTTPS legada, use o comando
compute https-health-checks update
, substituindoNAME
pelo nome. Ao modificar uma verificação de integridade legada comgcloud
, as configurações predefinidas para as sinalizações omitidas serão preservadas. AsOTHER_OPTIONS
são as opções descritas em como criar uma verificação de integridade legada.gcloud compute https-health-checks update NAME \ OTHER_OPTIONS
API
Com exceção do nome e do tipo de uma verificação de integridade legada, é possível modificar qualquer sinalização usada para a criação. As chamadas de API patch
preservam as pré-configurações que não estão definidas explicitamente na
solicitação de patch.
Para modificar uma verificação de integridade HTTP legada, use httpHealthChecks.update ou httpHealthChecks.patch.
Para modificar uma verificação de integridade HTTPS legada, use httpsHealthChecks.update ou httpsHealthChecks.patch.
Listar verificações de integridade legadas
Console
- Acesse a página "Verificações de integridade" no Console do Google Cloud.
Acessar a página "Verificações de integridade" - Clique em uma verificação de integridade legada para ver os detalhes.
gcloud
Para listar as verificações de integridade HTTP legadas, use o comando
compute http-health-checks list
:gcloud compute http-health-checks list
Para listar as verificações de integridade HTTPS legadas, use o comando
compute https-health-checks list
:gcloud compute https-health-checks list
Para descrever uma verificação de integridade HTTP legada, use o comando
compute http-health-checks describe
, substituindoNAME
pelo nome.gcloud compute http-health-checks describe NAME
Para descrever uma verificação de integridade HTTPS legada, use o comando
compute https-health-checks describe
, substituindoNAME
pelo nome.gcloud compute https-health-checks describe NAME
API
Para listar verificações de integridade legadas:
Use httpHealthChecks.list para listar verificações de integridade HTTP legadas.
Use httpsHealthChecks.list para listar verificações de integridade HTTPS legadas.
Para descrever uma verificação de integridade legada:
Use httpHealthChecks.get para descrever a verificação de integridade HTTP legada.
Use httpsHealthChecks.get para descrever a verificação de integridade HTTPS legada.
Criar as regras de firewall necessárias
É preciso criar regras de firewall de entrada aplicáveis a todas as VMs com balanceamento de carga para permitir o tráfego de intervalos de IP de sondagem de verificação de integridade. No exemplo a seguir, criamos uma regra de firewall aplicável às instâncias de VM identificadas por uma tag de destino específica.
Este exemplo permite todo o tráfego TCP dos sistemas de verificação de integridade do Google Cloud para suas instâncias de VM. O tráfego TCP inclui tráfego SSL, HTTP, HTTPS e HTTP/2. Se preferir, é possível especificar portas com o protocolo TCP. No entanto, se especificar portas, suas regras de firewall poderão se tornar específicas para uma determinada verificação de integridade. Se você usar tcp:80
como protocolo e
porta, será permitido o tráfego TCP na porta 80. Desse modo, o Google Cloud poderá entrar em contato
com suas VMs por meio do HTTP na porta 80, mas não por meio do HTTPS na
porta 443.
Console
- No Console do Google Cloud, acesse a página políticas de Firewall.
Acesse as políticas de firewall - Clique em Criar regra de firewall.
- Na página Criar uma regra de firewall, forneça estas informações:
- Nome: informe um nome para a regra. Neste exemplo, use
fw-allow-health-checks
. - Rede: escolha uma rede VPC.
- Prioridade: informe um número para a prioridade. Números mais baixos têm prioridades mais altas. Certifique-se de que a regra de firewall tenha uma prioridade mais alta que outras regras que podem negar o tráfego de entrada.
- Direção do tráfego: escolha entrada.
- Ação se houver correspondência: escolha permitir.
- Destinos: escolha Tags de destino especificadas e insira tags no campo Tags de destino. Neste exemplo, use
allow-health-checks
. - Filtro de origem: escolha Intervalos de IP.
- Intervalos de IP de origem: insira o intervalo de IP de origem dependendo dos tipos de balanceador de carga, de tráfego e de verificação de integridade. Consulte Intervalos de IP de sondagem e regras de firewall.
- Portas e protocolos permitidos: use
tcp
e a porta configurada na verificação de integridade. TCP é o protocolo de base para todos os protocolos de verificação de integridade. - Clique em Criar.
- Nome: informe um nome para a regra. Neste exemplo, use
- Em cada instância com balanceamento de carga, adicione a tag de rede para que essa nova regra de firewall de entrada aplique-se a ela. No exemplo,
allow-health-checks
é usado como tag de rede.
gcloud
Use o comando
gcloud
a seguir para criar uma regra de firewall chamadafw-allow-health-checks
que permite conexões TCP de entrada, dos sistemas de verificação de integridade do Google Cloud, para instâncias na sua rede VPC com a terminaçãoallow-health-checks
. Com base no tipo do balanceador de carga, um conjunto diferente de intervalos de IP de sondagem e regras de firewall é compatível com o tráfego IPv6 para os back-ends. Por exemplo,2600:2d00:1:b029::/64
é usado para balanceadores de carga de aplicativo externos globais e balanceadores de carga de rede de proxy externo global.Substitua
NETWORK_NAME
pelo nome da rede VPC e substituaPORT
pelas portas usadas pelo balanceador 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, de tráfego e de verificação de integridade. Consulte Intervalos de IP de sondagem e regras de firewall.
Em cada instância com balanceamento de carga, adicione a tag de rede para que essa nova regra de firewall de entrada aplique-se a ela. No exemplo,
allow-health-checks
é usado como tag de rede.
Para mais detalhes, consulte a documentação das regras
de firewall do gcloud
e a documentação
da API.
Documentação relacionada:
- Para mais informações sobre como especificar os destinos das regras de firewall, consulte esta explicação nas páginas Visão geral das regras de firewall e Como configurar tags de rede.
- Para mais informações sobre todas as regras de firewall exigidas pelos balanceadores de carga, consulte Regras de firewall.
Associar verificações de integridade a balanceadores de carga
Caso ainda não tenha feito isso, leia a Visão geral das verificações de integridade: selecione uma verificação de integridade.
Para associar uma verificação de integridade a um novo balanceador de carga, consulte o guia de configuração do respectivo balanceador de carga. Nesta seção, descrevemos como associar uma verificação de integridade ao serviço de back-end de um balanceador de carga atual.
Nesta seção, presume-se que você já:
- criou um balanceador de carga.
- criou uma verificação de integridade;
criou a regra de firewall necessária;
Console
Para associar uma verificação de integridade a um balanceador de carga existente:
- Acesse a página Balanceamento de carga no Console do Google Cloud.
Acessar a página "Balanceamento de carga" - Clique em um balanceador de carga para ver os detalhes.
- Clique em Editar e, em seguida, em Configuração de back-end.
- Escolha uma verificação de integridade no menu Verificação de integridade.
- Clique em Atualizar.
gcloud
Para associar uma verificação de integridade a um serviço de back-end, siga estas etapas:
Identifique o nome e o escopo do serviço de back-end. Os balanceadores de carga de rede de passagem externa, de passagem interna, de proxy interno regional e o de proxy externo têm apenas um serviço de back-end por balanceador. Os balanceadores de carga de aplicativo externos e internos têm um ou mais serviços de back-end associados a um único mapa de URL.
Se quiser listar serviços de back-end para balanceadores de carga passagem interna, execute o comando a seguir, substituindo
REGION_LIST
por uma lista delimitada por vírgulas das regiões do Google Cloud a serem consultadas.gcloud compute backend-services list \ --filter="region:( REGION1 REGION2 ... ) AND loadBalancingScheme=INTERNAL"
Para listar serviços de back-end de balanceadores de carga de rede, execute o comando a seguir, substituindo cada REGION pela região do Google Cloud para consulta.
gcloud compute backend-services list \ --filter="region:( REGION1 REGION2 ... ) AND loadBalancingScheme=EXTERNAL"
Para listar serviços de back-end de balanceadores de carga de rede de proxy externo global, execute o comando a seguir.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Para listar serviços de back-end de balanceadores de carga de rede de proxy clássico, execute o comando a seguir.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL" \ --filter="protocol=(SSL,TCP)"
Para listar serviços de back-end de balanceadores de carga de rede de proxy externo regionais, execute o comando a seguir.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=EXTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Para listar serviços de back-end de balanceadores de carga de rede internos de proxy regional, execute o comando a seguir, substituindo
REGION_LIST
por uma lista delimitada por vírgulas das regiões do Google Cloud a serem consultadas.gcloud beta compute backend-services list \ --filter="region:( REGION1 REGION2 ... ) AND loadBalancingScheme=INTERNAL_MANAGED"
Para listar serviços de back-end de balanceadores de carga de rede de proxy externo usando SSL, execute o comando a seguir. Os serviços de back-end para esses balanceadores de carga são sempre globais, independentemente do nível de serviço da rede.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL" \ --filter="protocol=(SSL,TCP)"
Se quiser identificar serviços de back-end para um balanceador de carga externo, primeiro identifique um mapa de URL e, em seguida, descreva o mapa. Mapas de URL e serviços de back-end para balanceadores de carga de aplicativo externos ou balanceadores de carga de aplicativo internos entre regiões são sempre globais, independentemente do Nível de serviço de rede. Substitua
URL_MAP_NAME
pelo nome do mapa de URL. Os serviços de back-end usados pelo balanceador de carga são listados na resposta.gcloud compute url-maps list \ --global
gcloud compute url-maps describe URL_MAP_NAME \ --global
Para identificar serviços de back-end para um balanceador de carga de aplicativo externo regional ou um balanceador de carga de aplicativo interno regional, primeiro identifique um mapa de URL e, em seguida, descreva o mapa. Os mapas de URL e os serviços de back-end desses balanceadores de carga são regionais. Substitua
REGION_LIST
por uma lista separada por vírgulas de regiões do Google Cloud a serem consultadas. SubstituaURL_MAP_NAME
pelo nome do mapa de URL eREGION
pela região. Os serviços de back-end usados pelo balanceador de carga são listados 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 integridade. Consulte Como listar verificações de integridade.
Associe uma verificação de integridade ao serviço de back-end por meio do comando
compute backend-services update
. Cada serviço de back-end precisa referir-se a uma única verificação de integridade. Nos comandos a seguir, substituaBACKEND_SERVICE_NAME
pelo nome do serviço de back-end,HEALTH_CHECK_NAME
pelo nome da verificação de integridade e, se necessário,REGION
pela região do serviço de back-end do Google Cloud, a verificação de integridade ou ambas.Para alterar a verificação de integridade de um balanceador de carga de rede de passagem interna: um serviço de back-end do balanceador de carga de rede de passagem interna é regional. Pode se referir a uma verificação de integridade global ou regional. O exemplo a seguir mostra uma referência de verificação de integridade regional. Se você estiver usando uma verificação de integridade global com o balanceador de carga de rede de passagem interna, 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 integridade de um balanceador de carga de rede externo com base em serviço de back-end: o serviço de back-end de um balanceador de carga de rede de passagem externa é regional. Pode se referir a uma verificação de integridade 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 integridade de um balanceador de carga de rede de proxy externo global, balanceador de carga de rede de proxy clássico, balanceador de carga de aplicativo externo global, balanceador de carga de aplicativo clássico ou balanceador de carga de aplicativo interno entre regiões: o serviço de back-end e a verificação de integridade são globais para esses balanceadores de carga. Os balanceadores de carga de aplicativo poderão referenciar mais de uma verificação de integridade se referenciarem mais de 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 integridade de um balanceador de carga de aplicativo externo regional, balanceador de carga de rede de proxy externo regional, balanceador de carga de aplicativo interno regional ou balanceador de carga de rede de proxy interno regional: o serviço de back-end e a verificação de integridade são regionais. Alguns balanceadores de carga poderão referenciar mais de uma verificação de integridade se puderem referenciar mais de 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
É possível listar serviços de back-end com a chamada de API backendServices.list.
Para associar uma verificação de integridade a um serviço de back-end, use uma das seguintes chamadas de API:
Associar verificações de integridade legadas a balanceadores de carga de rede de passagem externa baseados em pool de destino
Para associar uma verificação de integridade legada a um novo balanceador de carga de rede de passagem externa, consulte Configurar um balanceador de carga de rede de passagem externa com um pool de destino. Nesta seção, descrevemos como associar uma verificação de integridade legada a um balanceador de carga de rede baseado em pool de destino.
Nesta seção, presume-se que você já:
- Um balanceador de carga de rede de passagem externa baseado em pool de destino foi criado.
- criou uma verificação de integridade legada;
criou a regra de firewall necessária;
Console
Para associar uma verificação de integridade a um balanceador de carga de rede externo de passagem com base em pool de destino:
- Acesse a página Balanceamento de carga no Console do Google Cloud.
Acessar a página "Balanceamento de carga" - Clique em um balanceador de carga para ver os detalhes.
- Clique em Editar e, em seguida, em Configuração de back-end.
- Escolha uma verificação de integridade legada no menu Verificação de integridade. Somente serão exibidas as verificações legadas qualificadas.
- Clique em Atualizar.
gcloud
Para associar uma verificação de integridade a um balanceador de carga de rede externo de passagem com base em pool de destino:
Identifique os pools de destino. Um balanceador de carga de rede de passagem externa tem pelo menos um pool de destino e pode ter um pool de backup secundário.
gcloud compute target-pools list
Identifique uma verificação de integridade legada usando o protocolo
HTTP
. Se necessário, veja as verificações de integridade legadas.Associe a verificação de integridade legada ao pool de destino. Nos seguintes comandos, substitua
TARGET_POOL_NAME
pelo nome do pool de segmentação,REGION
por sua região eLEGACY_CHECK_NAME
pelo nome da verificação de integridade legada. A verificação de integridade legada usará o protocolo HTTP.Para remover uma verificação de integridade de HTTP legada de um pool de destino:
gcloud compute target-pools remove-health-checks TARGET_POOL_NAME \ --region=REGION \ --http-health-check LEGACY_CHECK_NAME
Para adicionar uma verificação de integridade de HTTP legada a um pool de destino:
gcloud compute target-pools add-health-checks TARGET_POOL_NAME \ --region=REGION \ --http-health-check LEGACY_CHECK_NAME
API
É possível listar pools de segmentação com a chamada de API targetPools.list.
Veja as verificações de integridade legadas e identifique uma verificação de integridade de HTTP legada.
Para associar uma verificação de integridade HTTP legada a um pool de segmentação, use a chamada de API targetPools.addHealthCheck.
Verificar o status da verificação de integridade
Depois de associar uma verificação de integridade a um serviço de back-end ou a um pool de destino, é possível ver o estado instantâneo da verificação de integridade dos back-ends do balanceador de carga.
Console
- Acesse a página de resumo do balanceamento de carga.
Acessar a página "Balanceamento de carga" - Clique no nome de um balanceador de carga.
- Em Back-end, inspecione a coluna Integridade. O status de integridade é relatado para cada grupo de instâncias de back-end ou grupo de endpoints da rede.
gcloud
Em todos os balanceadores de carga, exceto balanceadores de carga de rede de passagem externa baseados em pool de destino, identifique o nome e o escopo (global ou regional) do serviço de back-end. Para uma lista completa de balanceadores de carga e escopos, consulte Serviços de back-end.
Se necessário, use o comando
compute backend-services get-health
, substituindoNAME
pelo nome do serviço de back-end eREGION
pela região.Para ver o estado de integridade instantâneo de um serviço de back-end global:
gcloud compute backend-services get-health GLOBAL_BACKEND_SERVICE_NAME \ --global
Para ver o estado de integridade instantâneo de um serviço de back-end regional:
gcloud compute backend-services get-health REGIONAL_BACKEND_SERVICE_NAME \ --region=REGION
Para balanceadores de carga de rede baseados em pool de destino, identifique o nome e a região do pool de destino do balanceador de carga e use o comando
compute target-pools get-health
, substituindoNAME
pelo nome do pool de destino eREGION
pela região.gcloud compute target-pools get-health TARGET_POOL_NAME \ --region=REGION
API
Em todos os balanceadores de carga, exceto balanceadores de carga de rede de passagem externa baseados em pool de destino, identifique o nome e o escopo (global ou regional) do serviço de back-end. Para uma lista completa de balanceadores de carga e escopos, consulte Serviços de back-end.
Para ver o estado de integridade instantâneo de um serviço de back-end global, use backendServices.getHealth
Para ver o estado de integridade instantâneo de um serviço de back-end regional, use regionBackendServices.getHealth
Para balanceadores de carga de rede de passagem externa baseados em pool de destino, use targetPools.getHealth