Accedere ai servizi pubblicati tramite endpoint

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 ulteriori informazioni sui servizi, vedi Pubblicare servizi gestiti.

Prima di iniziare

  • Leggi Informazioni sulla connessione ai servizi tramite endpoint, incluse le limitazioni.
  • Devi abilitare l'API Compute Engine nel tuo progetto.
  • Devi abilitare l'API Service Directory nel tuo progetto.
  • Devi abilitare l'API Cloud DNS nel tuo progetto.
  • Identifica o crea una subnet normale da utilizzare per assegnare un indirizzo IP all'endpoint.
    • La subnet deve trovarsi nella stessa regione del servizio a cui vuoi connetterti.
    • Puoi utilizzare un indirizzo IPv4 da una subnet solo IPv4 o da una subnet a doppio stack.
    • Puoi utilizzare un indirizzo IPv6 da una subnet solo IPv6 (anteprima) o a doppio stack se la subnet ha un intervallo di indirizzi IPv6 interni.
    • La versione IP dell'indirizzo IP influisce sui servizi pubblicati a cui l'endpoint può connettersi. Per saperne di più, vedi Traduzione della versione IP.
  • Le regole firewall di uscita devono consentire il traffico verso l'indirizzo IP interno dell'endpoint. La regola firewall in uscita consente implicita il traffico in uscita verso qualsiasi indirizzo IP di destinazione. Se hai creato regole firewall di negazione del traffico in uscita nella tua rete VPC o se hai creato policy firewall gerarchiche che modificano il comportamento di uscita consentito implicito, l'accesso all'endpoint potrebbe essere interessato. Crea una regola o un criterio firewall di uscita specifico per consentire il traffico verso la destinazione dell'indirizzo IP interno dell'endpoint di servizio.
  • Devi avere l'URI del collegamento al servizio per il servizio. Ad esempio, projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per accedere ai servizi pubblicati tramite endpoint, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Crea, visualizza ed elimina endpoint nel tuo progetto: Compute Network Admin (roles/compute.networkAdmin) sul tuo progetto
  • Crea, visualizza ed elimina endpoint in un progetto di servizio VPC condiviso:
  • Configura automaticamente o manualmente le voci DNS per un endpoint nel tuo progetto:
  • Configura automaticamente o manualmente le voci DNS per un endpoint in un progetto di servizio VPC condiviso:

Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

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

Autorizzazioni obbligatorie

