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:

Puoi creare il collegamento dell'endpoint come indirizzo IP o 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:

  1. Apri la pagina Collegamenti endpoint per Integration Connectors.

    Vai ai collegamenti degli endpoint

  2. Fai clic su + Crea. Si apre la pagina Crea collegamento endpoint.
  3. 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.

  4. 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:

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

  2. Richiedi un token di autenticazione prima di eseguire l'API CreateEndpointAttachment:
    TOKEN="$(gcloud auth print-access-token)"
  3. 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.

  4. Recupera l'ID progetto della directory dei servizi associato al tuo progetto Google Cloud, quindi autorizza quell'ID progetto nel collegamento al servizio.
  5. 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 allegato-endpoint

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:

  1. Crea un collegamento dell'endpoint come indirizzo IP. Per maggiori informazioni, consulta Creare un collegamento dell'endpoint come indirizzo IP.
  2. 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.

  3. 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 IAM roles/connectors.admin o nel ruolo IAM roles/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 servizio service-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 ruolo roles/dns.peer all'account di servizio service-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:

    1. Vai alla pagina Zone gestite per Integration Connectors.

      Vai a Zone gestite

    2. Inserisci i valori nei seguenti campi:
      1. Nome: il nome della zona gestita.
      2. Nome DNS di destinazione: nome completo di Cloud DNS per il quale stai creando la zona gestita (peering). Ad esempio, server8.stage.user.private.
      3. Progetto di destinazione: nome del progetto Google Cloud che include la zona Cloud DNS privata.
      4. Rete di destinazione: nome della rete VPC in cui è mantenuta la zona Cloud DNS privata.
      5. (Facoltativo) Descrizione: inserisci una descrizione per il collegamento dell'endpoint.
      6. (Facoltativo) Etichette: inserisci le etichette delle risorse come coppie chiave-valore. Per ulteriori informazioni sulle etichette, consulta Che cosa sono le etichette?
    3. Fai clic su Crea.

    gcloud

    Per creare una zona gestita di Integration Connectors dalla riga di comando:

    1. Richiedi un token di autenticazione prima di eseguire l'API CreateManagedZone:
      TOKEN="$(gcloud auth print-access-token)"
    2. 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.

    3. 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"
      }

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 zona-gestita

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.