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 dato che non puoi utilizzare direttamente il collegamento PSC. Il collegamento dell'endpoint può essere considerato come un'interfaccia per il collegamento al 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 la conoscenza dei seguenti concetti:

Puoi creare il collegamento dell'endpoint come indirizzo IP o come nome host.

Creare un collegamento di endpoint come indirizzo IP

Per creare un collegamento di 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 a Collegamenti endpoint

  2. Fai clic su + Crea. Viene visualizzata la pagina Crea collegamento endpoint.
  3. Inserisci i valori per i seguenti campi:
    • Nome: un nome per il collegamento dell'endpoint. Il nome deve essere univoco. Non possono esserci altri collegamenti endpoint con lo stesso nome e non è possibile 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 al 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 maggiori informazioni sulle etichette, consulta Che cosa sono le etichette?
  4. Fai clic su Crea.

La colonna Indirizzo IP specifica l'indirizzo IP del collegamento dell'endpoint. Devi utilizzare questo indirizzo IP durante la configurazione di un connettore per la connettività privata.

gcloud

Per creare un collegamento endpoint dalla riga di comando:

  1. Recupera la risorsa per il 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 di queste informazioni sul collegamento al servizio nei passaggi successivi.

  2. Ricevi 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 esserci altri collegamenti endpoint con lo stesso nome e non è possibile 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 completamento dell'operazione 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 inserisci l'ID progetto nella lista consentita nel collegamento del servizio.
  5. Verifica se il collegamento dell'endpoint viene 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 durante la configurazione di 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, come nell'immagine seguente:

collegamento-endpoint collegamento-endpoint

I passaggi, descritti finora, mostrano come creare un collegamento endpoint come indirizzo IP. Tuttavia, puoi anche creare un collegamento endpoint come nome host e utilizzare il nome host per configurare un connettore per la connettività privata. Per informazioni su come creare un collegamento endpoint con un nome host, consulta Creare un collegamento per endpoint come nome host.

Crea un collegamento di endpoint come nome host

Per creare un collegamento di endpoint come nome host, esegui le seguenti attività:

  1. Crea un collegamento di endpoint come indirizzo IP. Per maggiori informazioni, consulta Creare un collegamento di endpoint come indirizzo IP.
  2. Crea una zona gestita privata di Cloud DNS in uno qualsiasi dei tuoi progetti Google Cloud.

    In questa zona DNS, devi aggiungere un nome host da utilizzare per la configurazione del connettore e mapparlo 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 di Integration Connectors nel progetto Google Cloud di Cloud DNS. Ad esempio, supponiamo di voler creare la zona gestita di Integration Connectors nel progetto Google Cloud 12345 e che Cloud DNS si trovi 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:

    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: il 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 viene 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 maggiori 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 per la zona gestita.
      • DNS_NAME: nome completo di Cloud DNS per il quale 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 viene 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 è possibile modificarne 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 è stata 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, simile alla seguente immagine:

zona gestita zona gestita

Verificare 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 Hostname, quindi inserisci l'indirizzo IP o il nome host dell'endpoint appropriato. Se la creazione della connessione ha esito positivo, lo stato della connessione appena creata sarà Active nella pagina Connessioni della console Cloud.