Acessar APIs regionais do Google por endpoints públicos

É possível acessar endpoints regionais e multirregionais publicamente pela Internet ou de forma privada na sua nuvem privada virtual. Este documento explica como acessar os endpoints publicamente.

Quando você acessa endpoints regionais da Internet pública, o tráfego é roteado pela Cloud de Confiance by S3NS rede do nível Standard. A conexão, incluindo término de TLS, é processada na região de destino.

Configurar o acesso à Internet pública para as APIs

Para configurar o acesso à Internet pública nos endpoints de API regionais, siga estas etapas.

Papéis

Para receber as permissões necessárias para criar um endpoint regional, peça ao administrador para conceder a você os seguintes papéis do IAM na rede VPC:

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 papéis personalizados ou outros papéis predefinidos.

Antes de começar

  1. Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

    $ gcloud init

  2. Ative as APIs Compute Engine, Network Connectivity Center e Cloud DNS, se alguma delas ainda não estiver ativada.

    Funções necessárias para ativar APIs

    Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de proprietário (roles/owner). Caso contrário, é possível receber essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.

    Ativar as APIs

  3. Além disso, ative a API do serviço de destino que você quer acessar pelo endpoint. Por exemplo, se você quiser acessar spanner.me-central2.rep.googleapis.com, ative a API Cloud Spanner.

  4. Verifique se as regras de firewall de saída permitem o tráfego para o endpoint. A configuração padrão de firewall das redes VPC permite esse tráfego porque contém uma regra de saída de permissão implícita. Você não deve criar uma regra de saída de prioridade mais alta que bloqueie o tráfego.

Identificar o endpoint

Determine o serviço e a região ou multirregião específica necessária para sua carga de trabalho.

  • Os endpoints regionais têm o seguinte formato: SERVICE.REGION.rep.googleapis.com

  • Os endpoints multirregionais têm o seguinte formato: SERVICE.MULTI_REGION.rep.googleapis.com

Modificar a configuração de DNS

Se o ambiente substituir o DNS público por googleapis.com usando uma zona de DNS particular, o que é comum em configurações híbridas, siga estas etapas:

  • Atualize sua configuração de DNS para excluir rep.googleapis.com. Para mais informações, consulte Adicionar, atualizar e excluir registros.

  • Modifique a configuração da zona de DNS para excluir o subdomínio rep.googleapis.com. Encaminhe essas consultas para resolvedores de DNS públicos. Para mais informações, consulte Criar, modificar e excluir zonas.

Configurar a Google Cloud CLI

Para substituir o endpoint de API padrão de serviços específicos, use a Google Cloud CLI. O exemplo a seguir usa o comando gcloud config set para definir uma substituição do Cloud Storage em us-central1 e uma substituição do Compute Engine em europe-west1.

# Set an override for Cloud Storage in us-central1.

gcloud config set api_endpoint_overrides/storage https://storage.us-central1.rep.googleapis.com/

# Set an override for Compute Engine in europe-west1.

gcloud config set api_endpoint_overrides/compute https://compute.europe-west1.rep.googleapis.com/compute/v1/

Depois de definir a substituição, os comandos da CLI gcloud para esse serviço usarão o endpoint regional. Para voltar a usar o endpoint global padrão, use o comando gcloud config unset:

gcloud config unset api_endpoint_overrides/SERVICE

Atualizar os SDKs de cliente

A maioria das bibliotecas de cliente Cloud de Confiance by S3NS permite especificar um endpoint personalizado durante a inicialização do cliente.

Python

Use client_options com api_endpoint.

from google.cloud import SERVICE
from google.api_core.client_options import ClientOptions

options = ClientOptions(api_endpoint='https://SERVICE.REGION.rep.googleapis.com')
SERVICE_client = SERVICE.Client(client_options=options, project='PROJECT_ID')
# ... use SERVICE_client as usual

Substitua:

  • SERVICE: o nome do serviço;
  • REGION: a região do endpoint
  • PROJECT_ID: o ID do seu projeto Cloud de Confiance by S3NS

Go

Use option.WithEndpoint durante a criação do cliente.

client, err := SERVICE.NewClient(ctx, projID, 
option.WithEndpoint("https://SERVICE-my-endpoint.REGION.rep.googleapis.com"), // Override endpoint

Substitua:

  • SERVICE: o nome do serviço;
  • REGION: a região do endpoint

.NET

Configure Endpoint no criador de clientes.

Java

Use setEndpoint no criador de configurações do serviço.

O exemplo a seguir usa Java para se conectar ao endpoint da API Cloud Vision.

ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder()
.setEndpoint("https://vision.REGION.rep.googleapis.com")
.build();
ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);

Documentação de referência

A seguir