Creare e gestire le connessioni VPN

Questa pagina descrive come creare e gestire le risorse di connessione VPN di Google Distributed Cloud in una zona Distributed Cloud.

Per saperne di più sulle connessioni Cloud VPN di Distributed Cloud, consulta Come funziona Distributed Cloud works.

Tieni presente che:

  • Devi configurare la rete per consentire il traffico richiesto dalle connessioni Cloud VPN di Distributed Cloud.

  • Quando crei una connessione VPN di Distributed Cloud, Distributed Cloud crea le risorse del gateway Cloud VPN e del router Cloud richieste. Il nome del gateway Cloud VPN ha il prefisso anthos-mcc. Il nome del router Cloud ha il prefisso gdce. Non devi modificare queste risorse, altrimenti la connessione VPN di Distributed Cloud potrebbe smettere di funzionare. Se modifichi accidentalmente queste risorse, devi eliminare e ricreare la connessione Cloud VPN di Distributed Cloud interessata.

  • Distributed Cloud crea un singolo router Cloud per Google Cloud progetto per regione quando crei la prima connessione Cloud VPN di Distributed Cloud in quelGoogle Cloud progetto e in quella regione. Tutte le connessioni VPN create successivamente in quel Google Cloud progetto e in quella regione riutilizzano la stessa risorsa del router Cloud.

  • Una risorsa del router Cloud può essere eliminata solo se non sono collegate interfacce di rete secondarie. Distributed Cloud elimina automaticamente un router Cloud quando elimini l'ultima connessione VPN rimanente collegata.

  • Le connessioni VPN di Distributed Cloud supportano solo gli indirizzi IPv4.

  • Puoi creare una sola connessione VPN per cluster Distributed Cloud.

  • Se la tua rete locale utilizza più gateway Network Address Translation (NAT), devi configurarli in modo che l'installazione di Distributed Cloud utilizzi un singolo indirizzo IP per il traffico in uscita verso la rete Virtual Private Cloud (VPC).

  • Per impostazione predefinita, Distributed Cloud configura un singolo client VPN su un singolo nodo per connettersi a utilizzando due tunnel VPN, noti anche come VPN ad alta affidabilità sull'end. Google Cloud Google Cloud Puoi aumentare ulteriormente la disponibilità della connessione VPN utilizzando il flag --high-availability. Questo flag indica a Distributed Cloud di configurare due client VPN su due nodi separati per un totale di quattro tunnel VPN.

  • Devi eliminare e ricreare una connessione VPN se vuoi modificarne la configurazione.

  • Puoi gestire le connessioni VPN utilizzando Google Cloud CLI o l'API Distributed Cloud Edge Container.

Crea una connessione VPN

Per creare una connessione Cloud VPN di Distributed Cloud, completa i passaggi descritti in questa sezione.

Per completare questa attività, devi avere il ruolo Amministratore di Edge Container (roles/edgecontainer.admin) nel tuo Google Cloud progetto.

gcloud

Utilizza il comando gcloud edge-cloud container vpn-connections create:

gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME \
    --vpc-network=VPC_NETWORK_NAME \
    --nat-gateway-ip=NAT_GATEWAY_IP \
    --router=ROUTER_NAME \
    --high-availability

Sostituisci quanto segue:

  • VPN_CONNECTION_NAME: un nome descrittivo che identifica in modo univoco questa connessione VPN.
  • PROJECT_ID: l'ID del progetto di destinazione. Google Cloud
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.
  • CLUSTER_NAME: il nome del cluster Distributed Cloud di destinazione.
  • VPC_NETWORK_NAME: il nome della rete VPC di destinazione a cui punta questa connessione VPN. Questa rete deve trovarsi nello stesso Google Cloud progetto dell' installazione di Distributed Cloud.
  • NAT_GATEWAY_IP: l'indirizzo IP del gateway NAT per il cluster di destinazione. Ometti questo flag se non utilizzi NAT.
  • ROUTER_NAME (facoltativo): specifica una risorsa del router Cloud esistente da utilizzare per questa connessione VPN. In caso contrario, Distributed Cloud crea automaticamente un router Cloud se non ne esiste ancora uno nel Google Cloud progetto e nella regione di destinazione.
  • --high-availability (facoltativo): configura questa connessione VPN per l'alta disponibilità sul lato del cluster configurando due client VPN separati che vengono eseguiti su due nodi separati. Per disattivare l'alta affidabilità, ometti questo flag.

