Use verificações de funcionamento

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:

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

  1. Aceda à página Verificações de saúde na Google Cloud consola.
    Aceda à página Verificações de saúde
  2. Clique em Criar uma verificação de funcionamento.
  3. 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.

  4. Clique em Criar.

gcloud

  • Para criar uma verificação de funcionamento global, use o comando adequadocompute 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 adequadocompute 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ão GRPC, GRPC_WITH_TLS, HTTP, HTTPS, HTTP2, SSL e TCP.

  • 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 de 5s (5 segundos).

  • TIMEOUT é a quantidade de tempo que Google Cloud aguarda uma resposta a uma sondagem. O valor de TIMEOUT tem de ser inferior ou igual ao valor de CHECK_INTERVAL. As unidades são segundos. Se for omitido, Google Cloud usa um valor de 5s (5 segundos).

  • HEALTHY_THRESHOLD e UNHEALTHY_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 de 2.

  • 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 do PROTOCOL. 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.

resource "google_compute_health_check" "health_check_tcp_with_logging" {
  provider = google-beta

  name = "health-check-tcp"

  timeout_sec        = 1
  check_interval_sec = 1

  tcp_health_check {
    port = "22"
  }

  log_config {
    enable = true
  }
}

Para criar uma verificação de funcionamento regional, use o recurso google_compute_region_health_check.

