Crea un collegamento dell'endpoint
Per configurare la connettività privata per Integration Connectors, devi creare un collegamento PSC (Private Service Connect). Tuttavia, per utilizzare il collegamento PSC, devi anche creare un collegamento endpoint, in quanto non puoi utilizzare direttamente il collegamento PSC. Puoi considerare il collegamento dell'endpoint come un'interfaccia del collegamento del servizio PSC. Una volta creato, puoi utilizzare i dettagli del collegamento dell'endpoint quando configuri un connettore per la connettività privata. Questa pagina spiega come creare un collegamento dell'endpoint e presuppone che tu abbia familiarità con i seguenti concetti:
- Virtual Private Cloud (VPC) di Google Cloud
- Private Service Connect
- Cloud DNS
- Connettori di integrazione
Puoi creare il collegamento dell'endpoint come indirizzo IP o come nome host.
- Creare un collegamento dell'endpoint come indirizzo IP
- Creare un collegamento dell'endpoint come nome host
Crea un collegamento dell'endpoint come indirizzo IP
Per creare un collegamento dell'endpoint come indirizzo IP, puoi utilizzare la console Cloud o la riga di comando (gcloud).Console
Per creare un collegamento di endpoint dalla console Cloud, segui questi passaggi:
- Apri la pagina Collegamenti endpoint per Integration Connectors.
- Fai clic su + Crea. Si apre la pagina Crea collegamento endpoint.
- Inserisci i valori nei seguenti campi:
- Nome: un nome per il collegamento dell'endpoint. Il nome deve essere univoco. Non possono esistere altri collegamenti di endpoint con lo stesso nome e non puoi modificare il nome in un secondo momento. Il nome deve iniziare con una lettera minuscola seguita da un massimo di 63 lettere minuscole, numeri o trattini, ma non può terminare con un trattino. La lunghezza minima è 2.
- ID collegamento del servizio: nome del collegamento al servizio PSC che hai già creato.
- (Facoltativo) Descrizione: inserisci una descrizione per il collegamento dell'endpoint.
- (Facoltativo) Etichette: inserisci le etichette delle risorse come coppie chiave-valore. Per ulteriori informazioni sulle etichette, consulta Che cosa sono le etichette?
- (Facoltativo) Abilita l'accesso globale dell'endpoint: seleziona questa opzione se vuoi
inviare il traffico al tuo backend da una connessione presente in qualsiasi regione.
Per impostazione predefinita, il collegamento dell'endpoint richiede che la connessione e il backend si trovino nella stessa regione. Pertanto, se abiliti l'accesso globale per l'endpoint, una connessione presente in qualsiasi regione può inviare traffico al tuo backend.
- Fai clic su Crea.
La colonna Indirizzo IP specifica l'indirizzo IP del collegamento dell'endpoint. Devi utilizzare questo indirizzo IP quando configuri un connettore per la connettività privata.
gcloud
Per creare un collegamento dell'endpoint dalla riga di comando:
- Ottieni la risorsa di collegamento al servizio PSC:
gcloud compute service-attachments list
Il comando restituisce l'elenco dei collegamenti ai servizi. Ad esempio:
NAME REGION TARGET_SERVICE CONNECTION_PREFERENCE demo-sa us-west1 k8s2-tcp-tgysilgj-apps-ingressgateway-fzdhwstg ACCEPT_AUTOMATIC
Avrai bisogno delle informazioni sul collegamento al servizio nei passaggi successivi.
- Richiedi un token di autenticazione prima di eseguire l'API CreateEndpointAttachment:
TOKEN="$(gcloud auth print-access-token)"
- Crea il collegamento dell'endpoint utilizzando l'API CreateEndpointAttachment. Ad esempio:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "projects/PROJECT_ID/locations/LOCATION/endpointAttachments/ENDPOINT_ATTACHMENT_NAME", "serviceAttachment": "projects/demo/serviceAttachments/?SERVICE_ATTACHMENT_NAME" }' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpointAttachments?endpointAttachmentId=ENDPOINT_ATTACHMENT_NAME
Dove:
- LOCATION è la regione del collegamento al servizio. Ad esempio,
us-west1
. - PROJECT_ID è il progetto Google Cloud in cui hai creato il collegamento al servizio PSC.
- ENDPOINT_ATTACHMENT_NAME è il nome del collegamento dell'endpoint. Il nome deve essere univoco. Non possono esistere altri collegamenti di endpoint con lo stesso nome e non puoi modificare il nome in un secondo momento. Il nome deve iniziare con una lettera minuscola seguita da un massimo di 31 lettere minuscole, numeri o trattini, ma non può terminare con un trattino. La lunghezza minima è 2.
- SERVICE_ATTACHMENT_NAME è il nome del collegamento al servizio. Utilizza il nome dell'account di servizio PSC restituito dal comando
gcloud compute service-attachments list
eseguito in precedenza.
Dopo aver chiamato l'API, Integration Connectors avvia un'operazione a lunga esecuzione e il suo completamento potrebbe richiedere un po' di tempo. Il collegamento dell'endpoint verrà creato al termine dell'operazione.
- LOCATION è la regione del collegamento al servizio. Ad esempio,
- Recupera l'ID progetto della directory dei servizi associato al tuo progetto Google Cloud, quindi autorizza quell'ID progetto nel collegamento al servizio.
- Verifica che il collegamento dell'endpoint sia stato creato utilizzando l'API GetEndpointAttachment.
Ad esempio:
curl -X GET -H "Authorization: Bearer $TOKEN" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/endpointAttachments/ENDPOINT_ATTACHMENT_NAME
L'API restituisce una risposta simile alla seguente:
{ "name": "projects/demo-project/locations/us-central1/endpointAttachments/demo-ea", "createTime": "2023-04-17T04:34:59.569527046Z", "updateTime": "2023-04-17T04:37:25.189074195Z", "description": "demo endpoint attachment", "serviceAttachment": "projects/demo-project/regions/us-central1/serviceAttachments/demo-sa", "endpointIp": "10.0.0.0", "labels": {"team":"sre"}, }
L'indirizzo IP del collegamento dell'endpoint è disponibile nel campo
endpointIp
. In questa risposta di esempio, l'indirizzo IP è10.0.0.0
. Utilizza questo indirizzo IP quando configuri un connettore per la connettività privata.
Se la creazione del collegamento dell'endpoint ha esito positivo, il collegamento appena creato viene elencato nella pagina Allegati endpoint, in modo simile all'immagine seguente:
![allegato-endpoint](https://cloud.google.com/static/integration-connectors/images/endpoint-attachments.png?authuser=0&hl=it)
![allegato-endpoint](https://cloud.google.com/static/integration-connectors/images/endpoint-attachments.png?authuser=0&hl=it)
I passaggi, descritti finora, mostrano come creare un collegamento endpoint come indirizzo IP. Tuttavia, puoi anche creare un collegamento dell'endpoint come nome host e utilizzarlo per configurare un connettore per la connettività privata. Per informazioni su come creare un collegamento dell'endpoint con un nome host, consulta Creare un collegamento dell'endpoint come nome host.
Crea un collegamento dell'endpoint come nome host
Per creare un collegamento dell'endpoint come nome host:
- Crea un collegamento dell'endpoint come indirizzo IP. Per maggiori informazioni, consulta Creare un collegamento dell'endpoint come indirizzo IP.
- Creare una zona gestita privata di Cloud DNS in uno dei tuoi progetti Google Cloud.
In questa zona DNS, devi aggiungere un nome host che vuoi utilizzare per la configurazione del connettore e mappare il nome host all'indirizzo IP del collegamento dell'endpoint ottenuto nel passaggio 1. Per informazioni su come creare una zona gestita privata di Cloud DNS, consulta Creare una zona privata e Aggiungere un record.
- Crea una zona gestita di Integration Connectors nel progetto Google Cloud che utilizzi per Integration Connectors. La zona gestita di Integration Connectors (zona di peering) comunica con la zona gestita privata di Cloud DNS (creata nel passaggio 2)
per la risoluzione dei nomi.
Prima di creare la zona gestita, devi concedere i ruoli e le autorizzazioni seguenti:
- Concedi l'autorizzazione
connectors.managedZones.create
all'utente che crea la zona gestita di Integration Connectors.L'autorizzazione
connectors.managedZones.create
è disponibile nel ruolo IAMroles/connectors.admin
o nel ruolo IAMroles/connectors.managedZonesAdmin
. Per informazioni sui vari ruoli IAM e sulle autorizzazioni corrispondenti disponibili per Integration Connectors, consulta Ruoli e autorizzazioni IAM per Integration Connectors. - Concedi il ruolo
role/dns.peer
all'account di servizioservice-PROJECT_NUMBER@gcp-sa-connectors.iam.gserviceaccount.com
di Integration Connectors.Se il progetto Google Cloud di Cloud DNS è diverso dal progetto Google Cloud di Integration Connectors, concedi il ruolo
roles/dns.peer
all'account di servizio Integration Connectors nel progetto Google Cloud di Cloud DNS. Ad esempio, considera di voler creare la zona gestita di Integration Connectors nel progetto Google Cloud 12345 e che Cloud DNS si trova nel progetto Google Cloud 67890. In questo caso, devi concedere il ruoloroles/dns.peer
all'account di servizioservice-12345@gcp-sa-connectors.iam.gserviceaccount.com
nel progetto Google Cloud 67890.
Per creare una zona gestita di Integration Connectors, puoi utilizzare la console Cloud o la riga di comando (gcloud).
Console
Per creare una zona gestita di Integration Connectors dalla console Cloud, segui questi passaggi:
- Vai alla pagina Zone gestite per Integration Connectors.
- Inserisci i valori nei seguenti campi:
- Nome: il nome della zona gestita.
- Nome DNS di destinazione: nome completo di Cloud DNS per il quale stai creando la zona gestita (peering). Ad esempio,
server8.stage.user.private
. - Progetto di destinazione: nome del progetto Google Cloud che include la zona Cloud DNS privata.
- Rete di destinazione: nome della rete VPC in cui è mantenuta la zona Cloud DNS privata.
- (Facoltativo) Descrizione: inserisci una descrizione per il collegamento dell'endpoint.
- (Facoltativo) Etichette: inserisci le etichette delle risorse come coppie chiave-valore. Per ulteriori informazioni sulle etichette, consulta Che cosa sono le etichette?
- Fai clic su Crea.
gcloud
Per creare una zona gestita di Integration Connectors dalla riga di comando:
- Richiedi un token di autenticazione prima di eseguire l'API CreateManagedZone:
TOKEN="$(gcloud auth print-access-token)"
- Crea la zona gestita utilizzando l'API CreateManagedZone. Ad esempio:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "description": "DESCRIPTION", "dns": "DNS_NAME", "target_project": "TARGET_PROJECT", "target_vpc": "TARGET_VPC" }' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones?managedZoneId=MANAGED_ZONE_NAME
Dove:
- DESCRIPTION è una descrizione facoltativa della zona gestita.
- DNS_NAME: nome completo di Cloud DNS per cui stai creando la zona gestita (peering). Ad esempio,
server8.stage.user.private
. - TARGET_PROJECT è il nome del progetto Google Cloud che include la zona Cloud DNS privata.
- TARGET_NETWORK è il nome della rete VPC in cui è mantenuta la zona Cloud DNS privata.
- PROJECT_ID è il progetto Google Cloud che stai utilizzando per Integration Connectors.
- MANAGED_ZONE_NAME è il nome della zona gestita. Il nome deve essere univoco. Non possono esistere altre zone gestite con lo stesso nome e non puoi modificare il nome in un secondo momento. Il nome deve iniziare con una lettera minuscola seguita da un massimo di 63 lettere minuscole, numeri o trattini, ma non può terminare con un trattino. La lunghezza minima è 2.
Dopo aver chiamato l'API, Integration Connectors avvia un'operazione a lunga esecuzione e il completamento dell'operazione potrebbe richiedere un po' di tempo. La zona gestita verrà creata al termine dell'operazione.
- Verifica se la zona gestita viene creata utilizzando l'API GetManagedZone.
Ad esempio:
curl -X GET -H "Authorization: Bearer $TOKEN" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones/MANAGED_ZONE_NAME
L'API restituisce una risposta simile alla seguente:
{ "name": "projects/demo-project/locations/global/managedZones/demo-mz", "createTime": "2023-04-17T04:34:59.569527046Z", "updateTime": "2023-04-17T04:37:25.189074195Z", "description": "demo managed zone", "dns": "api.private.service.com.", "targetVpc": "target-project-vpc", "targetProject": "target-project" }
- Concedi l'autorizzazione
Se la creazione della zona gestita ha esito positivo, la zona gestita appena creata viene elencata nella pagina Zone gestite in modo simile all'immagine seguente:
![zona-gestita](https://cloud.google.com/static/integration-connectors/images/managed-zones.png?authuser=0&hl=it)
![zona-gestita](https://cloud.google.com/static/integration-connectors/images/managed-zones.png?authuser=0&hl=it)
Verifica la configurazione del collegamento dell'endpoint
Puoi verificare la connettività dell'endpoint creando una connessione al tuo sistema di backend. Quando crei la connessione, nella sezione Destinations
seleziona Destination type
come Endpoint attachment
, quindi seleziona il collegamento dell'endpoint appropriato. Se la creazione della connessione va a buon fine, lo stato della connessione appena creata sarà Active
nella pagina Connessioni della console Cloud.