Registrar um balanceador de carga interno

Esta página fornece informações sobre como configurar um balanceador de carga de rede de passagem interna ou um balanceador de carga de aplicativo interno (visualização) para que ele seja registrado automaticamente no Diretório de serviços.

Ao criar o balanceador de carga, é possível registrá-lo como um endpoint em um namespace do Diretório de serviços e no serviço de sua escolha. Os aplicativos cliente podem usar o Diretório de serviços (usando HTTP ou gRPC) e/ou DNS (se você tiver criado umazona DNS do Diretório de serviços) para determinar o endereço do serviço de balanceador de carga interno e conectar-se diretamente a ele.

Limitações

A integração do Diretório de serviços com o balanceamento de carga interno tem as seguintes limitações:

  • O registro automático só se aplica a balanceadores de carga internos e de rede. É possível registrar serviços de balanceamento de carga do Google Kubernetes Engine usando a integração do GKE. É possível registrar balanceadores de carga globais e gateways e entradas do Google Kubernetes Engine chamando a API do Diretório de serviços.
  • O registro automático só pode ser usado no momento da criação da regra de encaminhamento. O registro automático usando a atualização da Google Cloud CLI para uma regra de encaminhamento já existente não está disponível.
  • É possível registrar balanceadores de carga internos no Diretório de serviços nos projetos host ou de serviço de uma configuração de rede VPC compartilhada. No entanto, todos os componentes e back-ends de balanceamento de carga precisam existir no mesmo projeto. Para mais detalhes, consulte as limitações de balanceamento de carga interno.
  • O Diretório de serviços não fornece conectividade. Isso significa que, embora o Diretório de serviços armazene o endereço IP virtual do balanceador de carga interno, a pesquisa do balanceador de carga interno no Diretório de serviços não garante que você possa se conectar ao endereço IP virtual.

Antes de começar

Estas instruções exigem o seguinte:

  • Você já precisa ter um namespace e um serviço do Diretório de serviços. Se não tiver, crie um namespace e um serviço usando o procedimento em Como configurar o Diretório de serviços.

    O namespace e o serviço do Diretório de serviços precisam estar no mesmo projeto e região que a regra de encaminhamento do balanceador de carga interno que você está criando.

  • Você já precisa ter configurado os recursos necessários para criar uma regra de encaminhamento do balanceador de carga interno.

Configurar regras de encaminhamento para registrar um balanceador de carga interno no Diretório de serviços

É necessário configurar uma regra de encaminhamento para registrar o balanceador de carga interno no Diretório de serviços. Para registrar um balanceador de carga de rede de passagem interna ou um balanceador de carga de aplicativo interno, consulte as seções a seguir.

Registrar um balanceador de carga de rede de passagem interna

Para registrar um balanceador de carga de rede de passagem interna, execute o gcloud compute forwarding-rules create comando e defina a service-directory-registration sinalização:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=INTERNAL \
    --network=NETWORK_NAME \
    --subnet=SUBNET_NAME \
    --address=RESERVED_IP_ADDRESS \
    --ip-protocol=PROTOCOL_TYPE \
    --ports=PORT_NUMBER \
    --backend-service=BACKEND_SERVICE_NAME \
    --backend-service-region=REGION \
    --service-directory-registration=SD_SERVICE_NAME

Substitua:

  • FORWARDING_RULE_NAME: um nome para a regra de encaminhamento que você quer criar.
  • REGION: a região onde criar a regra de encaminhamento
  • NETWORK_NAME: a rede em que se aplica essa regra de encaminhamento.
  • SUBNET_NAME: a sub-rede em que se aplica essa regra de encaminhamento
  • RESERVED_IP_ADDRESS: o endereço IP que a regra de encaminhamento veicula.
  • PROTOCOL_TYPE: o protocolo IP que a regra veicula
  • PORT_NUMBER: uma lista de portas separadas por vírgula
  • BACKEND_SERVICE_NAME: serviço de back-end de destino que recebe o tráfego.
  • SD_SERVICE_NAME: o nome totalmente qualificado do serviço de diretório de serviços em que você quer registrar o endpoint. Ele precisa estar no mesmo projeto e região que a regra de encaminhamento que está sendo criada. Por exemplo: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.

Registrar um balanceador de carga de aplicativo interno

Para registrar um balanceador de carga de aplicativo interno regional, execute o gcloud compute forwarding-rules create comando e defina a service-directory-registration sinalização:

gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --network=NETWORK_NAME \
    --address=RESERVED_IP_ADDRESS \
    --target-https-proxy=PROXY_NAME \
    --target-https-proxy-region=PROXY_REGION \
    --ports=PORT_NUMBER \
    --service-directory-registration=SD_SERVICE_NAME

Substitua:

  • FORWARDING_RULE_NAME: um nome para a regra de encaminhamento que você quer criar.
  • REGION: a região onde criar a regra de encaminhamento
  • NETWORK_NAME: rede em que se aplica essa regra de encaminhamento
  • RESERVED_IP_ADDRESS: o endereço IP que a regra de encaminhamento veicula.
  • PROXY_NAME: proxy de destino que recebe o tráfego
  • PROXY_REGION: a região do proxy a ser operada
  • PORT_NUMBER: uma lista de portas separadas por vírgula
  • SD_SERVICE_NAME: o nome totalmente qualificado do serviço de diretório de serviços em que você quer registrar o endpoint. Esse serviço precisa estar no mesmo projeto e região que a regra de encaminhamento que está sendo criada. Por exemplo: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.

Verificar o endpoint

Um ou mais endpoints do Diretório de serviços criados ao registrar um balanceador de carga interno têm as seguintes características:

  • O endpoint tem o mesmo nome da regra de encaminhamento com o número da porta especificado (<forwarding rule name>-<port>). Por exemplo, se você criar uma regra de encaminhamento RULE com --port=8080, receberá um endpoint chamado RULE-8080. Para a mesma regra, se você especificar duas portas --port=8080, 8081, receberá dois endpoints, RULE-8080 e RULE-8081. Se você especificar --port=ALL, o endpoint do Diretório de serviços será registrado com a porta 0. Se você for o proprietário do balanceador de carga interno, precisará garantir que o autor da chamada da API saiba a porta em que se conectar.
  • Não é possível modificar ou excluir o endpoint usando a API pública do Diretório de serviços. O endpoint só é excluído automaticamente quando você exclui a regra de encaminhamento. Isso significa que não é possível excluir o serviço e o namespace em que o endpoint reside enquanto a regra de encaminhamento existir.
  • O endpoint em si não é cobrado, embora os detalhes de preços normais se apliquem a todas as chamadas de API para o endpoint.

Para confirmar se o endpoint foi criado, resolva o serviço no Diretório de serviços. Você verá um endpoint com o mesmo nome da regra de encaminhamento com o número da porta especificado.

Para resolver o serviço no Diretório de serviços, faça o seguinte:

gcloud

Execute o gcloud service-directory services resolve comando:

gcloud service-directory services resolve SD_SERVICE_NAME \
    --namespace=SD_NAMESPACE_NAME \
    --location=REGION

Substitua:

  • SD_SERVICE_NAME: o nome do serviço do Diretório de serviços a ser resolvido. Ele precisa estar no nome de namespace do diretório de serviços.
  • SD_NAMESPACE_NAME: o nome que você deu ao namespace que contém seu serviço.
  • REGION: aregião que contém o Google Cloud namespace. Ela precisa ser a mesma região em que você criou a regra de encaminhamento.

Opcional: criar uma zona do Diretório de serviços usando o Cloud DNS

É possível resolver endpoints do Diretório de serviços registrados por essa integração usando o DNS como qualquer outro endpoint do Diretório de serviços. Para criar uma zona do Diretório de serviços usando o Cloud DNS, consulte Como configurar uma zona do Diretório de serviços.

Para verificar se a zona está configurada corretamente, execute uma consulta DNS da zona do Diretório de serviços. Para instruções sobre como consultar usando o DNS, consulte Como fazer consultas usando o DNS. Se a zona estiver configurada corretamente, o endereço IP do balanceador de carga interno será exibido na resposta ao comando.

Revisão dos dados

Para excluir os recursos criados, faça o seguinte:

gcloud

  1. Para excluir a regra de encaminhamento, execute o gcloud compute forwarding-rules delete comando:

    gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \
      --region=REGION \
    

    Substitua:

    • FORWARDING_RULE_NAME: o nome da regra de encaminhamento que você criou
    • REGION: a região da regra de encaminhamento.

    Para mais detalhes, consulte Como excluir uma regra de encaminhamento.

    Para confirmar se a exclusão da regra de encaminhamento excluiu automaticamente o endpoint do Diretório de serviços, execute o gcloud service-directory services resolve comando descrito na seção Como verificar o endpoint no serviço do Diretório de serviços.

  2. Para excluir a zona, se você criou uma, siga as instruções em Excluir uma zona gerenciada.

  3. Para excluir o namespace e o serviço do Diretório de serviços, consulte Como excluir recursos.

A seguir