API

Invia una richiesta POST al metodo projects.locations.vpnConnections.create:

POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
  "name": string,
  "labels": {
   },
  "natGatewayIp": NAT_GATEWAY,
  "cluster": CLUSTER_PATH,
  "vpc": VPC_NETWORK_ID
  "enableHighAvailability": HA_ENABLE,
  "router": ROUTER_NAME,
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto di destinazione. Google Cloud
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.
  • VPN_CONNECTION_ID: un ID programmatico univoco che identifica questa risorsa pool di nodi.
  • REQUEST_ID: un ID programmatico univoco che identifica questa richiesta.
  • VPN_CONNECTION_NAME: un nome descrittivo che identifica in modo univoco questa connessione VPN.
  • NAT_GATEWAY: l'indirizzo IP del gateway NAT.
  • CLUSTER_PATH: il percorso canonico completo del cluster di destinazione.
  • VPC_NETWORK_ID: l'ID della rete VPC di destinazione.
  • HA_ENABLE: indica se configurare questa connessione VPN per l'alta affidabilità sul lato del cluster. Se impostato su TRUE, configura due client VPN separati che vengono eseguiti su due nodi separati.
  • ROUTER_NAME (facoltativo): specifica una risorsa del router Cloud esistente da utilizzare per questa connessione VPN. In caso contrario, Distributed Cloud crea automaticamente un router Cloud se non ne esiste ancora uno nel Google Cloud progetto e nella regione di destinazione.

Elenca le connessioni VPN

Per elencare le connessioni VPN di cui è stato eseguito il provisioning per un cluster Distributed Cloud, completa i passaggi descritti in questa sezione.

Per completare questa attività, devi avere il ruolo Visualizzatore di Edge Container (roles/edgecontainer.viewer) nel tuo Google Cloud progetto.

gcloud

Utilizza il comando gcloud edge-cloud container vpn-connections list:

gcloud edge-cloud container vpn-connections list \
    --project=PROJECT_ID \
    --location=REGION

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto di destinazione. Google Cloud
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.

API

Invia una richiesta GET al metodo projects.locations.vpnConnections.list:

GET /v1/PROJECT_ID/locations/REGION/vpnConnections?filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto di destinazione. Google Cloud
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.
  • FILTER: un'espressione che vincola i risultati restituiti a valori specifici.
  • PAGE_SIZE: il numero di risultati da restituire per pagina.
  • SORT_BY: un elenco di nomi di campi separati da virgole in base ai quali vengono ordinati i risultati restituiti. L'ordinamento predefinito è crescente; per l'ordinamento decrescente, anteponi il campo desiderato con ~.
  • PAGE_TOKEN: un token ricevuto nella risposta all'ultima richiesta di elenco nel campo nextPageToken della risposta. Invia questo token per ricevere una pagina di risultati.

Ottieni informazioni su una connessione VPN

Per ottenere informazioni su una connessione VPN di Distributed Cloud, completa i passaggi descritti in questa sezione.

Per completare questa attività, devi avere il ruolo Visualizzatore di Edge Container (roles/edgecontainer.viewer) nel tuo Google Cloud progetto.

gcloud

Utilizza il comando gcloud edge-cloud container vpn-connections describe:

gcloud edge-cloud container vpn-connections describe VPN_CONNECTION_NAME \
    --project=PROJECT_ID \
    --location=REGION

Sostituisci quanto segue:

  • VPN_CONNECTION_NAME: il nome della connessione VPN di destinazione.
  • PROJECT_ID: l'ID del progetto di destinazione. Google Cloud
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.

API

Invia una richiesta GET al metodo projects.locations.vpnConnections.get:

GET /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto di destinazione. Google Cloud
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.
  • VPN_CONNECTION_NAME: il nome della connessione VPN di destinazione.

Elimina una connessione VPN

Per eliminare una connessione Cloud VPN di Distributed Cloud, completa i passaggi descritti in questa sezione.

Se stai eliminando l'ultima connessione VPN rimanente associata a una risorsa del router Cloud creata in precedenza da Distributed Cloud nel Google Cloud progetto, l'eliminazione della connessione VPN elimina automaticamente la risorsa del router Cloud associata. Tuttavia, in questa situazione vengono eliminate automaticamente solo le risorse del router Cloud create automaticamente da Distributed Cloud. Distributed Cloud non elimina le risorse del router Cloud esistenti specificate utilizzando il flag --router.

Per completare questa attività, devi avere il ruolo Amministratore di Edge Container (roles/edgecontainer.admin) nel tuo Google Cloud progetto.

gcloud

Utilizza il comando gcloud edge-cloud container vpn-connections delete:

gcloud edge-cloud container vpn-connections delete VPN_CONNECTION_NAME \
    --location=REGION \
    --project=PROJECT_ID

Sostituisci quanto segue:

  • VPN_CONNECTION_NAME: un nome descrittivo che identifica in modo univoco questa connessione VPN.
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.
  • PROJECT_ID: l'ID del progetto di destinazione. Google Cloud

API

Invia una richiesta DELETE al metodo projects.locations.vpnConnections.delete:

DELETE /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME?requestId=REQUEST_ID

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto di destinazione. Google Cloud
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.
  • VPN_CONNECTION_NAME: il nome della connessione VPN di destinazione.
  • REQUEST_ID: un ID programmatico univoco che identifica questa richiesta.

Gestisci le connessioni VPN tra progetti

Distributed Cloud ti consente anche di creare connessioni VPN a reti VPC in un Google Cloud progetto diverso da quello che contiene il Google Cloud cluster Distributed Cloud.

Prerequisiti

Prima di poter creare connessioni VPN tra progetti, devi soddisfare i prerequisiti descritti in questa sezione.

Autorizzazioni dell'account chiamante

L'account utente chiamante nel progetto VPC di destinazione deve disporre delle seguenti autorizzazioni. Queste autorizzazioni sono incapsulate nel ruolo Project IAM Admin (roles/resourcemanager.projectIamAdmin):

  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.setIamPolicy

Per informazioni su come impostare ruoli e autorizzazioni IAM, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Autorizzazioni dell'account di servizio Distributed Cloud

Per consentire a Distributed Cloud di creare le risorse del router Cloud e di Cloud VPN nel progetto VPC di destinazione che abilita la connessione VPN tra progetti, devi concedere il ruolo Amministratore rete Compute (roles/compute.networkAdmin) all'account di servizio Distributed Cloud nel cluster Distributed Cloud.

Per concedere il ruolo Amministratore rete Compute:

gcloud

Utilizza il comando gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
    --member="serviceAccount:service-PROJECT_NUM@gcp-sa-edgecontainer.iam.gserviceaccount.com" \
    --role="roles/compute.networkAdmin" \
    --project=VPC_PROJECT_ID

Sostituisci quanto segue:

  • VPC_PROJECT_ID: l'ID del progetto VPC di destinazione.
  • PROJECT_NUM: il numero del progetto Distributed Cloud di destinazione. Google Cloud

Crea una connessione VPN tra progetti

Per creare una connessione VPN a una rete VPC in un progetto diverso Google Cloud completa i passaggi descritti in questa sezione.

gcloud

Utilizza il comando gcloud edge-cloud container vpn-connections create:

gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME \
    --vpc-project=VPC_PROJECT_ID \
    --vpc-network=VPC_NETWORK_NAME \
    --nat-gateway-ip=NAT_GATEWAY_IP \
    --high-availability

