Configura una rete VPC

Le istanze Google Cloud Managed Lustre vengono sottoposte al provisioning in una rete gestita da Google che si connette al tuo Virtual Private Cloud (VPC) utilizzando l'accesso privato ai servizi.

Puoi connettere l'istanza Managed Lustre alle VM Compute Engine client o ai cluster Google Kubernetes Engine utilizzando una delle seguenti configurazioni di rete:

  • Stessa rete VPC: connetti le risorse client e l' istanza Managed Lustre alla stessa rete VPC.

  • Reti VPC separate: esegui il deployment delle risorse client in una rete VPC separata e connetti entrambe le reti utilizzando Network Connectivity Center. Per istruzioni sulla configurazione di NCC, consulta la documentazione di Network Connectivity Center.

Per entrambe le configurazioni, segui le istruzioni riportate in questa pagina per configurare la rete VPC in cui verrà eseguito il provisioning dell'istanza Managed Lustre. Se utilizzi reti VPC separate, le istruzioni includono un callout con i passaggi richiesti per la rete VPC client.

Autorizzazioni obbligatorie

Devi disporre delle seguenti autorizzazioni IAM:

  • serviceusage.services.enable
  • compute.networks.create
  • compute.addresses.create
  • compute.addresses.get
  • compute.firewalls.create
  • servicenetworking.services.addPeering

Queste autorizzazioni possono essere concesse aggiungendo tutti i seguenti ruoli predefiniti:

In alternativa, puoi creare un ruolo personalizzato contenente le autorizzazioni specifiche.

Per concedere un ruolo a un utente:

Google Cloud Console

  1. Nella Google Cloud console vai alla pagina IAM.

    Vai a IAM

  2. Fai clic su Concedi l'accesso.

  3. Nel campo Nuovi principali, inserisci l'indirizzo email dell'utente.

  4. Nel menu a discesa Seleziona un ruolo, seleziona il ruolo da concedere.

  5. Per concedere più ruoli, fai clic su Aggiungi un altro ruolo e seleziona il ruolo successivo.

  6. Fai clic su Salva.

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:EMAIL_ADDRESS" \
  --role=ROLE

Crea e esegui il peering del VPC

Per creare una rete VPC e configurare una connessione di accesso privato ai servizi per Managed Lustre, segui questi passaggi:

Google Cloud Console

  1. Abilita l'API Service Networking.

    Abilita API Service Networking

  2. Crea una rete VPC in modalità personalizzata:

    1. Nella Google Cloud console, vai alla pagina Reti VPC.

      Vai a Reti VPC

    2. Fai clic su Crea rete VPC.

    3. Inserisci un Nome per la rete.

    4. Deseleziona Imposta MTU automaticamente e inserisci 8896 nel campo Unità massima di trasmissione (MTU).

    5. In Modalità di creazione subnet, seleziona Personalizzata.

  3. Crea una subnet principale per le risorse GKE o Compute Engine:

    1. Nella sezione Nuova subnet, inserisci un Nome per la subnet.
    2. Seleziona una Regione.
    3. Nel campo Intervallo IPv4 , inserisci l'intervallo IPv4 principale (ad esempio 10.128.0.0/20).
    4. Fai clic su Fine.
    5. Fai clic su Crea per creare la rete VPC.
  4. Alloca un intervallo IP per l'accesso privato ai servizi.

    Questo intervallo IP interno viene utilizzato per la connessione di accesso privato ai servizi, che esegue il peering della rete VPC con la rete gestita da Google in cui viene eseguito il provisioning delle risorse Managed Lustre. Questo intervallo allocato viene utilizzato per fornire indirizzi IP per le istanze Managed Lustre e non deve sovrapporsi a nessuna subnet nella rete VPC.

    Ogni istanza Managed Lustre richiede un blocco CIDR contiguo con una lunghezza del prefisso di almeno 23.

    Ti consigliamo di creare un intervallo IP più grande di /20 per consentire la creazione di più istanze Managed Lustre o l'utilizzo di altri Google Cloud servizi.

    1. Nella pagina Reti VPC, fai clic sul nome della rete VPC.
    2. Seleziona la scheda Accesso privato ai servizi.
    3. Seleziona la scheda Intervalli IP allocati per i servizi.
    4. Fai clic su Alloca intervallo IP.
    5. Inserisci un Nome e una Descrizione per l'intervallo allocato (ad esempio Managed Lustre VPC Peering).
    6. Specifica l'intervallo di indirizzi IP:
    7. Per consentire a Google di selezionare un intervallo disponibile, seleziona Automatico e inserisci una lunghezza del prefisso di 20.
    8. Per specificare un intervallo specifico, seleziona Personalizzato e inserisci un blocco CIDR con una lunghezza del prefisso di almeno /23 (ad esempio 10.128.0.0/20).
    9. Fai clic su Alloca.
  5. Prendi nota del blocco CIDR associato all'intervallo allocato.

    Nella tabella Intervalli IP allocati per i servizi , trova l'intervallo che hai creato e prendi nota del valore nella colonna Intervallo IP interno (ad esempio 10.128.0.0/20). Specificherai questo intervallo come origine nel passaggio successivo.

  6. Crea una regola firewall per consentire il traffico TCP dall'intervallo IP che hai creato.

    1. Nella Google Cloud console, vai alla pagina Policy firewall.

    Vai a Policy firewall

    1. Fai clic su Crea regola firewall.
    2. Inserisci un Nome per la regola firewall.
    3. Nel campo Rete, seleziona la rete VPC.
    4. In Direzione del traffico, seleziona In entrata.
    5. In Azione in caso di corrispondenza, seleziona Consenti.
    6. In Destinazioni, seleziona Tutte le istanze nella rete.
    7. In Filtro di origine, seleziona Intervalli IPv4.
    8. Nel campo Intervalli IPv4 di origine, inserisci il blocco CIDR dell'intervallo allocato annotato nel passaggio precedente.
    9. In Protocolli e porte, seleziona Protocolli e porte specificati.
    10. Seleziona la casella di controllo TCP e inserisci 988, 6988 nel campo Porte.
    11. Fai clic su Crea.

    Per reti VPC separate: se le VM client o i cluster GKE si trovano in una rete VPC separata connessa tramite Network Connectivity Center, le regole firewall in entrambe le reti VPC devono consentire il traffico dall'intervallo IP allocato. Ripeti il passaggio Crea una regola firewall ... per creare una regola firewall nella rete VPC client che consenta il traffico TCP in entrata sulle porte 988 e 6988 dal blocco CIDR allocato.

  7. Stabilisci la connessione di accesso privato ai servizi.

    Questa connessione è necessaria solo nella rete VPC in cui viene eseguito il provisioning dell'istanza Managed Lustre.

    1. Nella pagina Reti VPC, fai clic sul nome della rete VPC.
    2. Seleziona la scheda Accesso privato ai servizi.
    3. Seleziona la scheda Connessioni private ai servizi.
    4. Fai clic su Crea connessione.
    5. Nell'elenco Allocazione assegnata, seleziona l'intervallo IP allocato che hai creato.
    6. Fai clic su Connetti.

