É possível acessar endpoints regionais e multirregionais publicamente pela Internet ou de forma privada na sua nuvem privada virtual. Neste documento, explicamos como acessar os endpoints publicamente.
Quando você acessa endpoints regionais da Internet pública, o tráfego é roteado pela Google Cloud 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 público à Internet aos endpoints regionais da API, 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:
- Papel Administrador de rede do Compute (
roles/compute.networkAdmin) - Função de administrador de DNS (
roles/dns.admin)
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
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
$ gcloud init
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Ative as APIs Compute Engine, Network Connectivity Center e Cloud DNS.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis.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.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.comOs endpoints multirregionais têm o seguinte formato:
SERVICE.MULTIREGION.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 reverter ao uso do 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 Google Cloud 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 endpointPROJECT_ID: o ID do seu projeto Google Cloud
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 builder do cliente.
Java
Use setEndpoint no criador de configurações de 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
- Use a Google Cloud CLI para gerenciar endpoints regionais.
- Consulte a documentação REST do
regionalEndpoints.
A seguir
- Acessar APIs regionais do Google por back-ends.
- Consulte os Google Cloud endpoints de serviço regionais compatíveis.