Accedere alle API di Google regionali tramite endpoint pubblici

Puoi accedere agli endpoint regionali e multiregionali pubblicamente su internet o privatamente dall'interno del tuo Virtual Private Cloud. Questo documento spiega come accedere pubblicamente agli endpoint.

Quando accedi agli endpoint regionali da internet pubblico, il traffico viene instradato tramite il networking di livello Standard di Google Cloud . La connessione, inclusa la terminazione TLS, viene gestita all'interno della regione di destinazione.

Configura l'accesso a internet pubblico alle API

Per configurare l'accesso a internet pubblico agli endpoint API regionali, segui questi passaggi.

Ruoli

Per ottenere le autorizzazioni necessarie per creare un endpoint regionale, chiedi all'amministratore di concederti i seguenti ruoli IAM nella rete VPC:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Prima di iniziare

  1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

    $ gcloud init

    Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  2. Abilita le API Compute Engine, Network Connectivity Center e Cloud DNS.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilita le API

  3. Inoltre, abilita l'API per il servizio di destinazione a cui vuoi accedere tramite l'endpoint. Ad esempio, se vuoi accedere a spanner.me-central2.rep.googleapis.com, abilita l'API Cloud Spanner.

  4. Assicurati che le regole firewall in uscita consentano il traffico verso l'endpoint. La configurazione firewall predefinita per una rete VPC consente questo traffico perché contiene una regola di autorizzazione in uscita implicita. Verifica di non aver creato una regola di uscita con priorità più alta che blocca il traffico.

Identifica l'endpoint

Determina il servizio e la regione o la multi-regione specifica richiesta per il tuo workload.

  • Gli endpoint regionali hanno il seguente formato: SERVICE.REGION.rep.googleapis.com

  • Gli endpoint multiregionali hanno il seguente formato: SERVICE.MULTI_REGION.rep.googleapis.com

Modifica la configurazione DNS

Se il tuo ambiente esegue l'override del DNS pubblico per googleapis.com utilizzando una zona DNS privata, il che è comune nelle configurazioni ibride, segui questi passaggi:

  • Aggiorna la configurazione DNS per escludere rep.googleapis.com. Per saperne di più, consulta Aggiungi, aggiorna ed elimina record.

  • Modifica la configurazione della zona DNS per escludere il sottodominio rep.googleapis.com. Inoltra queste query ai resolver DNS pubblici. Per saperne di più, consulta Crea, modifica ed elimina zone.

Configura Google Cloud CLI

Per eseguire l'override dell'endpoint API predefinito per servizi specifici, utilizza Google Cloud CLI. Il seguente esempio utilizza il comando gcloud config set per impostare un override per Cloud Storage in us-central1 e un override per Compute Engine in 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/

Dopo aver impostato l'override, i comandi gcloud CLI per il servizio utilizzano l'endpoint regionale. Per ripristinare l'utilizzo dell'endpoint globale predefinito, utilizza il comando gcloud config unset:

gcloud config unset api_endpoint_overrides/SERVICE

Aggiornare gli SDK client

La maggior parte delle librerie client Google Cloud ti consente di specificare un endpoint personalizzato durante l'inizializzazione del client.

Python

Utilizza client_options con 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

Sostituisci quanto segue:

  • SERVICE: il nome del servizio
  • REGION: la regione dell'endpoint
  • PROJECT_ID: l'ID del tuo progetto Google Cloud

Vai

Utilizza option.WithEndpoint durante la creazione del cliente.

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

Sostituisci quanto segue:

  • SERVICE: il nome del servizio
  • REGION: la regione dell'endpoint

.NET

Configura Endpoint nel generatore di client.

Java

Utilizza setEndpoint nel generatore di impostazioni del servizio.

L'esempio seguente utilizza Java per connettersi all'endpoint dell'API Cloud Vision.

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

Documentazione di riferimento

Passaggi successivi