Accedi alle API di Google a livello di regione tramite endpoint

Questo documento spiega come utilizzare Private Service Connect per la connessione a endpoint regionali dei servizi Google per le API.

Per informazioni su altri servizi Private Service Connect, configurazioni, consulta Private Service Connect.

Ruoli

Per ottenere le autorizzazioni necessarie per creare un endpoint Private Service Connect a livello di regione, chiedi all'amministratore di concederti seguenti ruoli IAM sulla rete VPC:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

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

Prima di iniziare

  1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

    $ gcloud init

  2. Abilita le API Compute Engine, Network Connectivity Center, Cloud DNS, and Service Directory.

    Abilita le API

  3. Abilita le API di Google a cui vuoi accedere. mediante endpoint Private Service Connect, utilizzando le API e assistenza nella console Google Cloud. Private Service Connect non attiva automaticamente API.

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

  5. Leggi Limitazioni.

Crea un endpoint Private Service Connect a livello di regione

Puoi creare un endpoint Private Service Connect a livello di regione di inviare richieste a un endpoint a livello di regione per un'API di Google di destinazione.

Per un elenco degli endpoint a livello di regione supportati, consulta Servizio a livello di regione endpoint.

I nomi host degli endpoint a livello di regione hanno due forme:

  • Nomi host pubblici: SERVICE.REGION.rep.DOMAIN
  • Nomi host privati: SERVICE.REGION.p.rep.DOMAIN

    Il nome host privato aggiunge un sottodominio p tra REGION e rep.

Quando configuri l'API di Google target, devi specificare la forma privata del nome host, ad esempio spanner.me-central2.p.rep.googleapis.com. Dopo l'endpoint, crei un record DNS privato per il utilizzando lo stesso nome host dell'endpoint a livello di regione privato.

Sebbene sia possibile configurare l'endpoint Private Service Connect a qualsiasi nome, per facilitare la manutenzione si consiglia di usare il nome del servizio l'API di Google target, in modo che il nome DNS corrisponda al nome dell'endpoint. Per Ad esempio, se l'endpoint ha un target spanner.me-central2.p.rep.googleapis.com, usa spanner come nome dell'endpoint.

gcloud

Utilizza la regional-endpoints create un comando kubectl.

gcloud beta network-connectivity regional-endpoints create ENDPOINT_NAME \
    --region=REGION \
    --network=NETWORK_URI \
    --subnetwork=SUBNET_URI \
    --target-google-api=REP_NAME

Se vuoi rendere l'endpoint disponibile per le risorse in altre regioni, aggiungi il flag --enable-global-access.

Sostituisci quanto segue:

  • ENDPOINT_NAME: un nome per l'endpoint.

  • REGION: la regione in cui vuoi creare in entrata.

  • NETWORK_URI: l'URI del VPC rete per l'endpoint: projects/PROJECT_ID/global/networks/NETWORK_NAME.

  • SUBNET_URI: l'URI della subnet che vuoi connetti l'endpoint a: projects/PROJECT_ID/regions/SUBNET_NAME.

  • REP_NAME: il nome dell'endpoint di servizio a livello di regione a cui vuoi connetterti. Ad esempio: spanner.me-central2.p.rep.googleapis.com.

Elenca endpoint

Puoi elencare tutti gli endpoint configurati.

Console

  1. Nella console Google Cloud, vai alla pagina Private Service Connect.

    Vai a Private Service Connect

  2. Fai clic sulla scheda Endpoint connessi.

    Sono visualizzati tutti gli endpoint, inclusi quelli con destinazioni degli endpoint a livello di regione.

gcloud

Utilizza la regional-endpoints list un comando kubectl.

gcloud beta network-connectivity regional-endpoints list \
    --region=REGION

Sostituisci REGION con la regione degli endpoint che hai da elencare.

Verifica che l'endpoint funzioni

Creare un'istanza di una macchina virtuale (VM) nella rete VPC e regione in cui è configurato l'endpoint. Esegui il comando seguente sulla VM e verificare che l'endpoint Private Service Connect funzioni. Gli endpoint non rispondono alle richieste ping (ICMP).

curl --connect-to SERVICE.REGION.p.rep.DOMAIN:443:ENDPOINT_IP:443 \
'SERVICE.REGION.p.rep.DOMAIN/PATH'