Per accedere ai servizi pubblicati tramite endpoint sono necessarie le seguenti autorizzazioni:

  • Per creare, visualizzare ed eliminare endpoint nel tuo progetto:
    • compute.networks.use sul tuo progetto
    • compute.subnetworks.use sul tuo progetto
    • compute.addresses.createInternal sul tuo progetto
    • compute.addresses.deleteInternal sul tuo progetto
    • compute.addresses.get sul tuo progetto
    • compute.addresses.list sul tuo progetto
    • compute.addresses.use sul tuo progetto
    • compute.forwardingRules.create sul tuo progetto
    • compute.forwardingRules.delete sul tuo progetto
    • compute.forwardingRules.get sul tuo progetto
    • compute.forwardingRules.list sul tuo progetto
    • compute.forwardingRules.pscCreate sul tuo progetto
    • compute.forwardingRules.pscDelete sul tuo progetto
    • compute.regionOperations.get sul tuo progetto
    • servicedirectory.namespaces.create sul tuo progetto
    • servicedirectory.namespaces.delete sul tuo progetto
    • servicedirectory.services.create sul tuo progetto
    • servicedirectory.services.delete sul tuo progetto
  • Per creare, visualizzare ed eliminare endpoint in un progetto di servizio collegato a una rete VPC condiviso:
    • compute.addresses.createInternal sul progetto di servizio
    • compute.addresses.deleteInternal sul progetto di servizio
    • compute.addresses.get sul progetto di servizio
    • compute.addresses.list sul progetto di servizio
    • compute.addresses.use sul progetto di servizio
    • compute.forwardingRules.create sul progetto di servizio
    • compute.forwardingRules.delete sul progetto di servizio
    • compute.forwardingRules.get sul progetto di servizio
    • compute.forwardingRules.list sul progetto di servizio
    • compute.forwardingRules.pscCreate sul progetto di servizio
    • compute.forwardingRules.pscDelete sul progetto di servizio
    • compute.regionOperations.get sul progetto di servizio
    • servicedirectory.namespaces.create sul progetto di servizio
    • servicedirectory.namespaces.delete sul progetto di servizio
    • servicedirectory.services.create sul progetto di servizio
    • servicedirectory.services.delete sul progetto di servizio
    • compute.networks.use sul progetto host
    • compute.subnetworks.use sul progetto host
  • Per configurare automaticamente o manualmente le voci DNS per un endpoint nel tuo progetto:
    • dns.managedZones.create sul tuo progetto
    • dns.managedZones.delete sul tuo progetto
    • dns.networks.bindPrivateDNSZone sul tuo progetto
    • servicedirectory.namespaces.associatePrivateZone sul tuo progetto
  • Per configurare automaticamente o manualmente le voci DNS per un endpoint in una rete VPC condiviso:
    • dns.managedZones.create sul progetto di servizio
    • dns.managedZones.delete sul progetto di servizio
    • dns.networks.bindPrivateDNSZone sul progetto di servizio
    • servicedirectory.namespaces.associatePrivateZone sul progetto di servizio
  • Per accedere alla pagina Private Service Connect nella console Trusted Cloud :
    • compute.forwardingRules.list sul tuo progetto
    • compute.globalForwardingRules.list sul tuo progetto
    • compute.networkEndpointGroups.list sul tuo progetto
    • compute.regionNetworkEndpointGroups.list sul tuo progetto
    • compute.urlMaps.list sul tuo progetto
    • compute.backendService.list sul tuo progetto
    • compute.regionBackendService.list sul tuo progetto
    • compute.backendBucket.list sul tuo progetto
    • compute.targetHttpProxy.list sul tuo progetto
    • compute.targetHttpsProxy.list sul tuo progetto
    • compute.regionTargetTcpProxy.list sul tuo progetto
    • compute.targetTcpProxy.list sul tuo progetto
    • compute.targetSslProxy.list sul tuo progetto
    • compute.sslCertificate.list sul tuo progetto
    • compute.sslPolicy.list sul tuo progetto
    • compute.regionHealthCheck.list sul tuo progetto
    • compute.healthCheck.list sul tuo progetto
    • compute.httpHealthCheck.list sul tuo progetto
    • compute.httpsHealthCheck.list sul tuo progetto

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 di Private Service Connect per accedere ai servizi in un'altra rete VPC.

Quando crei un endpoint, questo viene registrato automaticamente in Service 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 creane uno nuovo.

Console

  1. Nella console Trusted 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 o Scegli.

      Se hai selezionato Fammi scegliere, inserisci l'indirizzo IP personalizzato che 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 dell'indirizzo IP dell'endpoint. Deve essere la stessa regione che contiene l'allegato del 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 specificare IPV6, l'indirizzo IP deve essere connesso a una subnet con un intervallo di indirizzi IPv6 interni.

  2. Trova l'indirizzo IP prenotato.

    gcloud compute addresses list --filter="name=ADDRESS_NAME"
    
  3. Crea una regola di forwarding per connettere l'endpoint al collegamento al servizio del produttore del servizio. 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:

    • ENDPOINT_NAME: il nome da assegnare all'endpoint.

    • REGION: la regione dell'endpoint. Deve essere la stessa regione che contiene l'allegato del servizio del producer di servizi.

    • NETWORK_NAME: il nome della rete VPC per l'endpoint.

    • ADDRESS_NAME: il nome dell'indirizzo riservato.

    • SERVICE_ATTACHMENT: l'URI del collegamento al servizio del service producer. Ad esempio: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

    • PROJECT_ID: il tuo ID progetto.

    • NAMESPACE: lo spazio dei nomi di Service Directory che vuoi utilizzare. Se specifichi uno spazio dei nomi che non esiste, lo spazio dei nomi viene creato.

      Se ometti il flag --service-directory-registration, viene utilizzato lo spazio dei nomi predefinito di goog-psc-default.

API

  1. Prenota un indirizzo IP interno da assegnare all'endpoint.

    POST https://compute.s3nsapis.fr/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 dell'endpoint. Deve essere la stessa regione che contiene l'allegato del servizio del producer 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 specificare IPV6, l'indirizzo IP deve essere connesso a una subnet con un intervallo di indirizzi IPv6 interni.

  2. Crea una regola di forwarding per connettere l'endpoint al collegamento al servizio del produttore del servizio. 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.s3nsapis.fr/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.s3nsapis.fr/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. Utilizza il metodo addresses.list o gcloud compute addresses list --uri per trovare l'URL del tuo indirizzo riservato.

    • 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.

