Accesso agli endpoint API regionali

Questa pagina spiega come utilizzare gli endpoint API regionali (endpoint regionali) in Google Cloud, disponibili per la regione me-central2 (Arabia Saudita).

Gli endpoint regionali forniscono funzionalità di residenza dei dati in transito mediante il routing e la gestione del traffico nella stessa Google Cloud regione del client. Quando un client chiama un servizio utilizzando un endpoint regionale, la sessione TLS del client termina nella regione indicata nel nome dell'endpoint. Di conseguenza, gli endpoint regionali devono essere utilizzati solo per i workload che non hanno dipendenze al di fuori di una singola regione o giurisdizione.

Puoi connetterti tramite internet agli endpoint regionali pubblici. Per il traffico in entrata di internet, questi endpoint utilizzano il routing best-effort per mantenere il traffico in transito locale alla regione (o alla giurisdizione) perché non utilizzano il Google Front End (GFE) globale. Vengono invece risolti in indirizzi IP annunciati solo nei punti di peering più vicini alla regione selezionata.

Ad esempio, un data engineer che lavora in Arabia Saudita può configurare il proprio client per utilizzare BigQuery nella regione me-central2 (Dammam) utilizzando l'endpoint di servizio regionale bigquery.me-central2.rep.googleapis.com. Il traffico viene instradato utilizzando il livello Standard e la sessione TLS dal client verrà terminata in me-central2.

In questo scenario, il VIP pubblico corrispondente all'endpoint di servizio regionale avrà origine da un prefisso IP annunciato da Google sui punti di peering della regione. Pertanto, se l'utente è connesso a un ISP locale in Arabia Saudita, il traffico può essere instradato all'interno della sua giurisdizione.

Formato dell'endpoint regionale

Gli endpoint regionali utilizzano il seguente formato:

SERVICE_NAME.REGION.rep.googleapis.com

I valori segnaposto sono definiti come segue:

  • SERVICE_NAME: il nome di un endpoint di servizio supportato, ad esempio bigquery.
  • REGION: una regione Google Cloud supportata, ad esempio me-central2.

L'esempio seguente è un endpoint regionale completo per BigQuery:

bigquery.me-central2.rep.googleapis.com

Servizi e regioni supportati

Gli endpoint regionali sono supportati nelle seguenti regioni:

Nome regione Località
me-central2 Dammam, Regno dell'Arabia Saudita

Gli endpoint regionali sono supportati dai seguenti servizi:

Nome servizio Endpoint a livello di regione
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
Dataproc dataproc.me-central2.rep.googleapis.com
Pub/Sub pubsub.me-central2.rep.googleapis.com

Configurazione di un client per accedere agli endpoint regionali da internet pubblico

Per utilizzare gli endpoint regionali da internet pubblico, devi prima configurare il client (ad esempio Google Cloud CLI o una libreria client Google Cloud SDK) per connetterti a un endpoint regionale specifico.

Configura gcloud CLI

Per impostazione predefinita, gcloud CLI utilizza endpoint di servizio globali, ad esempio bigquery.googleapis.com. Per utilizzare un endpoint di servizio regionale, devi configurare gcloud CLI in modo che li utilizzi completando i seguenti passaggi.

  1. Se un servizio supportato non è ancora stato abilitato, abilitalo utilizzando il seguente comando:

    gcloud services enable SERVICE_NAME

    Sostituisci SERVICE_NAME con il nome di un servizio supportato che vuoi utilizzare. Ad esempio:

    gcloud services enable cloudkms
  2. Per utilizzare un endpoint di servizio regionale, devi configurare gcloud CLI utilizzando il comando gcloud config set api_endpoint_overrides:

    gcloud config set api_endpoint_overrides/SERVICE_NAME REGIONAL_API_URL

    Sostituisci i seguenti valori con i tuoi:

    • SERVICE_NAME: il nome del servizio supportato che vuoi utilizzare. Ad esempio: cloudkms
    • REGIONAL_API_URL: l'URL dell'endpoint specifico. Ad esempio:

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

      Sostituisci i seguenti valori con i tuoi:

      • REGION_NAME: il nome della regione Google Cloud richiesta. Ad esempio: me-central2
      • API_VERSION: la versione API del servizio che vuoi utilizzare. Ad esempio: v1. Nota: alcuni servizi potrebbero non richiedere questo parametro.

      Di seguito è riportato un valore di REGIONAL_API_URL di esempio:

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

    Messo insieme, il seguente è un esempio di comando gcloud config set api_endpoint_overrides per Cloud KMS:

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

Ora che gcloud CLI è stata configurata per utilizzare un endpoint di servizio regionale, i comandi futuri lo utilizzeranno come predefinito anziché l'endpoint di servizio globale.

Configura le librerie client di Google Cloud SDK

Per impostazione predefinita, le librerie client di Google Cloud SDK utilizzano endpoint di servizio globali, ad esempio pubsub.googleapis.com. Per utilizzare un endpoint di servizio regionale, devi configurare le librerie client di Google Cloud SDK in modo che le utilizzino.

Python

Imposta il parametro api_endpoint nella classe ClientOptions del pacchetto 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

Utilizza il metodo newBuilder della classe ImageAnnotatorSettings nel pacchetto com.google.cloud.vision:

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

Go

Utilizza la funzione WithEndpoint nel pacchetto ClientOptions del pacchetto api:

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

.NET

Imposta la proprietà Endpoint nella ClientBuilder classe del client nel pacchetto Google.Cloud della libreria che stai utilizzando:

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

Limita l'utilizzo degli endpoint API globali

Per contribuire a imporre l'utilizzo di endpoint regionali, utilizza il vincolo delle policy dell'organizzazione constraints/gcp.restrictEndpointUsage per bloccare le richieste all'endpoint API globale. Per saperne di più, consulta Limitazione dell'utilizzo degli endpoint.