Sostituisci quanto segue:

  • SERVICE: il servizio a cui punta l'endpoint. Ad esempio, spanner o logging.
  • REGION: la regione dell'endpoint.
  • DOMAIN: il dominio del servizio. Ad esempio: googleapis.com.
  • ENDPOINT_IP: l'indirizzo IP dell'endpoint.
  • PATH: il percorso di una risorsa fornita da questo completamente gestito di Google Cloud. Ad esempio, molti servizi offrono un documento di rilevamento con il percorso $discovery/rest?version=v1.

La richiesta di esempio seguente verifica che un endpoint con indirizzo IP 192.168.1.100 può richiedere l'API Cloud Spanner documento di rilevamento dell'endpoint a livello di regione in me-central2.

curl --connect-to spanner.me-central2.p.rep.googleapis.com:443:192.168.1.100:443 \
'https://spanner.me-central2.p.rep.googleapis.com/$discovery/rest?version=v1'

Crea una voce DNS privata per l'endpoint

È necessario creare voci DNS per gli endpoint nel seguente formato: SERVICE.REGION.p.rep.DOMAIN. Puoi utilizzare Cloud DNS per creare le voci DNS.

  1. Crea una zona DNS privata che abbia questo formato: REGION.p.rep.DOMAIN.

    Ad esempio, se vuoi utilizzare un endpoint a livello di regione in googleapis.com dominio, nella regione me-central2, crea una zona DNS privata con questo nome: me-central2.p.rep.googelapis.com.

  2. Crea un record DNS che rimandi all'IP dall'indirizzo email assegnato all'endpoint. Il nome host deve corrispondere nome del servizio, SERVICE. Ad esempio, spanner o logging sono nomi di servizi.

Ad esempio, se il tuo endpoint è configurato con spanner.me-central2.p.rep.googleapis.com, crei una zona DNS privata denominata me-central2.p.rep.googelapis.com e un record A chiamato spanner che indica all'indirizzo IP dell'endpoint. Il nome di dominio completo dell'endpoint è spanner.me-central2.p.rep.googelapis.com.

Configura i client per l'utilizzo del nome dell'endpoint privato

Devi configurare i client in modo che utilizzino i nomi DNS privati anziché i nomi DNS pubblici Nomi DNS. Consulta la documentazione della libreria client o client per e informazioni sulla configurazione per l'uso di endpoint personalizzati. Ad esempio:

Ottieni informazioni dettagliate su un endpoint

Puoi visualizzare i dettagli di configurazione di un endpoint.

gcloud

Utilizza la regional-endpoints list describe un comando kubectl.

gcloud beta network-connectivity regional-endpoints describe \
    ENDPOINT_NAME --region=REGION

Sostituisci quanto segue:

  • ENDPOINT_NAME: il nome dell'endpoint.
  • REGION: la regione dell'endpoint.

Eliminazione di un endpoint

Puoi eliminare un endpoint.

gcloud

Utilizza la regional-endpoints list delete un comando kubectl.

gcloud beta network-connectivity regional-endpoints delete \
    ENDPOINT_NAME --region=REGION

Sostituisci quanto segue:

  • ENDPOINT_NAME: il nome dell'endpoint.
  • REGION: la regione dell'endpoint.

Accedi agli endpoint da reti ibride

Client nelle reti collegate a Google Cloud tramite VLAN i collegamenti per i tunnel Cloud Interconnect o Cloud VPN possono raggiungere Endpoint Private Service Connect.

  • Il collegamento VLAN o il tunnel Cloud VPN deve terminare nello stesso Rete VPC (o rete VPC condiviso) come endpoint. I client nelle reti VPC in peering non possono raggiungere gli endpoint.

  • Il traffico client da collegamenti VLAN o tunnel Cloud VPN può raggiungere in un'altra regione se è configurato l'accesso globale.

  • Per i collegamenti VLAN sono supportati sia Dataplane v1 che Dataplane v2. Per ulteriori informazioni sulle versioni di Dataplane, consulta Dataplane v2.

Devi configurare i sistemi nell'altra rete in modo che possono eseguire query sulle tue zone DNS private.

Se hai implementato le zone DNS private utilizzando Cloud DNS, completa segui questi passaggi:

  • Crea un criterio del server in entrata Rete VPC a cui si connette l'altra rete.

  • Identifica i punti di ingresso dello spedizioniere in entrata nella regione in cui si trova il collegamento VLAN o il tunnel Cloud VPN nella rete VPC a cui l'altra rete si trova si connette.

  • Configurare i sistemi e i server dei nomi DNS nell'altra rete per inoltrare Nomi DNS per l'endpoint a una voce di inoltro in entrata punto di accesso nella stessa regione del collegamento VLAN o del tunnel Cloud VPN che si connette alla rete VPC.