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 ulteriori informazioni sulle connessioni VPN Distributed Cloud, consulta la pagina Come funziona Distributed Cloud.

Tieni presente che:

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

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

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

  • Una risorsa 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 Distributed Cloud VPN supportano solo indirizzi IPv4.

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

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

  • Per impostazione predefinita, Distributed Cloud configura un singolo client VPN su un singolo nodo per connettersi a Google Cloud utilizzando due tunnel VPN, noti anche come VPN ad alta disponibilità sull'estremità 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 VPN Distributed Cloud, completa i passaggi descritti in questa sezione.

Per completare questa attività, devi disporre del ruolo Amministratore container edge (roles/edgecontainer.admin) nel tuo progetto Google Cloud .

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 Google Cloud di destinazione.
  • REGION: la regione Google Cloud 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 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 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 progetto e nella regione di destinazione.Google Cloud
  • --high-availability (facoltativo): configura questa connessione VPN per l'alta disponibilità sul lato cluster configurando due client VPN separati che vengono eseguiti su due nodi separati. Per disabilitare l'alta disponibilità, 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 Google Cloud di destinazione.
  • REGION: la regione Google Cloud in cui viene creata la zona Distributed Cloud di destinazione.
  • VPN_CONNECTION_ID: un ID programmatico univoco che identifica questa risorsa del 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 disponibilità sul lato cluster. Se impostato su TRUE, configura due client VPN separati che vengono eseguiti su due nodi separati.
  • ROUTER_NAME (facoltativo): specifica una risorsa 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 progetto e nella regione di destinazione.Google Cloud

Elenca connessioni VPN

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

Per completare questa attività, devi disporre del ruolo Visualizzatore container edge (roles/edgecontainer.viewer) nel tuo progetto Google Cloud .

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 Google Cloud di destinazione.
  • REGION: la regione Google Cloud 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 Google Cloud di destinazione.
  • REGION: la regione Google Cloud 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 delimitato da virgole di nomi di campi in base ai quali vengono ordinati i risultati restituiti. L'ordinamento predefinito è crescente. Per l'ordinamento decrescente, aggiungi il prefisso ~ al campo desiderato.
  • 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.

Visualizzare informazioni su una connessione VPN

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

Per completare questa attività, devi disporre del ruolo Visualizzatore container edge (roles/edgecontainer.viewer) nel tuo progetto Google Cloud .

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 Google Cloud di destinazione.
  • REGION: la regione Google Cloud 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 Google Cloud di destinazione.
  • REGION: la regione Google Cloud 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 VPN Distributed Cloud, completa i passaggi descritti in questa sezione.

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

Per completare questa attività, devi disporre del ruolo Amministratore container edge (roles/edgecontainer.admin) nel tuo progetto Google Cloud .

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 regione Google Cloud in cui viene creata la zona Distributed Cloud di destinazione.
  • PROJECT_ID: l'ID del progetto Google Cloud di destinazione.

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 Google Cloud di destinazione.
  • REGION: la regione Google Cloud 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 alle reti VPC in un progetto Google Cloud diverso dal progetto Google Cloud che contiene il tuo cluster Distributed Cloud.

Prerequisiti

Devi soddisfare i prerequisiti descritti in questa sezione prima di poter creare connessioni VPN tra progetti.

Autorizzazioni account chiamante

L'account utente chiamante nel progetto VPC di destinazione deve disporre delle seguenti autorizzazioni. Queste autorizzazioni sono incluse 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 Gestisci l'accesso a progetti, cartelle e organizzazioni.

Autorizzazioni del account di servizio Distributed Cloud

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

Per concedere il ruolo Compute Network Admin:

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 Google Cloud di destinazione.

Crea una connessione VPN tra progetti

Per creare una connessione VPN a una rete VPC in un progettoGoogle Cloud diverso, 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 regione Google Cloud 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 destinazioneGoogle Cloud che contiene 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 disponibilità sul lato cluster configurando due client VPN separati che vengono eseguiti su due nodi separati. Per disabilitare l'alta disponibilità, 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 Google Cloud di destinazione.
  • REGION: la regione Google Cloud in cui viene creata la zona Distributed Cloud di destinazione.
  • VPN_CONNECTION_ID: un ID programmatico univoco che identifica questa risorsa del 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 delGoogle Cloud progetto di destinazione che contiene la rete VPC di destinazione.
  • HA_ENABLE: indica se configurare questa connessione VPN per l'alta disponibilità sul lato 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 nel seguente modo:

  • I log di controllo per il cluster Distributed Cloud registrano l'operazione a lunga esecuzione, le informazioni di autenticazione e autorizzazione per la connessione VPN tra progetti. Queste informazioni includono il chiamante dell'operazione di creazione e le autorizzazioni che gli sono state concesse o negate.
  • I log di controllo per il progetto VPC di destinazione registrano informazioni sulle risorse Google Cloud che abilitano la connessione VPN tra progetti, come le risorse router Cloud e Cloud VPN. Il chiamante che accede a queste risorse è il account di servizio Distributed Cloud a cui hai concesso il ruolo Edge Container Service Agent (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 nella 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 tuo cluster Distributed Cloud.
  • Se modifichi le autorizzazioni per il account di servizio Distributed Cloud nel progetto VPC di destinazione, non puoi eliminare la connessione VPN tra progetti dal cluster Distributed Cloud.

Passaggi successivi