Accedi ai servizi gestiti utilizzando Private Service Connect
Private Service Connect ti consente di connetterti ai producer di servizi utilizzando endpoint con indirizzi IP interni nella tua rete VPC.
Questo documento spiega come utilizzare gli endpoint Private Service Connect per connettersi ai servizi gestiti supportati in un'altra rete VPC. Puoi connetterti ai tuoi servizi o a quelli forniti da altri produttori di servizi. Per ulteriori informazioni, consulta la pagina relativa alla pubblicazione di servizi gestiti.
Ruoli
Il seguente ruolo IAM fornisce le autorizzazioni necessarie per eseguire le attività di questa guida.
Attività | Ruoli |
---|---|
Crea un endpoint Private Service Connect |
Entrambi i ruoli sono: Amministratore di rete Compute ( roles/compute.networkAdmin ) e
Editor Service Directory ( roles/servicedirectory.editor )
|
Configura automaticamente o manualmente le voci DNS per un endpoint Private Service Connect |
Amministratore DNS
(roles/dns.admin )
|
Prima di iniziare
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.
Le regole firewall in uscita devono consentire il traffico all'indirizzo IP interno dell'endpoint di Private Service Connect. La regola firewall consentito in uscita consente 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 criteri firewall gerarchici che modificano il comportamento in uscita implicito, l'accesso all'endpoint potrebbe essere interessato. Creare un criterio o una regola di firewall in uscita per consentire il traffico verso la destinazione dell'indirizzo IP interno dell'endpoint di servizio.
Devi avere l'URI del collegamento del servizio per il servizio. Ad esempio,
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Limitazioni
Non puoi creare un endpoint Private Service Connect nella stessa rete VPC del servizio pubblicato a cui accedi.
Gli endpoint Private Service Connect non sono accessibili dalle reti VPC in peering.
Mirroring pacchetto non può eseguire il mirroring dei pacchetti per il traffico dei servizi pubblicati di Private Service Connect.
Configurazione DNS automatica
Se sono presenti le seguenti configurazioni, le voci DNS vengono create automaticamente per gli endpoint Private Service Connect:
Il producer di servizi ha configurato un nome di dominio per il servizio.
L'endpoint Private Service Connect è registrato con uno spazio dei nomi di Service Directory.
Tutti i nuovi endpoint vengono registrati automaticamente con Service Directory, ma gli endpoint meno recenti potrebbero non essere registrati.
Se sono presenti entrambe le configurazioni, quando viene creato l'endpoint di Private Service Connect, viene creata una zona DNS di Service Directory con il nome: NAMESPACE--REGION
.
Questa zona privata archivia le voci DNS per i servizi trovati nello spazio dei nomi Service Directory NAMESPACE
, nella regione REGION
.
Dopo aver creato l'endpoint Private Service Connect, puoi verificare se viene creata una zona DNS di Service Directory. Se la zona DNS di Service Directory non viene creata, puoi crearne manualmente una configurazione simile. Per ulteriori informazioni, consulta Visualizzare le zone DNS di Service Directory.
Se non vuoi che vengano create queste voci DNS, esegui una delle seguenti operazioni:
Se non utilizzi Cloud DNS per un altro scopo, disattiva l'API Cloud DNS o rimuovi le autorizzazioni necessarie per Cloud DNS.
Attendi la creazione della zona DNS, quindi Elimina la zona DNS manualmente.
Se vuoi configurare manualmente il DNS, consulta la pagina Configurare manualmente il DNS.
Crea un endpoint Private Service Connect
Un endpoint Private Service Connect si connette ai servizi in un'altra rete VPC utilizzando una regola di forwarding di 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 utilizzi Private Service Connect per connetterti ai servizi in un'altra rete VPC, devi scegliere un indirizzo IP da una subnet nella rete VPC.
L'indirizzo IP deve trovarsi nella stessa regione dell'allegato del servizio del producer di servizi. L'indirizzo IP viene conteggiato ai fini della quota del progetto per gli indirizzi IP interni.
Quando crei un endpoint di Private Service Connect, viene registrato automaticamente con Service Directory, utilizzando uno spazio dei nomi scelto da te, o lo spazio dei nomi predefinito, goog-psc-default
.
Console
Nella console Google Cloud, vai a Private Service Connect.
Fai clic sulla scheda Endpoint connessi.
Fai clic su Connetti endpoint.
In Destinazione, seleziona Servizio pubblicato.
In Servizio di destinazione, inserisci l'URI del collegamento del servizio a cui vuoi connetterti.
L'URI dell'allegato del servizio è nel seguente formato:
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
In Nome endpoint, inserisci un nome da utilizzare per l'endpoint.
Seleziona una rete per l'endpoint.
Seleziona una subnet per l'endpoint.
Seleziona un indirizzo IP per l'endpoint. Se hai bisogno di un nuovo indirizzo IP, puoi crearne uno:
- Fai clic sul menu a discesa Indirizzo IP e seleziona Crea indirizzo IP.
- Inserisci i valori Nome e Descrizione (facoltativo) dell'indirizzo IP.
In Indirizzo IP statico, seleziona Assegna automaticamente o Fammi scegliere.
Se hai selezionato Fammi scegliere, inserisci un indirizzo IP personalizzato da utilizzare.
Fai clic su Prenota.
Seleziona uno spazio dei nomi dall'elenco a discesa o crea un nuovo spazio dei nomi.
L'area geografica viene compilata in base alla subnet selezionata.
Fai clic su Aggiungi endpoint.
gcloud
Prenota un indirizzo IP interno da assegnare all'endpoint.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=SUBNET
Sostituisci quanto segue:
ADDRESS_NAME
: il nome da assegnare all'indirizzo IP prenotato.REGION
: la regione relativa all'indirizzo IP dell'endpoint. Deve essere la stessa regione contenente il collegamento al servizio del producer di servizi.SUBNET
: il nome della subnet per l'indirizzo IP dell'endpoint.
Trova l'indirizzo IP prenotato.
gcloud compute addresses list --filter="name=ADDRESS_NAME"
Creare una regola di forwarding per connettere l'endpoint al collegamento del servizio del producer di servizi.
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 ]
Sostituisci quanto segue:
ENDPOINT_NAME
: il nome da assegnare all'endpoint.REGION
: la regione dell'endpoint. Deve essere la stessa regione contenente il collegamento al servizio del producer di servizi.NETWORK_NAME
: il nome della rete VPC per l'endpoint.ADDRESS_NAME
: il nome dell'indirizzo prenotato.SERVICE_ATTACHMENT
: URI dell'allegato del servizio del producer di servizi. Ad esempio:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
PROJECT_ID
: l'ID del tuo progetto.NAMESPACE
: lo spazio dei nomi di Service Directory che vuoi utilizzare. Se specifichi uno spazio dei nomi che non esiste, viene creato uno spazio dei nomi.Se ometti il flag
--service-directory-registration
, viene utilizzato lo spazio dei nomi predefinito digoog-psc-default
.
API
Prenota un indirizzo IP interno da assegnare all'endpoint.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/region/REGION/addresses { "name": ADDRESS_NAME, "addressType": "INTERNAL", "subnetwork": SUBNET_URI }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto.ADDRESS_NAME
: il nome da assegnare all'indirizzo IP prenotato.SUBNET_URI
: la subnet per l'indirizzo IP. Usa il metodo subnetworks.list ogcloud compute networks subnets list --uri
per trovare gli URL delle tue reti.
Creare una regola di forwarding per connettere l'endpoint alle API e ai servizi Google.
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, } ], }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto.REGION
: la regione dell'endpoint.ENDPOINT_NAME
: il nome da assegnare all'endpoint.ADDRESS_URI
: URI dell'indirizzo prenotato sulla rete associata. Utilizza il metodo address.list ogcloud compute addresses list --uri
per trovare l'URL dell'indirizzo prenotato.SERVICE_ATTACHMENT
: URI dell'allegato del 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 ogcloud 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 che non esiste, viene creato questo spazio. Se ometti il camponamespace
, viene assegnato lo spazio dei nomi predefinitogoog-psc-default
.
Visualizza 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
Nella console Google Cloud, vai alla pagina Zone DNS di Cloud.
Cerca una zona privata con il nome
NAMESPACE--REGION
.
gcloud
Esegui il comando seguente 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 denominata
NAMESPACE--REGION
.gcloud dns managed-zones describe NAMESPACE--REGION
Se la zona non è presente, visualizza i dettagli dell'endpoint Private Service Connect e controlla se la configurazione dell'endpoint include un valore per lo spazio dei nomi.
Se l'endpoint ha una configurazione dello spazio dei nomi, vedi Configurare una zona DNS di Service Directory.
Se l'endpoint non ha una configurazione dello spazio dei nomi, consulta la sezione Registrare un endpoint di Private Service Connect con Service Directory.
Elenco endpoint
Puoi elencare tutti gli endpoint Private Service Connect configurati.
Console
Nella console Google Cloud, vai alla pagina Private Service Connect.
Fai clic sulla scheda Endpoint connessi.
Vengono visualizzati gli endpoint Private Service Connect.
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 Private Service Connect utilizzati per accedere ai servizi.
GET https://compute.googleapis.com/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 Private Service Connect.
L'endpoint può avere uno dei seguenti stati:
In attesa: l'endpoint è configurato per connettersi a un servizio che richiede approvazione e l'approvazione non è stata ancora assegnata a questo progetto.
Accettato: l'endpoint è in un progetto approvato per la connessione al servizio.
Rifiutato: l'endpoint è in un progetto la cui connessione al servizio non è consentita.
Chiuso: l'endpoint è connesso a un collegamento a un servizio che è stato eliminato.
Console
Nella console Google Cloud, vai alla pagina Private Service Connect.
Fai clic sulla scheda Endpoint connessi.
Fai clic sull'endpoint da 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.googleapis.com/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 Private Service Connect. Per ulteriori informazioni, consulta la sezione etichettare le risorse.
Eliminazione di un endpoint
Puoi eliminare un endpoint Private Service Connect.
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 di 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 di eliminare la zona DNS di Service Directory.
Console
Nella console Google Cloud, vai a Private Service Connect.
Fai clic sulla scheda Endpoint connessi.
Seleziona l'endpoint Private Service Connect 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.googleapis.com/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.
Altri modi per configurare il DNS
Se i prerequisiti per la configurazione DNS automatica non sono soddisfatti, puoi creare voci DNS in altri modi:
Se nell'endpoint è stato configurato uno spazio dei nomi, vedi Configurare una zona DNS di Service Directory.
Se nell'endpoint non è configurato uno spazio dei nomi, consulta la sezione Registrare un endpoint di Private Service Connect con Service Directory.
Se preferisci configurare manualmente il DNS, consulta la pagina Configurare manualmente il DNS.
Configura una zona DNS di Service Directory
Se un endpoint Private Service Connect è registrato con Service Directory, ma il servizio pubblicato a cui si connette non ha un nome di dominio configurato, non vengono apportate modifiche DNS.
Se vuoi replicare la configurazione DNS automatica, puoi configurare manualmente una zona DNS di Service Directory supportata dallo spazio dei nomi Service Directory. Dopo la creazione della zona, vengono create automaticamente le voci DNS per l'endpoint Private Service Connect.
Crea una zona DNS di Service Directory con la seguente configurazione:
Nome zona: specifica
NAMESPACE--REGION
, doveNAMESPACE
è lo spazio dei nomi in cui è registrato l'endpoint Private Service Connect eREGION
è la regione in cui viene creato l'endpoint.Nome DNS: il dominio DNS utilizzato dal producer di servizi per i servizi pubblicati. Per informazioni su questo aspetto, rivolgiti al produttore.
Il nome DNS potrebbe avere il formato
REGION.p.DOMAIN
. Ad esempio, se il dominio pubblico del producer di servizi èexample.com
e il servizio pubblicato è inus-west1
, consigliamo di renderlo disponibile utilizzando i nomi di dominio dius-west1.p.example.com
. Includi un punto finale, ad esempious-west1.p.example.com.
.Spazio dei nomi Service Directory: lo spazio dei nomi che hai configurato per questo endpoint.
Visualizza i dettagli dell'endpoint di Private Service Connect 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 Private Service Connect con il nome analytics
, viene creato automaticamente un record DNS per analytics.us-west1.p.example.com
.
Registra un endpoint Private Service Connect con Service Directory
I nuovi endpoint Private Service Connect vengono registrati automaticamente con Service Directory. Tuttavia, se è stato creato un endpoint Private Service Connect prima dell'abilitazione della registrazione automatica con Service Directory, questa configurazione potrebbe non essere disponibile.
Puoi eliminare l'endpoint di Private Service Connect e crearne uno nuovo, che viene registrato automaticamente con Service Directory.
In alternativa, puoi seguire questi passaggi per registrare un endpoint di Private Service Connect esistente con uno spazio dei nomi di Service Directory.
Crea uno spazio dei nomi di Service Directory per l'endpoint Private Service Connect
NAMESPACE
.Crea un servizio Service Directory per l'endpoint Private Service Connect
SERVICE_NAME
.Per il servizio, utilizza lo stesso nome di quello della regola di forwarding utilizzata per l'endpoint di Private Service Connect,
ENDPOINT_NAME
.Crea un endpoint di Service Directory, utilizzando il nome
default
e utilizza l'indirizzo IP e la porta (443
) dell'endpoint di Private Service Connect.
Dopo aver registrato l'endpoint Private Service Connect con Service Directory, segui le istruzioni per configurare una zona DNS di Service Directory.
Configura DNS manualmente
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 record e zone DNS.-
Quando configuri una zona privata, devi fornire un nome DNS. Utilizza il dominio DNS utilizzato dal producer di servizi per i servizi pubblicati. Per informazioni, chiedi al producer di servizi.
Potrebbe avere il seguente formato:
REGION.p.DOMAIN
. Ad esempio, se il dominio pubblico del producer di servizi èexample.com
e il servizio pubblicato è inus-west1
, consigliamo di renderlo disponibile utilizzando i nomi di dominio dius-west1.p.example.com
.
Logging
Puoi abilitare i log di flusso VPC sulle subnet contenenti VM che accedono ai servizi in un'altra rete VPC utilizzando gli endpoint Private Service Connect. I log mostrano i flussi tra le VM e l'endpoint Private Service Connect.
Puoi visualizzare le modifiche apportate allo stato della connessione per gli endpoint Private Service Connect utilizzando i log di controllo. Le modifiche allo stato della connessione per l'endpoint vengono acquisite nei metadati degli eventi di sistema per la regola di forwarding GCE del tipo di risorsa. Puoi filtrare
pscConnectionStatus
per visualizzare queste voci.Ad esempio, quando un producer di servizi consente le connessioni dal tuo progetto, lo stato della connessione dell'endpoint passa da
PENDING
aACCEPTED
e questa modifica si riflette negli audit log.- Per visualizzare i log di controllo, vedi Visualizzare i log.
- Per impostare gli avvisi basati su audit log, consulta Gestire gli avvisi basati su log.
Accedi all'endpoint dagli host on-premise
I client in reti connesse a Google Cloud con collegamenti VLAN per i tunnel Cloud Interconnect (anteprima) o Cloud VPN possono raggiungere gli endpoint Private Service Connect.
Il collegamento VLAN o il tunnel Cloud VPN deve terminare nella stessa rete VPC e nella stessa regione dell'endpoint Private Service Connect.
Il traffico client dalle reti connesse agli endpoint Private Service Connect non è supportato sulle reti VPC in peering o oltre i confini regionali.
Il collegamento VLAN o il tunnel Cloud VPN e l'endpoint Private Service Connect possono trovarsi in progetti diversi se utilizzano un VPC condiviso.
I collegamenti VLAN devono avere
dataplaneVersion: 2
. Controlla il collegamento VLAN per controllare in quale versione è installata.
Se vuoi accedere all'endpoint di Private Service Connect utilizzando il suo nome DNS, devi configurare i sistemi on-premise in modo che possano eseguire query nelle 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 la rete on-premise.
Identifica i punti di ingresso in uscita nelle regioni in cui si trovano i tunnel Cloud VPN, nella rete VPC a cui si connette la rete on-premise.
Configurare sistemi on-premise e server dei nomi DNS on-premise per inoltrare i nomi DNS per gli endpoint Private Service Connect a un punto di ingresso di forwarding in entrata nella stessa regione del tunnel Cloud VPN che si connette alla rete VPC.
Controlli di servizio VPC
Controlli di servizio VPC e Private Service Connect sono compatibili tra loro. Se la rete VPC in cui viene eseguito il deployment dell'endpoint Private Service Connect si trova in un perimetro Controlli di servizio VPC, l'endpoint Private Service Connect fa parte dello stesso perimetro. Tutti i servizi VPC di Controlli di servizio a cui si accede tramite l'endpoint Private Service Connect sono soggetti ai criteri del perimetro di Controlli di servizio VPC.
Quando crei un endpoint Private Service Connect, vengono effettuate chiamate API del piano di controllo tra i progetti consumer e produttore per stabilire una connessione Private Service Connect. Stabilendo una connessione Private Service Connect tra progetti consumer e producer che non si trovano nello stesso perimetro dei Controlli di servizio VPC non è necessaria un'autorizzazione esplicita con i criteri in uscita. La comunicazione con i servizi di Controlli di servizio VPC tramite l'endpoint Private Service Connect è protetta dal perimetro dei Controlli di servizio VPC.
Risolvere i problemi
Creazione della zona DNS privata non riuscita
Quando crei un endpoint Private Service Connect, 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 hai le autorizzazioni necessarie per creare una zona DNS di Service Directory.
In questa rete VPC esiste una zona DNS con lo stesso nome di zona.
Esiste già una zona DNS con lo stesso nome di dominio in questa rete VPC.
Per creare manualmente la zona DNS di Service Directory, segui questi passaggi:
Verifica che l'API Cloud DNS sia abilitata nel progetto.
Assicurati di disporre delle autorizzazioni necessarie per creare la zona DNS di Service Directory:
dns.managedZones.create
dns.networks.bindPrivateDNSZone
servicedirectory.namespaces.associatePrivateZone
Se esiste una zona in conflitto, ma non è più necessaria, elimina la zona DNS.
Crea una zona DNS di Service Directory supportata dallo spazio dei nomi Service Directory associato al tuo endpoint Private Service Connect.