Accedere ai servizi pubblicati tramite endpoint (original) (raw)

Questo documento spiega come accedere ai servizi in un'altra rete VPC utilizzando gli endpoint Private Service Connect. Puoi connetterti ai tuoi servizi o a quelli forniti da altri produttori, inclusi quelli di Google.

Per saperne di più sui servizi, consulta Pubblica servizi gestiti.

Prima di iniziare

Ruoli obbligatori

Se crei l'endpoint nello stesso progetto della subnet a cui lo connetti, consulta Ruoli richiesti per il progetto.

Se utilizzi il VPC condiviso e crei l'endpoint in un progetto di servizio, collegandolo a una subnet nel progetto host, devi disporre dei seguenti ruoli:

Ruoli richiesti per il progetto

Per ottenere le autorizzazioni necessarie per gestire gli endpoint che accedono ai servizi pubblicati, chiedi all'amministratore di concederti i seguenti ruoli IAM:

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

Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire gli endpoint che accedono ai servizi pubblicati. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per gestire gli endpoint che accedono ai servizi pubblicati sono necessarie le seguenti autorizzazioni:

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Ruoli aggiuntivi richiesti per le configurazioni VPC condiviso

Se crei un endpoint in un progetto di servizio che utilizza un indirizzo IP di una subnet del progetto host, devi disporre delle seguenti autorizzazioni oltre ai ruoli per il tuo progetto (il progetto di servizio).

Per ottenere le autorizzazioni necessarie per gestire gli endpoint che accedono ai servizi pubblicati, chiedi all'amministratore di concederti i seguenti ruoli IAM:

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

Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire gli endpoint che accedono ai servizi pubblicati. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per gestire gli endpoint che accedono ai servizi pubblicati sono necessarie le seguenti autorizzazioni:

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Creazione di un endpoint

Un endpoint si connette ai servizi in un'altra rete VPC utilizzando una regola di forwarding Private Service Connect. Ogni regola di forwarding viene conteggiata ai fini della quota per progetto per le regole di forwarding Private Service Connect per accedere ai servizi in un'altra rete VPC.

Quando crei un endpoint, questo viene registrato automaticamente inService Directory utilizzando uno spazio dei nomi a tua scelta o lo spazio dei nomi predefinito, goog-psc-default.

Se vuoi rendere disponibile l'endpoint da più di una regione, attiva l'accesso globale.

Puoi aggiornare solo il campo di accesso globale degli endpoint per i servizi pubblicati. Se vuoi aggiornare altri campi, elimina l'endpoint e poi creane uno nuovo.

Console

  1. Nella console Google Cloud , vai alla pagina Private Service Connect.
    Vai a Private Service Connect
  2. Fai clic sulla scheda Endpoint connessi.
  3. Fai clic su Connetti endpoint.
  4. In Destinazione, seleziona Servizio pubblicato.
  5. Per Servizio di destinazione, inserisci l'URI del collegamento al servizio a cui vuoi connetterti.
    L'URI del collegamento al servizio ha questo formato:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
  6. In Nome endpoint, inserisci un nome da utilizzare per l'endpoint.
  7. Seleziona una Rete per l'endpoint.
  8. Seleziona una subnet per l'endpoint.
  9. Seleziona un indirizzo IP per l'endpoint. Se hai bisogno di un nuovo indirizzo IP, puoi crearne uno:
    1. Fai clic sul menu a discesa Indirizzo IP e seleziona Crea indirizzo IP.
    2. Inserisci un nome e una descrizione facoltativa per l'indirizzo IP.
    3. Seleziona una Versione IP.
    4. Se stai creando un indirizzo IPv4, seleziona Assegna automaticamente oScegli.
      Se hai selezionato Fammi scegliere, inserisci l'indirizzo IP personalizzatoche vuoi utilizzare.
    5. Fai clic su Prenota.
  10. Per rendere l'endpoint disponibile da qualsiasi regione, seleziona Abilita accesso globale.
  11. Seleziona uno spazio dei nomi dall'elenco a discesa o creane uno nuovo.
    Il campo Regione viene compilato in base alla subnet selezionata.
  12. Fai clic su Aggiungi endpoint.