gcloud

  1. Abilita il networking di servizi.

    gcloud services enable servicenetworking.googleapis.com
    
  2. Crea una rete VPC in modalità personalizzata.

    gcloud compute networks create NETWORK_NAME \
      --subnet-mode=custom \
      --mtu=8896
    
  3. Crea una subnet principale per le risorse GKE o Compute Engine.

    gcloud compute networks subnets create SUBNET_NAME \
      --network=NETWORK_NAME \
      --range=10.128.0.0/20 \
      --region=REGION
    
  4. Alloca un intervallo IP per l'accesso privato ai servizi.

    Questo intervallo IP interno viene utilizzato per la connessione di accesso privato ai servizi, che esegue il peering della rete VPC con la rete gestita da Google in cui viene eseguito il provisioning delle risorse Managed Lustre. Questo intervallo allocato viene utilizzato per fornire indirizzi IP per le istanze Managed Lustre e non deve sovrapporsi a nessuna subnet nella rete VPC.

    Ogni istanza Managed Lustre richiede un blocco CIDR contiguo con una lunghezza del prefisso di almeno 23.

    Ti consigliamo di creare un intervallo IP più grande di /20 per consentire la creazione di più istanze Managed Lustre o l'utilizzo di altri Google Cloud servizi.

    gcloud compute addresses create IP_RANGE_NAME \
      --global \
      --purpose=VPC_PEERING \
      --prefix-length=20 \
      --description="Managed Lustre VPC Peering" \
      --network=NETWORK_NAME
    
  5. Recupera il blocco CIDR associato all'intervallo che hai creato nel passaggio precedente.

    CIDR_BLOCK=$(
      gcloud compute addresses describe IP_RANGE_NAME \
        --global  \
        --format="value[separator=/](address, prefixLength)"
    )
    
  6. Crea una regola firewall per consentire il traffico TCP dall'intervallo IP che hai creato.

    gcloud compute firewall-rules create FIREWALL_NAME \
      --allow=tcp:988,tcp:6988 \
      --network=NETWORK_NAME \
      --source-ranges=$CIDR_BLOCK
    

    Per reti VPC separate: se le VM client o i cluster GKE si trovano in una rete VPC separata connessa tramite Network Connectivity Center, le regole firewall in entrambe le reti VPC devono consentire il traffico dall'intervallo IP allocato ($CIDR_BLOCK). Esegui di nuovo il firewall-rules create comando per creare la regola firewall nella rete VPC client:

     gcloud compute firewall-rules create CLIENT_FIREWALL_NAME \
        --allow=tcp:988,tcp:6988 \
        --network=CLIENT_NETWORK_NAME \
        --source-ranges=$CIDR_BLOCK
     
  7. Stabilisci la connessione di accesso privato ai servizi.

    gcloud services vpc-peerings connect \
      --network=NETWORK_NAME \
      --ranges=IP_RANGE_NAME \
      --service=servicenetworking.googleapis.com
    

    Questa connessione è necessaria solo nella rete VPC in cui viene eseguito il provisioning dell'istanza Managed Lustre.

