Configurar a verificação de integridade composta para failover automático entre regiões

Nesta página, descrevemos como os produtores de serviços podem configurar a verificação de integridade combinada para oferecer suporte ao failover automático entre regiões para serviços publicados.

Antes de começar

Funções exigidas

Para receber as permissões necessárias para configurar a verificação de integridade combinada, peça ao administrador para conceder a você o papel do IAM de Administrador da rede do Compute (roles/compute.networkAdmin) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para configurar a integridade composta. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para configurar a integridade composta:

  • compute.regionHealthAggregationPolicies.list
  • compute.regionHealthAggregationPolicies.get
  • compute.regionHealthAggregationPolicies.create
  • compute.regionHealthAggregationPolicies.update
  • compute.regionHealthAggregationPolicies.delete
  • compute.regionHealthSources.list
  • compute.regionHealthSources.get
  • compute.regionHealthSources.create
  • compute.regionHealthSources.update
  • compute.regionHealthSources.delete
  • compute.regionCompositeHealthChecks.list
  • compute.regionCompositeHealthChecks.get
  • compute.regionCompositeHealthChecks.create
  • compute.regionCompositeHealthChecks.update
  • compute.regionCompositeHealthChecks.delete

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Configurar a integridade combinada para oferecer suporte ao failover automático entre regiões

As seções a seguir descrevem como configurar a verificação de integridade composta para failover automático entre regiões.

Embora a integridade composta não exija configuração pelo consumidor de serviços, o recurso só funciona se o consumidor configurar back-ends do Private Service Connect compatíveis em uma implantação multirregional. Para informações sobre como um consumidor de serviços pode configurar a rede VPC para usar a integridade composta, consulte Failover automático entre regiões.

Criar uma política de agregação de integridade

Crie pelo menos uma política de agregação de integridade em cada região em que você quer oferecer suporte ao failover entre regiões.

Uma política de agregação de integridade é um recurso reutilizável que define os critérios para que um serviço de back-end seja considerado íntegro. É possível aplicar a mesma política a vários serviços de back-end ou criar políticas diferentes para serviços com requisitos de integridade diferentes.

Console

  1. No console Google Cloud , acesse a página Integridade combinada:

    Acesse "Integridade composta".

  2. Clique em Políticas de agregação de integridade.

  3. Clique em Criar política de agregação de integridade.

  4. Insira um nome para a política de agregação de integridade.

  5. Opcional: insira uma descrição da política.

  6. Clique em Região e selecione uma opção para a política de agregação de integridade.

  7. Clique em Próxima.

  8. Na caixa Limite de porcentagem de integridade, insira a porcentagem mínima de endpoints em um serviço de back-end que precisam estar íntegros para que a fonte de integridade seja considerada íntegra. Por exemplo, 75.

  9. Na caixa Limite mínimo de integridade, insira o número mínimo de endpoints em um serviço de back-end que precisam estar íntegros para que a fonte de integridade seja considerada íntegra.

  10. Clique em Criar.

gcloud

Use o comando gcloud compute health-aggregation-policies create.

gcloud compute health-aggregation-policies create POLICY \
    --region=REGION \
    --healthy-percent-threshold=PERCENT_HEALTHY \
    --min-healthy-threshold=MINIMUM_HEALTHY

Substitua:

  • POLICY: o nome da política de agregação de integridade.
  • REGION: a região da política de agregação de integridade.
  • PERCENT_HEALTHY: a porcentagem mínima de endpoints em um serviço de back-end que precisam estar íntegros para que a origem de integridade seja considerada íntegra. Por exemplo, 75.

    O padrão é 60. Os endpoints podem ser VMs em um grupo de instâncias ou endpoints de rede em um grupo de endpoints de rede (NEG).

  • MINIMUM_HEALTHY: o número mínimo de endpoints em um serviço de back-end que precisam estar íntegros para que a fonte de integridade seja considerada íntegra.

    O padrão é 1.

API

Envie uma solicitação para o método regionHealthAggregationPolicies.insert.

Método HTTP e URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthAggregationPolicies

Corpo JSON da solicitação:

{
  "name": "POLICY",
  "policyType": "BACKEND_SERVICE_POLICY",
  "healthyPercentThreshold": PERCENT_HEALTHY,
  "minHealthyThreshold": MINIMUM_HEALTHY
}

Substitua:

  • PROJECT_ID: o ID do projeto da política de agregação de integridade.
  • REGION: a região da política de agregação de integridade.
  • POLICY: o nome da política de agregação de integridade.
  • PERCENT_HEALTHY: a porcentagem mínima de endpoints em um serviço de back-end que precisam estar íntegros para que a origem de integridade seja considerada íntegra. Por exemplo, 75.

    O padrão é 60. Os endpoints podem ser VMs em um grupo de instâncias ou endpoints de rede em um grupo de endpoints de rede (NEG).

  • MINIMUM_HEALTHY: o número mínimo de endpoints em um serviço de back-end que precisam estar íntegros para que a fonte de integridade seja considerada íntegra.

    O padrão é 1.

Criar uma fonte de integridade

Crie uma origem de integridade para cada instância regional do serviço publicado. Se uma instância do seu serviço publicado depender da integridade de vários serviços de back-end, crie uma origem de integridade separada para cada um deles.

Uma fonte de integridade é o recurso que vincula uma política de agregação de integridade a um serviço de back-end específico. Uma verificação de integridade composta agrega os estados de uma ou mais fontes para produzir um estado final para seu serviço.

Console

  1. No console Google Cloud , acesse a página Integridade combinada:

    Acesse "Integridade composta".

  2. Clique em Fontes de integridade.

  3. Clique em Criar fonte de integridade.

  4. Insira um nome para a fonte de integridade.

  5. Opcional: insira uma descrição da origem de dados de saúde.

  6. Clique em Região e selecione uma opção para a fonte de saúde.

  7. Clique em Próxima.

  8. Clique em Origem e selecione um serviço de back-end para associar à origem de integridade.

  9. Clique em Próxima.

  10. Clique em Política de agregação de integridade e selecione a política de agregação de integridade a ser aplicada a essa fonte.

  11. Clique em Criar.

gcloud

Use o comando gcloud compute health-sources create.

gcloud compute health-sources create HEALTH_SOURCE \
    --region=REGION \
    --source-type=BACKEND_SERVICE \
    --sources=BACKEND_SERVICE \
    --health-aggregation-policy=POLICY

Substitua:

  • HEALTH_SOURCE: o nome da origem de dados de saúde.
  • REGION: a região da fonte de dados de saúde

    A política de agregação de integridade precisa estar na mesma região da fonte de integridade.

  • BACKEND_SERVICE: o nome de um único serviço de back-end a ser associado à origem de integridade.

    O serviço de back-end precisa atender aos seguintes requisitos:

    • Ele precisa ter um esquema de balanceamento de carga de INTERNAL ou INTERNAL_MANAGED.
    • Ela precisa estar na mesma região da origem de dados de saúde que você está criando.
    • Os back-ends precisam ser grupos de instâncias ou grupos de endpoints de rede do tipo GCE_VM_IP ou GCE_VM_IP_PORT.
  • POLICY: o nome da política de agregação de integridade a ser aplicada a essa origem de integridade.

API

Envie uma solicitação para o método regionHealthSources.insert.

Método HTTP e URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources

Corpo JSON da solicitação:

{
  "name": "HEALTH_SOURCE",
  "sourceType": "BACKEND_SERVICE",
  "sources": [
    "projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE"
  ],
  "healthAggregationPolicy": "projects/PROJECT_ID/regions/REGION/healthAggregationPolicies/POLICY"
}

Substitua:

  • PROJECT_ID: o ID do projeto da origem de dados de saúde.
  • REGION: a região da fonte de integridade.

    A política de agregação de integridade precisa estar na mesma região da fonte de integridade.

  • HEALTH_SOURCE: o nome da fonte de integridade.

  • BACKEND_SERVICE: o nome de um único serviço de back-end a ser associado à origem de integridade.

    O serviço de back-end precisa atender aos seguintes requisitos:

    • Ele precisa ter um esquema de balanceamento de carga de INTERNAL ou INTERNAL_MANAGED.
    • Ela precisa estar na mesma região da origem de dados de saúde que você está criando.
    • Os back-ends precisam ser grupos de instâncias ou grupos de endpoints de rede do tipo GCE_VM_IP ou GCE_VM_IP_PORT.
  • POLICY: o nome da política de agregação de integridade a ser aplicada a essa origem de integridade.

