Como acessar endpoints de API regionais

Esta página explica como usar endpoints de API regionais (endpoints regionais) no Google Cloud, que estão disponíveis para a me-central2 (KSA) region.

Os endpoints regionais oferecem recursos de residência de dados em trânsito, roteando e veiculando tráfego na mesma Google Cloud região do cliente. Quando um cliente chama um serviço usando um endpoint regional, a sessão TLS do cliente é encerrada na região indicada no nome do endpoint. Como resultado, os endpoints regionais só podem ser usados para cargas de trabalho que não têm dependências fora de uma única região ou jurisdição.

É possível se conectar pela Internet a endpoints regionais públicos. Para o tráfego de entrada da Internet , esses endpoints usam o roteamento de melhor esforço para manter o tráfego em trânsito local para a região (ou jurisdição), porque não usam o Google Front End (GFE) global. Em vez disso, eles são resolvidos para endereços IP anunciados apenas nos pontos de peering mais próximos da região selecionada.

Por exemplo, um engenheiro de dados que trabalha na KSA pode configurar o cliente para usar o BigQuery na região me-central2 (Damã) usando o endpoint de serviço regional bigquery.me-central2.rep.googleapis.com. O tráfego é roteado usando o nível Standard, e a sessão TLS do cliente será encerrada em me-central2.

Nesse cenário, o VIP público correspondente ao endpoint de serviço regional será originado de um prefixo de IP anunciado pelo Google nos pontos de peering da região. Assim, se o usuário estiver conectado a um ISP local na KSA, o tráfego poderá ser roteado dentro da jurisdição.

Formato do endpoint regional

Os endpoints regionais usam o seguinte formato:

SERVICE_NAME.REGION.rep.googleapis.com

Os valores de marcador de posição são definidos da seguinte maneira:

  • SERVICE_NAME: um nome de endpoint de serviço com suporte, como bigquery.
  • REGION: uma região com suporte, como me-central2. Google Cloud

O exemplo a seguir é um endpoint regional completo para o BigQuery:

bigquery.me-central2.rep.googleapis.com

Regiões e serviços com suporte

Os endpoints regionais são compatíveis com as seguintes regiões:

Nome da região Local
me-central2 Damã, Reino da Arábia Saudita (KSA)

Os endpoints regionais são compatíveis com os seguintes serviços:

Nome do serviço Endpoint regional
Artifact Registry artifactregistry.me-central2.rep.googleapis.com
apt.me-central2.rep.pkg.dev
docker.me-central2.rep.pkg.dev
go.me-central2.rep.pkg.dev
googet.me-central2.rep.pkg.dev
kfp.me-central2.rep.pkg.dev
maven.me-central2.rep.pkg.dev
npm.me-central2.rep.pkg.dev
python.me-central2.rep.pkg.dev
yum.me-central2.rep.pkg.dev
BigQuery bigquery.me-central2.rep.googleapis.com
bigquerydatatransfer.me-central2.rep.googleapis.com
bigquerymigration.me-central2.rep.googleapis.com
bigqueryreservation.me-central2.rep.googleapis.com
bigquerystorage.me-central2.rep.googleapis.com
Bigtable bigtable.me-central2.rep.googleapis.com
Cloud Key Management Service (Cloud KMS) cloudkms.me-central2.rep.googleapis.com
Cloud Logging logging.me-central2.rep.googleapis.com
Spanner spanner.me-central2.rep.googleapis.com
Cloud Storage storage.me-central2.rep.googleapis.com
Dataflow dataflow.me-central2.rep.googleapis.com
Managed Service for Apache Spark dataproc.me-central2.rep.googleapis.com
Pub/Sub pubsub.me-central2.rep.googleapis.com

Como configurar um cliente para acessar endpoints regionais da Internet pública

Para usar endpoints regionais da Internet pública, primeiro configure o cliente (como a Google Cloud CLI ou uma biblioteca de cliente do SDK Google Cloud) para se conectar a um endpoint regional específico.

Configurar a CLI gcloud

Por padrão, a CLI gcloud usa endpoints de serviço globais, como bigquery.googleapis.com. Para usar um endpoint de serviço regional, configure a CLI gcloud para usá-los seguindo estas etapas.

  1. Se um serviço com suporte ainda não tiver sido ativado, ative-o usando o seguinte comando:

    gcloud services enable SERVICE_NAME

    Substitua SERVICE_NAME pelo nome de um serviço com suporte que você quer usar. Exemplo:

    gcloud services enable cloudkms
  2. Para usar um endpoint de serviço regional, configure a CLI gcloud usando o gcloud config set api_endpoint_overrides comando:

    gcloud config set api_endpoint_overrides/SERVICE_NAME REGIONAL_API_URL

    Substitua os seguintes valores pelos seus:

    • SERVICE_NAME: o nome do serviço com suporte que você quer usar. Exemplo: cloudkms
    • REGIONAL_API_URL: o URL do endpoint específico. Exemplo:

      https://SERVICE_NAME.REGION_NAME.rep.googleapis.com/SERVICE_NAME/API_VERSION

      Substitua os seguintes valores pelos seus:

      • REGION_NAME: o nome da região necessária. Google Cloud Exemplo: me-central2
      • API_VERSION: a versão da API do serviço que você quer usar. Exemplo: v1. Observação: alguns serviços podem não exigir esse parâmetro.

      Confira a seguir um exemplo de valor REGIONAL_API_URL:

      https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1

    Confira a seguir um exemplo de comando gcloud config set api_endpoint_overrides para o Cloud KMS:

    gcloud config set api_endpoint_overrides/cloudkms https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1

Agora que a CLI gcloud foi configurada para usar um endpoint de serviço regional, os comandos futuros vão usá-lo como padrão em vez do endpoint de serviço global.

Configurar bibliotecas de cliente do SDK Google Cloud

Por padrão, as bibliotecas de cliente do SDK Google Cloud usam endpoints de serviço globais, como pubsub.googleapis.com. Para usar um endpoint de serviço regional, configure as bibliotecas de cliente do SDK Google Cloud para usá-los.

Python

Defina o parâmetro api_endpoint na ClientOptions classe do pacote google-api-core:

from google.api_core.client_options import ClientOptions

options = ClientOptions(api_endpoint = "pubsub.me-central2.rep.googleapis.com")
client = pubsub_v1.PublisherClient(client_options=options)

// Alternatively
client = pubsub_v1.PublisherClient(client_options={"api_endpoint": "pubsub.me-central2.rep.googleapis.com")

Java

Use o método newBuilder da ImageAnnotatorSettings classe no pacote com.google.cloud.vision:

ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder()
  .setEndpoint("pubsub.me-central2.rep.googleapis.com")
  .build();
ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);

Go

Use a função WithEndpoint no ClientOptions pacote do pacote api:

client, err := pubsub.NewClient(ctx, projID,
    option.WithEndpoint("pubsub.me-central2.rep.googleapis.com"), // Override endpoint

.NET

Defina a propriedade Endpoint na classe ClientBuilder do cliente no pacote Google.Cloud da biblioteca que você está usando:

string region = "me-central2";
var client = new DatasetServiceClientBuilder
{
    Endpoint = $"pubsub.{region}.rep.googleapis.com"
}.Build();

Restringir o uso endpoint de API globais

Para ajudar na aplicação do uso de endpoints regionais, utilize a restrição de política da organização constraints/gcp.restrictEndpointUsage para bloquear solicitações ao endpoint de API global. Para mais informações, consulte Restringir o uso de endpoints.