Crea subnet aggiuntive per multi-NIC

Se prevedi di utilizzare più schede di interfaccia di rete (multi-NIC) per aggregare la larghezza di banda, devi creare una subnet separata all'interno della rete VPC per ogni NIC.

Per usufruire di multi-NIC, devi utilizzare i tipi di macchina Compute Engine con più NIC fisiche collegate a VPC regolari. Le NIC che si collegano a VPC con profili di rete RDMA non possono essere utilizzate per aumentare la larghezza di banda di rete generale. Per ulteriori dettagli, consulta Networking e macchine GPU.

Per creare una subnet per una NIC fisica aggiuntiva:

Google Cloud Console

  1. Nella Google Cloud console, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sul nome della rete VPC.

  3. Fai clic su Aggiungi subnet.

  4. Nella sezione Nuova subnet:

    1. Inserisci un Nome per la subnet.
    2. Seleziona una Regione.
    3. Inserisci un Intervallo di indirizzi IP (ad esempio 10.130.0.0/20).
    4. Fai clic su Aggiungi.

gcloud

gcloud compute networks subnets create SUBNET_NAME_2 \
  --network=NETWORK_NAME \
  --range=10.130.0.0/20 \
  --region=REGION

Ripeti questo passaggio per ogni NIC aggiuntiva. Assicurati che gli intervalli IP per ogni subnet non si sovrappongano.

Controlli di servizio VPC

Managed Lustre supporta i Controlli di servizio VPC (VPC-SC). Per maggiori dettagli, consulta Proteggere le istanze con un perimetro di servizio.

Risolvere i problemi di configurazione del VPC

Autorizzazione negata per aggiungere il peering per il servizio servicenetworking.googleapis.com

ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.

Questo errore significa che non disponi dell'autorizzazione IAM servicenetworking.services.addPeering sul tuo account utente.

Per istruzioni su come aggiungere uno dei seguenti ruoli al tuo account, consulta Controllo dell'accesso con IAM:

  • roles/compute.networkAdmin o
  • roles/servicenetworking.networksAdmin

Impossibile modificare gli intervalli allocati in CreateConnection

ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."

Questo errore viene restituito quando hai già creato un peering VPC su questa rete con intervalli IP diversi. Esistono due possibili soluzioni:

Sostituisci gli intervalli IP esistenti:

Google Cloud Console

  1. Nella Google Cloud console, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sul nome della rete VPC.

  3. Seleziona la scheda Accesso privato ai servizi.

  4. Nella scheda Accesso privato ai servizi, seleziona la scheda Connessioni private ai servizi.

  5. Fai clic sul nome della connessione (ad esempio servicenetworking-googleapis-com).

  6. Nell'elenco Allocazione assegnata, seleziona il nuovo intervallo allocato e deseleziona le caselle di controllo per gli intervalli allocati che vuoi sostituire.

  7. Fai clic su Salva.

gcloud

gcloud services vpc-peerings update \
  --network=NETWORK_NAME \
  --ranges=IP_RANGE_NAME \
  --service=servicenetworking.googleapis.com \
  --force

In alternativa, aggiungi il nuovo intervallo IP alla connessione esistente:

Google Cloud Console

  1. Nella Google Cloud console, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sul nome della rete VPC.

  3. Seleziona la scheda Accesso privato ai servizi.

  4. Nella scheda Accesso privato ai servizi, seleziona la scheda Connessioni private ai servizi.

  5. Fai clic sul nome della connessione.

  6. Nell'elenco Allocazione assegnata, mantieni selezionati gli intervalli allocati esistenti e seleziona il nuovo intervallo allocato.

  7. Fai clic su Salva.

gcloud

  1. Recupera l'elenco degli intervalli IP esistenti per il peering:

    EXISTING_RANGES="$(
      gcloud services vpc-peerings list \
        --network=NETWORK_NAME \
        --service=servicenetworking.googleapis.com \
        --format="value(reservedPeeringRanges.list())" \
        --flatten=reservedPeeringRanges
    )
    
  2. Quindi, aggiungi il nuovo intervallo al peering:

    gcloud services vpc-peerings update \
      --network=NETWORK_NAME \
      --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \
      --service=servicenetworking.googleapis.com
    

Passaggi successivi