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
Leia sobre a Saúde composta.
Em cada região que você quer oferecer suporte, identifique ou crie um serviço de destino que atenda aos seguintes requisitos:
- Ele precisa usar um dos seguintes balanceadores de carga internos:
- Ele precisa usar um dos seguintes tipos de back-end:
- Um grupo de endpoints de rede (NEG) zonal
com o tipo de endpoint de rede
GCE_VM_IPouGCE_VM_IP_PORT - Um grupo de instâncias
- Um grupo de endpoints de rede (NEG) zonal
com o tipo de endpoint de rede
As etapas para criar os serviços de destino dependem do balanceador de carga e dos tipos de back-end escolhidos. Para informações sobre como criar serviços de destino, consulte a documentação do balanceador de carga.
Publique cada serviço de destino criando um anexo de serviço.
Para usar a verificação de integridade combinada para failover, os consumidores precisam acessar seus serviços com balanceadores de carga que oferecem suporte a failover entre regiões.
Ative a API Compute Engine no projeto.
Verifique se você tem as permissões necessárias para concluir este guia.
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
No console Google Cloud , acesse a página Integridade combinada:
Clique em Políticas de agregação de integridade.
Clique em Criar política de agregação de integridade.
Insira um nome para a política de agregação de integridade.
Opcional: insira uma descrição da política.
Clique em Região e selecione uma opção para a política de agregação de integridade.
Clique em Próxima.
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.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.
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
No console Google Cloud , acesse a página Integridade combinada:
Clique em Fontes de integridade.
Clique em Criar fonte de integridade.
Insira um nome para a fonte de integridade.
Opcional: insira uma descrição da origem de dados de saúde.
Clique em Região e selecione uma opção para a fonte de saúde.
Clique em Próxima.
Clique em Origem e selecione um serviço de back-end para associar à origem de integridade.
Clique em Próxima.
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.
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údeA 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
INTERNALouINTERNAL_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_IPouGCE_VM_IP_PORT.
- Ele precisa ter um esquema de balanceamento de carga de
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
INTERNALouINTERNAL_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_IPouGCE_VM_IP_PORT.
- Ele precisa ter um esquema de balanceamento de carga de
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
No console Google Cloud , acesse a página Integridade combinada:
Clique em Verificações de integridade compostas.
Clique em Criar verificação de integridade composta.
Insira um nome para a verificação de integridade composta.
Opcional: insira uma descrição da verificação de integridade composta.
Clique em Região e selecione uma região para a verificação de integridade composta.
Clique em Próxima.
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.
Clique em Próxima.
Clique em Tipo de balanceador de carga e selecione o tipo de balanceador de carga a ser usado como destino de integridade.
Clique em Balanceador de carga e selecione o balanceador de carga que será usado como destino de integridade.
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.
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 compostaREGION: a região da verificação de integridade compostaHEALTH_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_RULEA 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
INTERNALouINTERNAL_MANAGED. - Ele precisa estar na mesma região que a verificação de integridade composta.
- Ele precisa ter um esquema de balanceamento de carga de
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 matrizhealthSources.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_RULEA 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
INTERNALouINTERNAL_MANAGED. - Ele precisa estar na mesma região que a verificação de integridade composta.
- Ele precisa ter um esquema de balanceamento de carga de
A seguir
- Para monitorar seu serviço publicado com a integridade combinada, consulte Monitorar a integridade combinada.
- Para gerenciar a configuração de integridade composta, consulte Ver, atualizar e excluir a configuração de integridade composta.