resource "google_compute_region_health_check" "default" {
  name               = "tcp-health-check-region-west"
  timeout_sec        = 5
  check_interval_sec = 5
  tcp_health_check {
    port = "80"
  }
  region = "us-west1"
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.

API

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

  1. Aceda à página Verificações de saúde na Google Cloud consola.
    Aceda à página Verificações de saúde
  2. Clique numa verificação de estado para ver os respetivos detalhes.
  3. 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

  1. Identifique o nome e o âmbito da verificação de estado. Para ver instruções, consulte o artigo Liste as verificações de estado.

  2. 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 denominada hc-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

  1. Identifique o nome e o âmbito da verificação de estado. Consulte as verificações de estado da ficha para ver instruções.

  2. 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.

Verificações de funcionamento da lista

Consola

Google Cloud
  1. Aceda à página Verificações de saúde na Google Cloud consola.
    Aceda à página Verificações de saúde
  2. 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 e REGION 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 descrever a configuração atual de uma verificação de funcionamento, use:

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

--port: especifique uma porta TCP por número, de 1 a 65535

O parâmetro --use-serving-port é ignorado para uma verificação de estado de funcionamento associada a um Network Load Balancer de encaminhamento interno porque os serviços de back-end para este Load Balancer não subscrevem nenhuma porta com nome. Isto deve-se ao facto de serem balanceadores de carga de passagem que enviam pacotes diretamente para os back-ends, em vez de criarem novas ligações do balanceador de carga para o back-end.

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

--port: especifique uma porta TCP por número, de 1 a 65535

O parâmetro --use-serving-port é ignorado para uma verificação de estado de funcionamento associada a um Network Load Balancer de encaminhamento interno porque os serviços de back-end para este Load Balancer não subscrevem nenhuma porta com nome. Isto deve-se ao facto de serem balanceadores de carga de passagem que enviam pacotes diretamente para os back-ends, em vez de criarem novas ligações do balanceador de carga para o back-end.

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
  • --port: especifique uma porta TCP por número, de 1 a 65535
  • --use-serving-port: use a porta de cada ponto final no grupo de pontos finais da 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 com a porta denominada ao qual o serviço de back-end subscreve.

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 ou HTTP, usa --port=80.
  • Se o protocolo da verificação de funcionamento for SSL, HTTPS ou HTTP2, usa --port=443.
  • Se o protocolo da verificação de estado for GRPC ou GRPC_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 ser http (HTTP/1.1 sem TLS), https (HTTP/1.1 com TLS) ou http2 (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 HTTP Host. Se for omitido, é usado o endereço IP da regra de encaminhamento do balanceador de carga.
  • PROXY_HEADER tem de ser NONE ou PROXY_V1. Se for omitido, Google Cloud usa NONE. O valor de PROXY_V1 adiciona o cabeçalho PROXY 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) ou ssl.
  • 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 ser NONE ou PROXY_V1. Se for omitido, Google Cloud usa NONE. O valor de PROXY_V1 adiciona o cabeçalho PROXY 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ção SERVING
  • MyPackage.ServiceB com o estado de publicação NOT_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 ou https-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 usar http-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 de 5s (5 segundos).
  • TIMEOUT é a quantidade de tempo que Google Cloud vai aguardar uma resposta a uma sondagem. O valor de TIMEOUT tem de ser inferior ou igual a CHECK_INTERVAL. As unidades são segundos. Se for omitido,o Google Cloud usa um valor de 5s (5 segundos).
  • HEALTHY_THRESHOLD e UNHEALTHY_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 de 2.
  • 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 usa 80.
  • 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

Terraform

Modifique as verificações de funcionamento antigas

Consola

  1. Aceda à página Verificações de saúde na Google Cloud consola.
    Aceda à página Verificações de saúde
  2. Clique numa verificação de estado para ver os respetivos detalhes.
  3. 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 substituindo NAME pelo respetivo nome. Quando modifica uma verificação de estado antiga com gcloud, as definições pré-configuradas para as flags que omitir são preservadas. As OTHER_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 substituindo NAME pelo respetivo nome. Quando modifica uma verificação de estado antiga com gcloud, as definições pré-configuradas para as flags que omitir são preservadas. As OTHER_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.

Liste as verificações de funcionamento antigas

Consola

  1. Aceda à página Verificações de saúde na Google Cloud consola.
    Aceda à página Verificações de saúde
  2. Clique numa verificação de estado antiga para ver os respetivos detalhes.

gcloud

  1. 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
    
  2. Para descrever uma verificação de estado HTTP antiga, use o comando compute http-health-checks describe e substitua NAME 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 substituindo NAME pelo respetivo nome.

    gcloud compute https-health-checks describe NAME
    

API

  1. Para listar as verificações de funcionamento antigas:

  2. Para descrever uma verificação de funcionamento 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

  1. Na Google Cloud consola, aceda à página Políticas de firewall.
    Aceder a Políticas de firewall
  2. Clique em Criar regra de firewall.
  3. 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.
  4. 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

  1. Use o seguinte comando gcloud para criar uma regra de firewall denominada fw-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 etiqueta allow-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 substitua PORT 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.

  2. 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 gclouddocumentação das regras da firewall e a documentação da API para mais detalhes.

Documentação relacionada:

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á:

Consola

Para associar uma verificação de estado a um equilibrador de carga existente:

  1. Aceda à página Balanceamento de carga na Google Cloud consola.
    Aceda à página Balanceamento de carga
  2. Clique num equilibrador de carga para ver os respetivos detalhes.
  3. Clique em Editar e, de seguida, em Configuração de back-end.
  4. Escolha uma verificação de saúde no menu Verificação de saúde.
  5. Clique em Atualizar.

gcloud

Para associar uma verificação de estado a um serviço de back-end existente, siga estes passos.

  1. 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. Substitua URL_MAP_NAME pelo nome do mapa de URLs e REGION 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
      
  2. Identifique uma verificação de funcionamento. Consulte o artigo Listar verificações de funcionamento.

  3. 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, substitua BACKEND_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

  1. Pode listar os serviços de back-end com a chamada API backendServices.list.

  2. Verificações de estado.

  3. 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á:

Consola

Para associar uma verificação de estado a um Network Load Balancer de encaminhamento externo existente baseado num conjunto de destinos:

  1. Aceda à página Balanceamento de carga na Google Cloud consola.
    Aceda à página Balanceamento de carga
  2. Clique num equilibrador de carga para ver os respetivos detalhes.
  3. Clique em Editar e, de seguida, em Configuração de back-end.
  4. Escolha uma verificação de estado antiga no menu Verificação de estado. (Apenas são apresentadas verificações de funcionamento antigas elegíveis.)
  5. 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:

  1. 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
    
  2. Identifique uma verificação de estado antiga através do protocolo HTTP. Veja as verificações de estado antigas, se necessário.

  3. 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 e LEGACY_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

  1. Pode listar os grupos de destino com a chamada da API targetPools.list.

  2. Veja as verificações de funcionamento antigas e identifique uma verificação de funcionamento de HTTP antiga.

  3. 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

  1. Aceda à página de resumo do equilíbrio de carga.
    Aceda à página Balanceamento de carga
  2. Clique no nome de um balanceador de carga.
  3. 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, substituindo NAME pelo nome do serviço de back-end e REGION 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, substituindo NAME pelo nome do conjunto de destino e REGION 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 balanceadores de carga de rede de encaminhamento externo baseados em grupos de destino, use targetPools.getHealth