gcloud

  1. Prenota un indirizzo IP interno da assegnare all'endpoint.
    gcloud compute addresses create ADDRESS_NAME \
    --region=REGION \
    --subnet=SUBNET \
    --ip-version=IP_VERSION
    Sostituisci quanto segue:
    • ADDRESS_NAME: il nome da assegnare all'indirizzo IP riservato.
    • REGION: la regione per l'indirizzo IP dell'endpoint. Deve essere la stessa regione che contiene il collegamento al servizio del producer di servizi.
    • SUBNET: il nome della subnet per l'indirizzo IP dell'endpoint.
    • IP_VERSION: la versione IP dell'indirizzo IP, che può essere IPV4 o IPV6. IPV4 è il valore predefinito. Per specificareIPV6, l'indirizzo IP deve essere connesso a unasubnet con un intervallo di indirizzi IPv6 interni.
  2. Crea una regola di forwarding per connettere l'endpoint al collegamento al servizio del producer di servizi. Per impostazione predefinita, gli endpoint sono disponibili solo dalla propria regione. Per rendere disponibile un endpoint da qualsiasi regione, utilizza il flag --allow-psc-global-access.
    • Crea un endpoint a cui è possibile accedere solo dalla propria regione.
      gcloud compute forwarding-rules create ENDPOINT_NAME \
      --region=REGION \
      --network=NETWORK_NAME \
      --address=ADDRESS_NAME \
      --target-service-attachment=SERVICE_ATTACHMENT \
      [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]
    • Crea un endpoint a cui è possibile accedere da qualsiasi regione.
      gcloud compute forwarding-rules create ENDPOINT_NAME \
      --region=REGION \
      --network=NETWORK_NAME \
      --address=ADDRESS_NAME \
      --target-service-attachment=SERVICE_ATTACHMENT \
      --allow-psc-global-access \
      [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]

Sostituisci quanto segue:

API

  1. Prenota un indirizzo IP interno da assegnare all'endpoint.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    {
    "name": "ADDRESS_NAME",
    "addressType": "INTERNAL",
    "subnetwork": "SUBNET_URI",
    "ipVersion": "IP_VERSION"
    }
    Sostituisci quanto segue:
    • PROJECT_ID: il tuo ID progetto.
    • REGION: la regione per l'endpoint. Deve essere la stessa regione che contiene il collegamento al servizio del produttore di servizi.
    • ADDRESS_NAME: il nome da assegnare all'indirizzo IP riservato.
    • SUBNET_URI: la subnet per l'indirizzo IP. Utilizza il metodo subnetworks.list o gcloud compute networks subnets list --uri per trovare gli URL delle tue reti.
    • IP_VERSION: la versione IP dell'indirizzo IP, che può essere IPV4 o IPV6. IPV4 è il valore predefinito. Per specificareIPV6, l'indirizzo IP deve essere connesso a unasubnet con un intervallo di indirizzi IPv6 interni.
  2. Crea una regola di forwarding per connettere l'endpoint al collegamento al servizio del producer di servizi. Per impostazione predefinita, gli endpoint sono disponibili solo dalla propria regione. Per rendere disponibile un endpoint da qualsiasi regione, imposta allowPscGlobalAccess su true.
    • Crea un endpoint a cui è possibile accedere solo dalla propria regione.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
      {
      "name": "ENDPOINT_NAME",
      "IPAddress": "ADDRESS_URI",
      "target": "SERVICE_ATTACHMENT",
      "network": "NETWORK_URI",
      "serviceDirectoryRegistrations": [
      {
      "namespace": "NAMESPACE"
      }
      ]
      }
    • Crea un endpoint a cui è possibile accedere da qualsiasi regione.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
      {
      "name": "ENDPOINT_NAME",
      "IPAddress": "ADDRESS_URI",
      "target": "SERVICE_ATTACHMENT",
      "network": "NETWORK_URI",
      "allowPscGlobalAccess": true,
      "serviceDirectoryRegistrations": [
      {
      "namespace": "NAMESPACE"
      }
      ]
      }
      Sostituisci quanto segue:
    • PROJECT_ID: il tuo ID progetto.
    • REGION: la regione dell'endpoint.
    • ENDPOINT_NAME: il nome da assegnare all'endpoint.
    • ADDRESS_URI: l'URI dell'indirizzo riservato sulla rete associata.
    • SERVICE_ATTACHMENT: l'URI del collegamento al servizio del producer di servizi. Ad esempio:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
    • NETWORK_URI: la rete VPC per l'endpoint. Utilizza il metodo network.list o gcloud compute networks list --uri per trovare l'URI della tua rete.
    • NAMESPACE: lo spazio dei nomi per l'endpoint. Se specifichi uno spazio dei nomi inesistente, questo viene creato. Se ometti il campo namespace, viene assegnato lo spazio dei nomi predefinito di goog-psc-default.

