Acessar serviços publicados por back-ends e endpoints de serviços publicados

É possível configurar balanceadores de carga compatíveis ou o Cloud Service Mesh regional para rotear o tráfego para serviços publicados por endpoints do Private Service Connect. Para fazer isso, associe um serviço de back-end regional a um anexo de serviço. Essa configuração é conhecida como back-end de serviço publicado.

Nesta página, descrevemos como configurar back-ends de serviços publicados para balanceadores de carga. Para informações sobre como configurar back-ends de serviços publicados para o Cloud Service Mesh regional, consulte Configurar back-ends de serviços publicados para o Cloud Service Mesh.

Os back-ends de serviços publicados só são compatíveis se as redes VPC do produtor e do consumidor pertencerem à mesma organização.

Antes de começar

  • Leia sobre back-ends de serviços publicados.
  • Verifique se a rede VPC do produtor que hospeda o serviço pertence à mesma organização que a rede do consumidor em que você quer configurar back-ends de serviços publicados.
  • Identifique o anexo de serviço do serviço que você quer acessar.
  • Identifique ou crie um endpoint do Private Service Connect que se conecte ao serviço que você quer acessar. Esse endpoint precisa estar na mesma região que o balanceador de carga do consumidor.
  • Identifique ou crie um balanceador de carga do consumidor que ofereça suporte a back-ends de serviços publicados:
    • A regra de encaminhamento e o serviço de back-end do balanceador de carga precisam estar na mesma região que o anexo de serviço e o endpoint do Private Service Connect que se conecta ao serviço.
    • Se você criar um balanceador de carga, não adicione back-ends ao serviço de back-end dele. Eles serão adicionados quando você configurar um back-end de serviço publicado.
  • Ative a API Compute Engine no projeto.

Funções exigidas

Para receber as permissões necessárias para configurar o balanceamento de carga para endpoints do Private Service Connect, peça ao administrador para conceder a você o papel do IAM de Administrador do balanceador de carga do Compute (roles/compute.loadBalancerAdmin) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando personalizados papéis ou outros predefinidos papéis.

Adicionar um back-end de serviço publicado a um balanceador de carga do consumidor

Para criar um back-end de serviço publicado, associe o serviço de back-end regional de um balanceador de carga a um anexo de serviço. Não é possível associar explicitamente o balanceador de carga a um endpoint. Em vez disso, quando um cliente envia uma solicitação ao balanceador de carga, ele roteia o tráfego por um endpoint ACCEPTED do Private Service Connect que se conecta ao anexo de serviço.

gcloud

Use o comando gcloud beta compute backend-services add-backend.

gcloud beta compute backend-services add-backend BACKEND_SERVICE \
    --region=REGION \
    --service=//compute.googleapis.com/projects/PROJECT_ID/locations/REGION/serviceAttachments/SERVICE_ATTACHMENT

Substitua:

  • BACKEND_SERVICE: o nome do serviço de back-end
  • REGION: a região do serviço de back-end, que precisa corresponder à região do anexo de serviço
  • PROJECT_ID: o ID do projeto do anexo de serviço
  • SERVICE_ATTACHMENT: o nome do anexo de serviço a ser associado ao serviço de back-end

API

  1. É necessário incluir a impressão digital do serviço de back-end ao atualizar o serviço de back-end. Para encontrar a impressão digital, envie uma solicitação para o regionBackendServices.get método.

    Método HTTP e URL:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
    

    Substitua:

    • PROJECT_ID: ID do projeto
    • REGION: a região do serviço de back-end, que precisa corresponder à região do anexo de serviço
    • BACKEND_SERVICE: o nome do serviço de back-end

    Anote o valor fingerprint na resposta, que é necessário para a próxima etapa.

  2. Envie uma solicitação para o regionBackendServices.patch método.

    A solicitação a seguir substitui todos os back-ends atuais.

    Método HTTP e URL:

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
    

    Corpo JSON da solicitação:

    {
      "backends": [
        {
          "group": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/locations/REGION/serviceAttachments/SERVICE_ATTACHMENT"
        }
      ],
      "fingerprint": "FINGERPRINT"
    }
    

    Substitua:

    • SERVICE_ATTACHMENT: o nome do anexo de serviço a ser associado ao serviço de back-end
    • FINGERPRINT: o valor da impressão digital que você anotou na etapa anterior