Crea un endpoint con un indirizzo IP da una rete VPC condiviso

Gli amministratori dei progetti di servizio possono creare endpoint nei progetti di servizio VPC condiviso che utilizzano indirizzi IP delle reti VPC condiviso connesse. La creazione di endpoint di questo tipo non è disponibile nella console Trusted Cloud . Devi utilizzare Google Cloud CLI o inviare una richiesta API. Per maggiori informazioni, 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 per scegliere uno spazio dei nomi per Service Directory, consulta Creare un endpoint.

gcloud

  1. Per prenotare un indirizzo IP interno da assegnare all'endpoint, esegui una delle seguenti operazioni:

    L'indirizzo IP deve trovarsi nella stessa regione dell'allegato di servizio del producer di servizi.

  2. Per creare l'endpoint nel progetto di servizio, esegui una delle seguenti operazioni.

    • Se hai l'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/ADDRESS_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 dell'endpoint. Deve essere la stessa regione che contiene l'allegato del servizio 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.
      • ADDRESS_PROJECT: l'ID del progetto in cui hai riservato l'indirizzo IP. Può trattarsi del progetto di servizio o del progetto host.
      • ADDRESS_NAME: il nome dell'indirizzo IP riservato.
      • SERVICE_ATTACHMENT: l'URI del collegamento al servizio del service producer. Ad esempio: projects/SERVICE_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/ADDRESS_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. Per prenotare un indirizzo IP interno da assegnare all'endpoint, esegui una delle seguenti operazioni:

    L'indirizzo IP deve trovarsi nella stessa regione dell'allegato del servizio del producer di servizi.

  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/PROJECT/regions/REGION/forwardingRules
      {
        "name": "ENDPOINT_NAME",
        "IPAddress": "projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME",
        "target": "SERVICE_ATTACHMENT",
        "network": "projects/HOST_PROJECT/global/networks/HOST_NETWORK"
      }
      

      Sostituisci quanto segue:

      • PROJECT: l'ID progetto di servizio.
      • REGION: la regione dell'endpoint. Deve trovarsi nella stessa regione che contiene l'allegato di servizio del producer di servizi.
      • ENDPOINT_NAME: il nome da assegnare all'endpoint.
      • ADDRESS_PROJECT: l'ID del progetto in cui hai prenotato l'indirizzo IP. Può trattarsi del progetto di servizio o del progetto host.
      • ADDRESS_NAME: il nome dell'indirizzo IP riservato.
      • SERVICE_ATTACHMENT: l'URI del collegamento al servizio del producer di servizi. Ad esempio: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
      • 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.
    • 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/PROJECT/regions/REGION/forwardingRules
      {
        "name": "ENDPOINT_NAME",
        "IPAddress": "projects/ADDRESS_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 Trusted 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.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules

Sostituisci quanto segue:

  • PROJECT_ID: il progetto che contiene l'endpoint.
  • REGION: la regione dell'endpoint.

Visualizza dettagli endpoint

Puoi visualizzare tutti i dettagli di configurazione di un endpoint, incluso il relativo stato della connessione.

Console

  1. Nella console Trusted 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:

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

API

GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME

Sostituisci quanto segue:

  • PROJECT_ID: il progetto che contiene l'endpoint.
  • REGION: la regione dell'endpoint.
  • ENDPOINT_NAME: il nome dell'endpoint.

Etichettare un endpoint

Puoi gestire le etichette per gli endpoint. Per istruzioni dettagliate, consulta Risorse di etichettatura.

Eliminazione di un endpoint

Puoi eliminare un endpoint.

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

  • Spazio dei nomi Service Directory
  • Zona DNS di Service Directory

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

Console

  1. Nella console Trusted 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:

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

API

DELETE https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME

Sostituisci quanto segue:

  • PROJECT_ID: il progetto che contiene l'endpoint.
  • REGION: la regione dell'endpoint.
  • ENDPOINT_NAME: il nome dell'endpoint.

Accedere agli endpoint dalle reti ibride

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

  • Il collegamento VLAN o il tunnel Cloud VPN deve terminare nella stessa rete VPC (o rete VPC condiviso) dell'endpoint. I client nelle reti VPC in peering non possono raggiungere gli endpoint.

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

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

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

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

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

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

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

Visualizza le zone DNS di Service Directory

Se i prerequisiti per la configurazione DNS automatica sono soddisfatti, viene creata una zona DNS con un nome nel formato NAMESPACE--REGION.

Console

  1. Nella console Trusted Cloud , vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Cerca una zona privata con il nome NAMESPACE--REGION.

gcloud

  • Esegui questo comando per elencare tutte le zone DNS private:

    gcloud dns managed-zones list \
        --filter="visibility=private"
    
  • Esegui questo comando per ottenere i dettagli di una zona con il nome NAMESPACE--REGION.

    gcloud dns managed-zones describe NAMESPACE--REGION
    

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 la configurazione DNS automatica, puoi configurare manualmente una zona DNS di Service Directory supportata dallo spazio dei nomi di Service Directory. Dopo la creazione della zona, vengono creati automaticamente i record DNS per l'endpoint.

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

  • Nome zona: specifica NAMESPACE--REGION, dove NAMESPACE è lo spazio dei nomi a cui è registrato l'endpoint e REGION è la regione in cui viene creato l'endpoint.

  • Nome DNS: il dominio DNS utilizzato dal producer di servizi per i servizi pubblicati. Per queste informazioni, rivolgiti al producer di servizi.

    Il nome DNS potrebbe avere il formato REGION.p.DOMAIN. Ad esempio, se il dominio pubblico producer di servizi è example.com e il servizio pubblicato si trova in us-west1, ti consigliamo di rendere disponibile il servizio utilizzando i nomi di dominio us-west1.p.example.com. Includi un punto finale, ad esempio us-west1.p.example.com.

  • Spazio dei nomi Service Directory: lo spazio dei nomi che hai configurato per questo endpoint.

Visualizza i dettagli dell'endpoint per 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 con 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 Directory per 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 maggiori informazioni, consulta le seguenti pagine:

  • Controllo dell'accesso: il ruolo Amministratore DNS (roles/dns.admin) fornisce le autorizzazioni necessarie per creare zone e record DNS.

  • Crea una zona privata.

    • Quando configuri una zona privata, fornisci un nome DNS. Utilizza il dominio DNS che il producer di servizi utilizza per i servizi pubblicati. Per queste informazioni, rivolgiti al producer di servizi.

      Potrebbe avere questo formato: REGION.p.DOMAIN. Ad esempio, se il dominio pubblico producer di servizi è example.com e il servizio pubblicato si trova in us-west1, consigliamo di rendere disponibile il servizio utilizzando i nomi di dominio us-west1.p.example.com.

  • Aggiungi un record.

Problemi noti

I backend non integri ricevono traffico con accesso globale

Attiva l'accesso globale solo se sai che il bilanciatore del carico del producer di servizi è configurato per l'accesso globale. Se crei un endpoint di accesso globale per un servizio pubblicato che non utilizza l'accesso globale, il traffico potrebbe essere inviato a backend non integri ed eliminato.

Risoluzione dei problemi

La creazione della zona DNS privata non riesce.

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

  • Non hai abilitato l'API Cloud DNS nel tuo progetto.

  • Non disponi delle autorizzazioni necessarie per creare una zona DNS di Service Directory.

  • In questa rete VPC esiste una zona DNS con lo stesso nome.

  • Esiste già una zona DNS per lo stesso nome di dominio in questa rete VPC.

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

  1. Verifica che l'API Cloud DNS sia abilitata 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 Service Directory associato al tuo endpoint.

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.

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 il tuo endpoint presenta problemi di prestazioni o timeout di connessione intermittenti, potrebbe essere dovuto a pacchetti persi. Puoi analizzare i pacchetti eliminati controllando le metriche descritte nelle sezioni seguenti.

Pacchetti eliminati nel servizio pubblicato

La metrica private_service_connect/consumer/dropped_sent_packets_count monitora 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 massime al servizio.

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

  • Crea endpoint aggiuntivi che si connettono al servizio pubblicato.
  • Ridurre il numero di connessioni tramite questo endpoint.
  • Chiedi al producer di servizi di aumentare la capacità del servizio pubblicato, ad esempio aggiungendo altre istanze di macchine virtuali (VM) o endpoint di rete.

Pacchetti eliminati dai servizi pubblicati

La metrica private_service_connect/consumer/dropped_received_packets_count monitora i pacchetti inviati da un servizio pubblicato a un consumer Private Service Connect, ad esempio un endpoint, che vengono eliminati 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 di configurare il proprio servizio per evitare questo problema.