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
- Leggi Informazioni sulla connessione ai servizi tramite endpoint, incluse le limitazioni.
- Deviabilitarel'API Compute Engine nel tuo progetto.
- Deviabilitarel'API Service Directorynel 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 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 in uscita devono consentire il traffico verso l'indirizzo IP interno dell'endpoint. La regola firewall implicita per il traffico in uscita consente il traffico in uscita verso qualsiasi indirizzo IP di destinazione. Se hai creato regole firewall per il traffico in uscita nella tua rete VPC o se hai creato policy del firewall gerarchiche che modificano il comportamento implicito del traffico in uscita consentito, l'accesso all'endpoint potrebbe essere interessato. Crea una regola o una policy firewall in uscita specifica per consentire il traffico verso l'indirizzo IP interno di destinazione 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
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 tuo progetto concessi nel progetto di servizio
- Ruoli aggiuntivi richiesti per le configurazioni VPC condiviso concessi nel progetto host.
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:
- Crea, visualizza ed elimina endpoint:Compute Network Admin (
roles/compute.networkAdmin) sul tuo progetto - Configura automaticamente o manualmente le voci DNS per un endpoint:
- DNS Administrator (
roles/dns.admin) sul tuo progetto - Editor di Service Directory (
roles/servicedirectory.editor) sul tuo progetto
- DNS Administrator (
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:
- Per creare, visualizzare ed eliminare gli endpoint:
compute.networks.usesul tuo progettocompute.subnetworks.usesul tuo progettocompute.addresses.createInternalsul tuo progettocompute.addresses.deleteInternalsul tuo progettocompute.addresses.getsul tuo progettocompute.addresses.listsul tuo progettocompute.addresses.usesul tuo progettocompute.forwardingRules.createsul tuo progettocompute.forwardingRules.deletesul tuo progettocompute.forwardingRules.getsul tuo progettocompute.forwardingRules.listsul tuo progettocompute.forwardingRules.pscCreatesul tuo progettocompute.forwardingRules.pscDeletesul tuo progettocompute.regionOperations.getsul tuo progettoservicedirectory.namespaces.createsul tuo progettoservicedirectory.namespaces.deletesul tuo progettoservicedirectory.services.createsul tuo progettoservicedirectory.services.deletesul tuo progetto
- Per configurare automaticamente o manualmente le voci DNS per un endpoint:
dns.managedZones.createsul tuo progettodns.managedZones.deletesul tuo progettodns.networks.bindPrivateDNSZonesul tuo progettoservicedirectory.namespaces.associatePrivateZonesul tuo progetto
- Per accedere alla pagina Private Service Connect nella console Google Cloud :
compute.forwardingRules.listsul tuo progettocompute.globalForwardingRules.listsul tuo progettocompute.networkEndpointGroups.listsul tuo progettocompute.regionNetworkEndpointGroups.listsul tuo progettocompute.urlMaps.listsul tuo progettocompute.backendService.listsul tuo progettocompute.regionBackendService.listsul tuo progettocompute.backendBucket.listsul tuo progettocompute.targetHttpProxy.listsul tuo progettocompute.targetHttpsProxy.listsul tuo progettocompute.regionTargetTcpProxy.listsul tuo progettocompute.targetTcpProxy.listsul tuo progettocompute.targetSslProxy.listsul tuo progettocompute.sslCertificate.listsul tuo progettocompute.sslPolicy.listsul tuo progettocompute.regionHealthCheck.listsul tuo progettocompute.healthCheck.listsul tuo progettocompute.httpHealthCheck.listsul tuo progettocompute.httpsHealthCheck.listsul tuo progetto
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:
- Crea, visualizza ed elimina endpoint che utilizzano un indirizzo IP del progetto host:Compute Network User (
roles/compute.networkUser) sul progetto host
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:
- Per creare, visualizzare ed eliminare endpoint che utilizzano un indirizzo IP del progetto host:
compute.networks.usesul progetto hostcompute.subnetworks.usesul progetto host
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
- Nella console Google Cloud , vai alla pagina Private Service Connect.
Vai a Private Service Connect - Fai clic sulla scheda Endpoint connessi.
- Fai clic su Connetti endpoint.
- In Destinazione, seleziona Servizio pubblicato.
- 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 - 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 un nome e una descrizione facoltativa per l'indirizzo IP.
- Seleziona una Versione IP.
- Se stai creando un indirizzo IPv4, seleziona Assegna automaticamente oScegli.
Se hai selezionato Fammi scegliere, inserisci l'indirizzo IP personalizzatoche vuoi utilizzare. - Fai clic su Prenota.
- Per rendere l'endpoint disponibile da qualsiasi regione, seleziona Abilita accesso globale.
- Seleziona uno spazio dei nomi dall'elenco a discesa o creane uno nuovo.
Il campo Regione viene compilato 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 \
--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ò essereIPV4oIPV6.IPV4è il valore predefinito. Per specificareIPV6, l'indirizzo IP deve essere connesso a unasubnet con un intervallo di indirizzi IPv6 interni.
- 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 ]
- Crea un endpoint a cui è possibile accedere solo dalla propria regione.
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 al servizio del produttore 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 produttore del servizio. Ad esempio:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAMEPROJECT_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 digoog-psc-default.
API
- 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 ogcloud compute networks subnets list --uriper trovare gli URL delle tue reti.IP_VERSION: la versione IP dell'indirizzo IP, che può essereIPV4oIPV6.IPV4è il valore predefinito. Per specificareIPV6, l'indirizzo IP deve essere connesso a unasubnet con un intervallo di indirizzi IPv6 interni.
- 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
allowPscGlobalAccesssutrue.- 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_NAMENETWORK_URI: la rete VPC per l'endpoint. Utilizza il metodo network.list ogcloud compute networks list --uriper 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 camponamespace, viene assegnato lo spazio dei nomi predefinito digoog-psc-default.
- Crea un endpoint a cui è possibile accedere solo dalla propria regione.
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
- 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ò essereIPV4oIPV6.IPV4è il valore predefinito. Per specificareIPV6, l'indirizzo IP deve essere connesso a una subnet con un intervallo di indirizzi IPv6 interni.
- 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
SostituisciHOST_SUBNETcon il nome della subnet che contiene l'indirizzo IP dell'endpoint.
- Se disponi dell'autorizzazione per utilizzare tutte le subnet nel progetto host, utilizza il seguente comando:
API
- 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ò essereIPV4oIPV6.IPV4è il valore predefinito. Per specificareIPV6, l'indirizzo IP deve essere connesso a una subnet con un intervallo di indirizzi IPv6 interni.
- 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"
}
SostituisciHOST_SUBNETcon il nome della subnet che contiene l'indirizzo IP dell'endpoint.
- Se disponi dell'autorizzazione per utilizzare tutte le subnet nel progetto host, effettua la seguente richiesta:
Elenca endpoint
Puoi elencare tutti gli endpoint configurati.
Console
- Nella console Google Cloud , vai alla pagina Private Service Connect.
Vai a Private Service Connect - 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:
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, 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
- Nella console Google Cloud , vai alla pagina Private Service Connect.
Vai a Private Service Connect - Fai clic sulla scheda Endpoint connessi.
- 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
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 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:
- Spazio dei nomi Service Directory
- Zona DNS di Service Directory
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
- Nella console Google Cloud , vai alla pagina Private Service Connect.
Vai a Private Service Connect - Fai clic sulla scheda Endpoint connessi.
- 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
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 Google 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.
- Sia Dataplane v1 che Dataplane v2 sono supportati per i collegamenti VLAN. Per ulteriori informazioni sulle versioni di Dataplane, consultaDataplane v2.
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:
- Crea una policy dei server in entrata nella rete VPC a cui si connette l'altra rete.
- Identifica gli entry point 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 del forwarder 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 laconfigurazione automatica del DNSsono soddisfatti, viene creata una zona DNS con un nome nel formatoNAMESPACE--REGION.
Console
- Nella console Google Cloud , vai alla pagina delle zone Cloud DNS.
Vai alle zone Cloud DNS - 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.
- Se l'endpoint ha una configurazione dello spazio dei nomi, consulta Configurare una zona DNS di Service Directory.
- Se l'endpoint non ha una configurazione dello spazio dei nomi, consulta Registrare un endpoint con Service Directory.
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:
- Se l'endpoint ha uno spazio dei nomi configurato, consulta Configurare una zona DNS di Service Directory.
- Se l'endpoint non ha uno spazio dei nomi configurato, consulta Registrare un endpoint con Service Directory.
- Se preferisci configurare manualmente il DNS, consulta Configurare il DNS manualmente.
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:
- Nome zona: specifica
NAMESPACE--REGION, doveNAMESPACEè lo spazio dei nomi a cui è registrato l'endpoint eREGIONè 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 formatoREGION.p.DOMAIN. Ad esempio, se il dominio pubblico producer di servizi èexample.come il servizio pubblicato si trova inus-west1, ti consigliamo di rendere disponibile il servizio utilizzando i nomi di dominious-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'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.
- Crea uno spazio dei nomi Service Directoryper l'endpoint,
NAMESPACE. - 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. - Crea un endpoint Service Directory utilizzando il nome
defaulte 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:
- 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 pubblicoproducer di servizio èexample.come il servizio pubblicato si trova inus-west1, consigliamo di rendere disponibile il servizio utilizzando i nomi di dominious-west1.p.example.com.
- 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.
- Aggiungi un record.
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:
- Se non vuoi utilizzare l'accesso globale,disattiva l'accesso globale per l'endpoint.
- Se vuoi utilizzare l'accesso globale, chiedi al producer di servizi di attivare l'accesso globale per la regola di forwarding del bilanciatore del carico.
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:
- 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:
- Verifica che l'API Cloud DNS siaabilitata nel tuo progetto.
- Verifica di disporre delle autorizzazioni necessarie per creare la zona DNS di Service Directory:
dns.managedZones.createdns.networks.bindPrivateDNSZoneservicedirectory.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 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:
- Requisito di autorizzazione: il servizio pubblicato richiede che il tuo progetto, la tua rete VPC o il tuo endpoint venga aggiunto esplicitamente all'elenco di accettazione dei consumer del collegamento al servizio.
- Limiti di connessione: hai superato illimite della lista di accettazione del consumerche il producer ha configurato per il progetto o la rete VPC del tuo endpoint.
- Ritardi nel provisioning: per i servizi automatizzati come Managed Service for Apache Airflow 2, lo stato potrebbe essere
PENDINGmentre il piano di controllo del servizio finalizza la connessione.
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:
- 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
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.