Gli amministratori dei progetti di servizio possono creare endpoint nei progetti di servizio VPC condiviso che utilizzano indirizzi IP provenienti da reti VPC condiviso connesse. La creazione di endpoint di questo tipo non è disponibile nella console Google Cloud . Devi utilizzare Google Cloud CLI o inviare una richiesta API. Per saperne di più, consulta VPC condiviso.

Questo esempio mostra come creare un endpoint con un indirizzo IP da una rete VPC condiviso a cui è possibile accedere da una singola regione. Per attivare l'accesso globale o scegliere uno spazio dei nomi per Service Directory, consulta la sezione Creare un endpoint.

gcloud

  1. Riserva un indirizzo IP interno da assegnare all'endpoint. Crea la risorsa di indirizzo nel progetto di servizio, specificando una subnet nel progetto host.
    L'indirizzo IP deve trovarsi nella stessa regione dell'allegato di servizio del producer di servizi.
    gcloud compute addresses create ADDRESS_NAME \
    --region=REGION \
    --subnet=projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET \
    --ip-version=IP_VERSION
    Sostituisci quanto segue:
    • ADDRESS_NAME: il nome da assegnare all'indirizzo IP riservato.
    • REGION: la regione per l'indirizzo IP dell'endpoint. Deve essere la stessa regione che contiene il collegamento al servizio del producer di servizi.
    • HOST_PROJECT: l'ID progetto del progetto host.
    • HOST_SUBNET: il nome della subnet del progetto host che fornisce l'indirizzo IP dell'endpoint.
    • IP_VERSION: la versione IP dell'indirizzo IP, che può essere IPV4 o IPV6. IPV4 è il valore predefinito. Per specificare IPV6, l'indirizzo IP deve essere connesso a una subnet con un intervallo di indirizzi IPv6 interni.
  2. Per creare l'endpoint nel progetto di servizio, esegui una delle seguenti operazioni:
    • Se disponi dell'autorizzazione per utilizzare tutte le subnet nel progetto host, utilizza il seguente comando:
      gcloud compute forwarding-rules create ENDPOINT_NAME \
      --region=REGION \
      --network=projects/HOST_PROJECT/global/networks/HOST_NETWORK \
      --address=projects/SERVICE_PROJECT/regions/REGION/addresses/ADDRESS_NAME \
      --target-service-attachment=SERVICE_ATTACHMENT
      Sostituisci quanto segue:
      * ENDPOINT_NAME: il nome da assegnare all'endpoint.
      * REGION: la regione per l'endpoint. Deve essere la stessa regione che contiene il collegamento del producer di servizi.
      * HOST_PROJECT: l'ID progetto del progetto della rete VPC condiviso.
      * HOST_NETWORK: il nome della rete VPC condiviso che contiene l'indirizzo IP dell'endpoint.
      * SERVICE_PROJECT: l'ID del progetto di servizio.
      * ADDRESS_NAME: il nome dell'indirizzo IP riservato.
      * SERVICE_ATTACHMENT: l'URI del collegamento al servizio del produttore del servizio. Ad esempio:projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
    • Se hai l'autorizzazione per utilizzare solo alcune subnet nel progetto host, specifica una subnet condivisa utilizzando il seguente comando:
      gcloud compute forwarding-rules create ENDPOINT_NAME \
      --region=REGION \
      --subnet=projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET \
      --address=projects/SERVICE_PROJECT/regions/REGION/addresses/ADDRESS_NAME \
      --target-service-attachment=SERVICE_ATTACHMENT
      Sostituisci HOST_SUBNET con il nome della subnet che contiene l'indirizzo IP dell'endpoint.