Sostituisci quanto segue:

  • VPN_CONNECTION_NAME: un nome descrittivo che identifica in modo univoco questa connessione VPN.
  • PROJECT_ID: l'ID del progetto del cluster Distributed Cloud di destinazione Google Cloud .
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.
  • CLUSTER_NAME: il nome del cluster Distributed Cloud di destinazione.
  • VPC_PROJECT_ID: l'ID del progetto di destinazione Google Cloud contenente la rete VPC di destinazione.
  • VPC_NETWORK_NAME: il nome della rete VPC di destinazione a cui punta questa connessione VPN.
  • NAT_GATEWAY_IP: l'indirizzo IP del gateway NAT per il cluster di destinazione. Ometti questo flag se non utilizzi NAT.
  • --high-availability (facoltativo): configura questa connessione VPN per l'alta affidabilità sul lato del cluster configurando due client VPN separati che vengono eseguiti su due nodi separati. Per disattivare l'alta affidabilità, ometti questo flag.

API

Invia una richiesta POST al metodo projects.locations.vpnConnections.create:

POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
  "name": string,
  "labels": {
   },
  "natGatewayIp": NAT_GATEWAY,
  "cluster": CLUSTER_PATH,
  "vpc": VPC_NETWORK_ID,
  "vpcProject": VPC_PROJECT_ID,
  "vpcServiceAccount": var>VPC_PROJECT_SERVICE_ACCOUNT,
  "enableHighAvailability": HA_ENABLE,
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto di destinazione. Google Cloud
  • REGION: la Google Cloud regione in cui viene creata la zona Distributed Cloud di destinazione.
  • VPN_CONNECTION_ID: un ID programmatico univoco che identifica questa risorsa pool di nodi.
  • REQUEST_ID: un ID programmatico univoco che identifica questa richiesta.
  • VPN_CONNECTION_NAME: un nome descrittivo che identifica in modo univoco questa connessione VPN.
  • NAT_GATEWAY: l'indirizzo IP del gateway NAT.
  • CLUSTER_PATH: il percorso canonico completo del cluster di destinazione.
  • VPC_NETWORK_ID: l'ID della rete VPC di destinazione.
  • VPC_PROJECT_ID: l'ID del progetto di destinazione Google Cloud contenente la rete VPC di destinazione.
  • HA_ENABLE: indica se configurare questa connessione VPN per l'alta affidabilità sul lato del cluster. Se impostato su TRUE, configura due client VPN separati che vengono eseguiti su due nodi separati.

Cloud Audit Logs per le connessioni VPN tra progetti

Quando crei una connessione VPN tra progetti, i log di Cloud Audit Logs vengono scritti come segue:

  • I log di audit per il cluster Distributed Cloud registrano le informazioni sull'operazione a lunga esecuzione, sull'autenticazione e sull'autorizzazione per la connessione VPN tra progetti. Queste informazioni includono il chiamante dell'operazione di creazione e le autorizzazioni che sono state concesse o negate al chiamante.
  • I log di audit per il progetto VPC di destinazione registrano informazioni sulle Google Cloud risorse che abilitano la connessione VPN tra progetti, come le risorse del router Cloud e di Cloud VPN. Il chiamante che accede a queste risorse è l' account di servizio Distributed Cloud a cui hai concesso il ruolo Agente di servizio Edge Container (roles/edgecontainer.serviceAgent).

Limitazioni delle connessioni VPN

Se modifichi il pool di nodi del cluster in cui hai creato una determinata connessione VPN, devi eliminare e ricreare la connessione VPN. In caso contrario, potrebbero verificarsi comportamenti imprevisti, tra cui:

  • Perdita intermittente della connettività VPN
  • Impossibilità di creare connessioni VPN negli altri cluster della zona Distributed Cloud

Limitazioni delle connessioni VPN tra progetti

Inoltre, le connessioni VPN tra progetti presentano le seguenti limitazioni:

  • La risorsa di connessione VPN tra progetti esiste solo nel cluster Distributed Cloud.
  • Se modifichi le autorizzazioni dell'account di servizio Distributed Cloud nel progetto VPC di destinazione, non puoi eliminare la connessione VPN tra progetti dal cluster Distributed Cloud.

Passaggi successivi