Criar uma verificação de integridade composta

Crie uma verificação de integridade composta para cada instância regional do serviço publicado.

Uma verificação de integridade composta agrega os estados de integridade das fontes associadas, criando um estado de integridade composto final. O estado de integridade final é aplicado ao serviço regional publicado associado à regra de encaminhamento especificada como destino de integridade.

Console

  1. No console Google Cloud , acesse a página Integridade combinada:

    Acesse "Integridade composta".

  2. Clique em Verificações de integridade compostas.

  3. Clique em Criar verificação de integridade composta.

  4. Insira um nome para a verificação de integridade composta.

  5. Opcional: insira uma descrição da verificação de integridade composta.

  6. Clique em Região e selecione uma região para a verificação de integridade composta.

  7. Clique em Próxima.

  8. Clique em Origem de integridade e selecione uma origem para associar à verificação de integridade combinada. Para adicionar mais fontes de integridade, clique em Adicionar fonte de integridade e selecione outra opção.

  9. Clique em Próxima.

  10. Clique em Tipo de balanceador de carga e selecione o tipo de balanceador de carga a ser usado como destino de integridade.

  11. Clique em Balanceador de carga e selecione o balanceador de carga que será usado como destino de integridade.

  12. Se o balanceador de carga estiver associado a várias regras de encaminhamento, clique em Regra de encaminhamento e selecione a regra que será usada como destino de verificação de integridade.

  13. Clique em Criar.

gcloud

Use o comando gcloud compute composite-health-checks create.

gcloud compute composite-health-checks create COMPOSITE_HEALTH_CHECK \
    --region=REGION \
    --health-sources=HEALTH_SOURCES \
    --health-destination=HEALTH_DESTINATION

Substitua:

  • COMPOSITE_HEALTH_CHECK: o nome da verificação de integridade composta
  • REGION: a região da verificação de integridade composta
  • HEALTH_SOURCES: os nomes de uma ou mais fontes de integridade a serem associadas à verificação de integridade composta.

    É possível incluir várias fontes de integridade em uma lista separada por vírgulas.

  • HEALTH_DESTINATION: o URI da regra de encaminhamento que recebe o estado de integridade composto dessa verificação de integridade composta. Por exemplo, projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE

    A regra de encaminhamento precisa estar associada a um balanceador de carga do produtor que seja compatível com a integridade combinada e atenda aos seguintes requisitos:

    • Ele precisa ter um esquema de balanceamento de carga de INTERNAL ou INTERNAL_MANAGED.
    • Ele precisa estar na mesma região que a verificação de integridade composta.

API

Envie uma solicitação para o método regionCompositeHealthChecks.insert.

Método HTTP e URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks

Corpo JSON da solicitação:

{
  "name": "COMPOSITE_HEALTH_CHECK",
  "healthSources": [
    "projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE"
  ],
  "healthDestination": "HEALTH_DESTINATION"
}

Substitua:

  • PROJECT_ID: o ID do projeto para a verificação de integridade composta.
  • REGION: a região da verificação de integridade composta.
  • COMPOSITE_HEALTH_CHECK: o nome da verificação de integridade composta.
  • HEALTH_SOURCE: o nome de uma origem de integridade a ser associada à verificação de integridade composta. É possível incluir várias fontes de saúde na matriz healthSources.

  • HEALTH_DESTINATION: o URI da regra de encaminhamento que recebe o estado de integridade composto dessa verificação de integridade composta. Por exemplo, projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE

    A regra de encaminhamento precisa estar associada a um balanceador de carga do produtor que seja compatível com a integridade combinada e atenda aos seguintes requisitos:

    • Ele precisa ter um esquema de balanceamento de carga de INTERNAL ou INTERNAL_MANAGED.
    • Ele precisa estar na mesma região que a verificação de integridade composta.

A seguir