API

  1. Riserva un indirizzo IP interno da assegnare all'endpoint. Crea la risorsa di indirizzo nel progetto di servizio, specificando una subnet nel progetto host.
    POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT/regions/REGION/addresses
    {
    "name": "ADDRESS_NAME",
    "addressType": "INTERNAL",
    "subnetwork": "projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET",
    "ipVersion": "IP_VERSION"
    }
    Sostituisci quanto segue:
    • SERVICE_PROJECT: l'ID del progetto di servizio.
    • REGION: la regione per l'endpoint. Deve essere la stessa regione che contiene l'allegato di servizio del producer di servizi.
    • ADDRESS_NAME: il nome da assegnare all'indirizzo IP riservato.
    • HOST_PROJECT: l'ID del progetto host.
    • HOST_SUBNET: la subnet nel progetto host.
    • IP_VERSION: la versione IP dell'indirizzo IP, che può essere IPV4 o IPV6. IPV4 è il valore predefinito. Per specificare IPV6, l'indirizzo IP deve essere connesso a una subnet con un intervallo di indirizzi IPv6 interni.
  2. Per creare l'endpoint nel progetto di servizio, esegui una delle seguenti operazioni:
    • Se disponi dell'autorizzazione per utilizzare tutte le subnet nel progetto host, effettua la seguente richiesta:
      POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT/regions/REGION/forwardingRules
      {
      "name": "ENDPOINT_NAME",
      "IPAddress": "projects/SERVICE_PROJECT/regions/REGION/addresses/ADDRESS_NAME",
      "target": "SERVICE_ATTACHMENT",
      "network": "projects/HOST_PROJECT/global/networks/HOST_NETWORK"
      }
      Sostituisci quanto segue:
      * SERVICE_PROJECT: l'ID progetto del servizio.
      * REGION: la regione per l'endpoint. Deve essere la stessa regione che contiene il collegamento del producer di servizi.
      * ENDPOINT_NAME: il nome da assegnare all'endpoint.
      * SERVICE_PROJECT: l'ID del progetto di servizio.
      * ADDRESS_NAME: il nome dell'indirizzo IP riservato.
      * SERVICE_ATTACHMENT: l'URI del collegamento al servizio del produttore del servizio. Ad esempio:projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
      * HOST_PROJECT: l'ID del progetto host.
      * HOST_NETWORK: il nome della rete VPC condiviso che contiene l'indirizzo IP dell'endpoint.
    • Se hai l'autorizzazione a utilizzare solo alcune subnet nel progetto host, specifica una subnet condivisa effettuando la seguente richiesta:
      POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT/regions/REGION/forwardingRules
      {
      "name": "ENDPOINT_NAME",
      "IPAddress": "projects/SERVICE_PROJECT/regions/REGION/addresses/ADDRESS_NAME",
      "target": "SERVICE_ATTACHMENT",
      "subnetwork": "projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET"
      }
      Sostituisci HOST_SUBNET con il nome della subnet che contiene l'indirizzo IP dell'endpoint.

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.
    Vengono visualizzati gli endpoint.

gcloud

gcloud compute forwarding-rules list
--filter 'target~serviceAttachments'

L'output è simile al seguente:

NAME REGION IP_ADDRESS IP_PROTOCOL TARGET RULE IP TCP REGION/serviceAttachments/SERVICE_NAME

API

Questa chiamata API restituisce tutte le regole di forwarding, non solo gli endpoint utilizzati per accedere ai servizi.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules

Sostituisci quanto segue:

Visualizza dettagli endpoint

Puoi visualizzare tutti i dettagli di configurazione di un endpoint, inclusi lo stato della connessionee l'URI dell'endpoint.

Per trovare l'URI basato sull'ID di un endpoint Private Service Connect, utilizza Google Cloud CLI o invia una richiesta API. L'URI basato sull'ID viene visualizzato nel campo selfLinkWithId. Il produttore del servizio potrebbe aver bisogno di questo URI se l'elenco di accettazione dei consumer del collegamento del servizio è configurato per accettare i consumer in base ai singoli endpoint Private Service Connect.

Console

  1. Nella console Google Cloud , vai alla pagina Private Service Connect.
    Vai a Private Service Connect
  2. Fai clic sulla scheda Endpoint connessi.
  3. Fai clic sull'endpoint che vuoi visualizzare.

gcloud

gcloud compute forwarding-rules describe
ENDPOINT_NAME --region=REGION

Sostituisci quanto segue:

API

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME

Sostituisci quanto segue:

Etichettare un endpoint

Puoi gestire le etichette per gli endpoint. Per istruzioni dettagliate, consulta Etichettatura delle risorse.

Eliminazione di un endpoint

Puoi eliminare un endpoint.

Tuttavia, le seguenti configurazioni di Service Directory _non_vengono eliminate quando elimini l'endpoint:

Lo spazio dei nomi di Service Directory e la zona DNS di Service Directory possono essere utilizzati da altri servizi. Verifica che lo spazio dei nomi sia vuoto prima di eliminarlo o eliminare la zona DNS di Service Directory.

Console

  1. Nella console Google Cloud , vai alla pagina Private Service Connect.
    Vai a Private Service Connect
  2. Fai clic sulla scheda Endpoint connessi.
  3. Seleziona l'endpoint che vuoi eliminare, quindi fai clic su Elimina.

gcloud

gcloud compute forwarding-rules delete ENDPOINT_NAME
--region=REGION

Sostituisci quanto segue:

API

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME

Sostituisci quanto segue:

Accedere agli endpoint dalle reti ibride

I client nelle reti connesse a Google Cloud con collegamenti VLAN per Cloud Interconnect o tunnel Cloud VPN possono raggiungere gli endpoint Private Service Connect.

Se vuoi accedere all'endpoint utilizzando il relativo nome DNS, devi configurare i sistemi nell'altra rete in modo che possano eseguire query sulle tue zone DNS private.

Se hai implementato le zone DNS private utilizzando Cloud DNS, completa i seguenti passaggi:

Visualizza le zone DNS di Service Directory

Se i prerequisiti per laconfigurazione automatica del DNSsono soddisfatti, viene creata una zona DNS con un nome nel formatoNAMESPACE--REGION.

Console

  1. Nella console Google Cloud , vai alla pagina delle zone Cloud DNS.
    Vai alle zone Cloud DNS
  2. Cerca una zona privata con il nomeNAMESPACE--REGION.

gcloud

Se la zona non è presente, visualizza i dettagli dell'endpoint e controlla se la configurazione dell'endpoint include un valore per lo spazio dei nomi.

Altri modi per configurare il DNS

Se i prerequisiti per la configurazione automatica del DNS non sono soddisfatti, puoi creare voci DNS in altri modi:

Configura una zona DNS di Service Directory

Se un endpoint è registrato in Service Directory, ma il servizio pubblicato a cui si connette non ha un nome di dominio configurato, non vengono apportate modifiche al DNS.

Se vuoi replicare laconfigurazione DNS automatica, puoi configurare manualmente una zona DNS di Service Directory supportata dallo spazio dei nomi di Service Directory. Dopo la creazione della zona, le voci DNS per l'endpoint vengono create automaticamente.

Crea una zona DNS di Service Directory con la seguente configurazione:

Visualizza i dettagli dell'endpointper trovare lo spazio dei nomi e la regione di Service Directory.

Con questa configurazione, se hai configurato una zona DNS di Service Directory con il nome DNS us-west1.p.example.com e crei un endpoint con il nome analytics, viene creato automaticamente un record DNS per analytics.us-west1.p.example.com.

Registra un endpoint con Service Directory

I nuovi endpoint vengono registrati automaticamente in Service Directory. Tuttavia, se un endpoint è stato creato prima dell'attivazione della registrazione automatica in Service Directory, questa configurazione potrebbe non essere presente.

Puoi eliminare l'endpoint e crearne uno nuovo, che viene registrato automaticamente in Service Directory.

In alternativa, puoi seguire questi passaggi per registrare un endpoint esistente con uno spazio dei nomi Service Directory.

  1. Crea uno spazio dei nomi Service Directoryper l'endpoint, NAMESPACE.
  2. Crea un servizio Service Directory per l'endpoint SERVICE_NAME.
    Per il servizio, utilizza lo stesso nome della regola di forwarding utilizzata per l'endpoint,ENDPOINT_NAME.
  3. Crea un endpoint Service Directory utilizzando il nome default e l'indirizzo IP e la porta (443) dell'endpoint.

Dopo aver registrato l'endpoint con Service Directory, segui le istruzioni per configurare una zona DNS di Service Directory.

Configurare manualmente il DNS

Se hai impedito la configurazione DNS automatica o se non è abilitata nella tua configurazione, puoi utilizzare Cloud DNS per creare manualmente i record DNS.

Per saperne di più, consulta le pagine seguenti:

Problemi noti

I backend non integri ricevono traffico con endpoint di accesso globali

È possibile connettere un endpoint con accesso globale a un servizio pubblicato che non è configurato per l'accesso globale. Tuttavia, i controlli di integrità non funzionano correttamente in questa configurazione. Di conseguenza, il traffico potrebbe essere inviato a backend non integri e ignorato.

Abilita l'accesso globale per un endpoint solo se sai che il bilanciatore del carico dell'allegato del servizio è configurato per l'accesso globale.

Se il tuo endpoint è interessato da questo problema, esegui una delle seguenti operazioni:

La disattivazione dell'accesso globale per un endpoint non interrompe il traffico di rete per i carichi di lavoro nella stessa regione dell'endpoint. Tuttavia, dopo la disattivazione dell'accesso globale, i client di altre regioni non possono accedere all'endpoint.

Risoluzione dei problemi

La creazione della zona DNS privata non va a buon fine

Quando crei un endpoint, viene creata una zona DNS di Service Directory. La creazione della zona può non riuscire per i seguenti motivi:

Per creare manualmente la zona DNS di Service Directory, segui questi passaggi:

  1. Verifica che l'API Cloud DNS siaabilitata nel tuo progetto.
  2. Verifica di disporre delle autorizzazioni necessarie per creare la zona DNS di Service Directory:
    • dns.managedZones.create
    • dns.networks.bindPrivateDNSZone
    • servicedirectory.namespaces.associatePrivateZone
  3. Se esiste una zona in conflitto, ma non è più necessaria, elimina la zona DNS.
  4. Crea una zona DNS di Service Directory supportata dallo spazio dei nomi di Service Directory associato al tuo endpoint.

Lo stato della connessione dell'endpoint è in attesa

Uno stato di connessione PENDING in genere indica che l'allegato del servizio del produttore ha ricevuto la tua richiesta di connessione, ma la connessione non è ancora stata accettata. Un endpoint con lo stato di connessione PENDING deve passare a ACCEPTED prima che il traffico possa fluire tra la tua rete VPC e il servizio pubblicato.

Le cause comuni dello stato PENDING includono:

La creazione dell'endpoint non riesce quando è configurato l'accesso globale

Non tutti i servizi pubblicati di Private Service Connect supportano endpoint con accesso globale. Se crei un endpoint con accesso globale e il servizio pubblicato non lo supporta, viene visualizzato questo messaggio di errore:

Private Service Connect global access is not supported for the given forwarding rule, since its producer service does not support consumer global access.

Crea l'endpoint senza l'opzione di accesso globale.

La creazione dell'endpoint è riuscita, ma la connettività non è stabilita

Se crei correttamente un endpoint per i servizi pubblicati, ma la connettività non viene stabilita, controlla lo stato della connessione dell'endpoint. Lo stato della connessione potrebbe indicare i passaggi da seguire per risolvere il problema.

Lo stato della connessione dell'endpoint è accettato, ma il traffico non viene trasmesso

Se un endpoint ha lo stato della connessione ACCEPTED, ma il traffico non può raggiungere il servizio pubblicato, il producer di servizi potrebbe aver aggiornato di recente il servizio di destinazione del collegamento al servizio. Durante un aggiornamento del servizio di destinazione, il traffico viene interrotto brevemente. Per informazioni sugli aggiornamenti recenti o in corso del servizio di destinazione o per verificare lo stato del servizio, contatta il producer di servizi.

Errori di connessione propagati

Per informazioni sulla risoluzione dei problemi relativi alle connessioni propagate, consulta Risolvere gli errori di propagazione della connessione Private Service Connect.

L'endpoint presenta problemi di prestazioni o timeout di connessione

Se l'endpoint presenta problemi di rendimento o timeout di connessione intermittenti, potrebbe essere dovuto a pacchetti eliminati. Puoi esaminare i pacchetti eliminati controllando le metriche descritte nelle sezioni seguenti.

Pacchetti persi nel servizio pubblicato

La metrica private_service_connect/consumer/dropped_sent_packets_countmonitora i pacchetti di un consumer Private Service Connect, ad esempio un endpoint a un servizio pubblicato, che vengono eliminati perché l'endpoint ha superato il numero di connessioni massimeal servizio.

Se un endpoint segnala valori per questa metrica, valuta le seguenti soluzioni:

Pacchetti eliminati dai servizi pubblicati

La metricaprivate_service_connect/consumer/dropped_received_packets_countmonitora i pacchetti inviati da un servizio pubblicato a un consumer Private Service Connect, ad esempio un endpoint, che vengono ignorati perché Private Service Connect non riesce a trovare una connessione corrispondente per i pacchetti di risposta.

Private Service Connect consente solo le connessioni avviate dalla rete VPC consumer. Quando un consumer avvia una connessione, questa viene monitorata per abbinare i pacchetti di risposta del servizio pubblicato a una connessione esistente. Se Private Service Connect non riesce a trovare una corrispondenza per un pacchetto di risposta, il pacchetto viene eliminato.

Private Service Connect potrebbe non trovare una corrispondenza per un pacchetto di risposta se un servizio pubblicato invia pacchetti di risposta dopo il timeout di una connessione. Se visualizzi valori per questa metrica, contatta il producer di servizi. Potrebbero essere in grado diconfigurare il proprio servizio per evitare questo problema.