Utilizzo del peering di rete VPC

Il peering di rete VPC di Google Cloud consente la connettività con indirizzi IP interni tra due reti Virtual Private Cloud (VPC), a prescindere dalla loro appartenenza allo stesso progetto o alla stessa organizzazione. Il peering supporta la connettività tra reti con subnet a doppio stack.

Per ulteriori informazioni, vedi Peering di rete VPC.

Crea una configurazione di peering

Prima di iniziare, devi conoscere il nome della rete VPC con cui eseguirai il peering. Se la rete si trova in un altro progetto, devi avere anche l'ID di quel progetto. Non puoi elencare le richieste di peering per la tua rete VPC. Se necessario, chiedi all'amministratore della rete con cui intendi eseguire il peering dei nomi della rete e del progetto.

Una configurazione di peering stabilisce l'intent per la connessione a un'altra rete VPC. La tua rete e l'altra rete non sono connesse fino a quando ognuna non ha una configurazione di peering per l'altra. Quando l'altra rete ha una configurazione corrispondente per il peering con la rete, lo stato di peering diventa ACTIVE in entrambe le reti e la rete viene connessa. Se non esiste una configurazione di peering corrispondente nell'altra rete, lo stato del peering rimane INACTIVE, a indicare che la rete non è connessa all'altra.

Google Cloud consente una sola attività relativa al peering alla volta tra le reti in peering. Ad esempio, se imposti il peering con una rete e provi immediatamente a configurarne un'altra, l'operazione non andrà a buon fine: Error: There is a peering operation in progress on the local or peer network. Try again later.

Una volta connesse, le due reti si scambiano sempre route subnet. Facoltativamente, puoi importare route personalizzate IPv4 statiche e dinamiche e route personalizzate IPv6 dinamiche da una rete in peering, se è stata configurata per esportarle. Per ulteriori informazioni, consulta Importazione ed esportazione di route personalizzate.

Console

  1. Nella console Google Cloud, vai alla pagina Peering di rete VPC .
    Vai al peering di rete VPC
  2. Fai clic su Crea connessione.
  3. Fai clic su Continua.
  4. Nel campo Nome, inserisci un nome per la configurazione del peering.
  5. In La tua rete VPC, seleziona una rete da collegare in peering.
  6. Seleziona la rete con cui eseguire il peering.

    • Se la rete con cui vuoi eseguire il peering si trova nello stesso progetto, seleziona Nel progetto [NAME-OF-YOUR-PROJECT], quindi seleziona la rete con cui eseguire il peering.
    • Se la rete con cui vuoi eseguire il peering si trova in un progetto diverso, seleziona In un altro progetto. Specifica l'ID progetto che include la rete con cui vuoi eseguire il peering e il nome della rete VPC.
  7. In Tipo di stack IP, specifica le route di subnet da scambiare tra le reti in peering:

    • IPv4 (stack singolo): scambia solo route IPv4.
    • IPv4 e IPv6 (stack doppio): scambia le route IPv4 e IPv6.
  8. Per importare o esportare route personalizzate IPv4 e IPv6, scegli una o entrambe le seguenti opzioni:

    • Importa route personalizzate:importa le route personalizzate dalla rete peer. La rete peer deve abilitare l'esportazione delle route personalizzate per le route da importare.
    • Esporta route personalizzate: esporta route personalizzate nella rete peer. La rete peer deve abilitare l'importazione di route personalizzate per l'esportazione delle route.
  9. Se la tua rete o la rete peer utilizza intervalli IPv4 pubblici utilizzati privatamente nelle rispettive subnet, queste route vengono esportate per impostazione predefinita, ma non importate per impostazione predefinita. Per importare route di subnet IPv4 pubbliche utilizzate privatamente, seleziona:

    • Importa route di subnet con IP pubblico per importare route di subnet IP pubbliche utilizzate privatamente esportate dall'altra rete
  10. Fai clic su Crea.

gcloud

Crea una connessione di peering di rete VPC.

gcloud compute networks peerings create PEERING_NAME \
    --network=NETWORK \
    --peer-project=PEER_PROJECT_ID \
    --peer-network=PEER_NETWORK_NAME \
    [--stack-type=STACK_TYPE] \
    [--import-custom-routes] \
    [--export-custom-routes] \
    [--import-subnet-routes-with-public-ip] \
    [--export-subnet-routes-with-public-ip]

Sostituisci quanto segue:

  • PEERING_NAME: il nome della configurazione di peering.
  • NETWORK: il nome della rete nel progetto che vuoi eseguire il peering.
  • PEER_PROJECT_ID: l'ID del progetto contenente la rete con cui vuoi eseguire il peering.
  • PEER_NETWORK_NAME: il nome della rete con cui vuoi stabilire il peering.
  • STACK_TYPE: tipo di stack per la connessione in peering. Specifica IPV4_ONLY per scambiare solo route IPv4. In alternativa, specifica IPV4_IPV6 per scambiare le route IPv4 e IPv6. IPV4_ONLY è il valore predefinito.
  • --import-custom-routes indica alla rete di accettare route personalizzate dalla rete in peering. La rete in peering deve prima esportare le route.
  • --export-custom-routes indica alla rete di esportare route personalizzate nella rete in peering. La rete in peering deve essere impostata per importare le route.
  • --import-subnet-routes-with-public-ip, indica alla rete di accettare route subnet dalla rete in peering se questa rete utilizza indirizzi IPv4 pubblici utilizzati privatamente nelle sue subnet. La rete in peering deve prima esportare le route.
  • --export-subnet-routes-with-public-ip indica alla rete di esportare le route subnet che contengono indirizzi IP pubblici utilizzati privatamente. La rete in peering deve essere impostata per importare le route.

Terraform

Puoi usare un modulo Terraform per creare una configurazione di peering.

module "peering1" {
  source        = "terraform-google-modules/network/google//modules/network-peering"
  version       = "~> 9.0"
  local_network = var.local_network # Replace with self link to VPC network "foobar" in quotes
  peer_network  = var.peer_network  # Replace with self link to VPC network "other" in quotes
}

Per le due reti VPC in peering, ogni collegamento autonomo include un ID progetto e il nome della rete VPC. Per ottenere il collegamento automatico per una rete VPC, puoi utilizzare il comando gcloud compute networks describe o il metodo networks.get nel progetto di ogni rete VPC.

Quando crei un peering da local_network a peer_network, la relazione di peering è bidirezionale. Il peering da peer_network a local_network viene creato automaticamente.

Per scoprire come applicare o rimuovere una configurazione Terraform, vedi Comandi Terraform di base.

Verifica che il traffico passi tra reti VPC in peering

Puoi utilizzare Log di flusso VPC per visualizzare i flussi di rete inviati e ricevuti dalle istanze VM. Puoi anche utilizzare il logging delle regole firewall per verificare che il traffico passi tra le reti. Crea regole firewall VPC che consentono (o negano) il traffico tra le reti in peering e attiva il logging delle regole firewall per queste regole. Potrai quindi visualizzare quali regole firewall hanno avuto corrispondenze utilizzando Cloud Logging.

Aggiorna una connessione in peering

Quando aggiorni una connessione di peering di rete VPC esistente, puoi:

  • Scegli se esportare o importare route personalizzate dalla tua rete VPC o route di subnet IPv4 pubbliche utilizzate privatamente da o verso la rete VPC peer.
  • Aggiorna una connessione in peering esistente per abilitare o disabilitare lo scambio di route IPv6 tra le reti di peering.

La tua rete importa le route solo se anche la rete peer esporta le route, e la rete peer le riceve solo se le importa.

Console

  1. Nella console Google Cloud, vai alla pagina Peering di rete VPC.
    Vai al peering di rete VPC
  2. Seleziona la connessione in peering da aggiornare.
  3. Fai clic su Modifica.
  4. Aggiorna la selezione Tipo di stack IP per specificare quali route di subnet devono essere scambiate tra le reti in peering:
    • IPv4 (stack singolo): interrompi lo scambio esistente di route IPv6 sul peering e continua a scambiare solo route IPv4.
    • IPv4 e IPv6 (stack doppio): inizia a scambiare sia le route IPv4 sia quelle IPv6, a condizione che anche per la connessione in peering corrispondente il Tipo di stack IP sia impostato su IPv4 e IPv6 (stack doppio).
  5. Per importare o esportare route personalizzate IPv4 e IPv6, scegli una o entrambe le seguenti opzioni:
    • Importa route personalizzate per importare le route personalizzate esportate dall'altra rete.
    • Esporta route personalizzate per esportare route personalizzate all'altra rete. L'altra rete deve importare le route per visualizzarle.
  6. Se la tua rete o la rete peer utilizza intervalli IPv4 pubblici utilizzati privatamente nelle rispettive subnet, queste route vengono esportate per impostazione predefinita, ma non importate per impostazione predefinita. Per importare route di subnet IPv4 pubbliche utilizzate privatamente, seleziona:
    • Importa route di subnet con IP pubblico per importare route di subnet IP pubbliche utilizzate privatamente esportate dall'altra rete
    • Fai clic su Salva.

gcloud

gcloud compute networks peerings update PEERING_NAME \
    --network=NETWORK \
    [--stack-type=STACK_TYPE] \
    [--import-custom-routes] \
    [--export-custom-routes] \
    [--export-subnet-routes-with-public-ip] \
    [--import-subnet-routes-with-public-ip]

Aggiorna quanto segue:

  • PEERING_NAME: il nome della connessione in peering esistente.
  • NETWORK: il nome della rete nel progetto connessa in peering.
  • STACK_TYPE: tipo di stack per la connessione in peering.
    • Specifica IPV4_ONLY per interrompere lo scambio esistente di route IPv6 sul peering e continuare a scambiare solo route IPv4.
    • Specifica IPV4_IPV6 per iniziare a scambiare le route IPv4 e IPv6, a condizione che anche per la connessione in peering corrispondente sia impostato stack_type su IPV4_IPV6.
  • --import-custom-routes indica alla rete di accettare route personalizzate dalla rete in peering. La rete in peering deve prima esportare le route.
  • --export-custom-routes indica alla rete di esportare route personalizzate nella rete in peering. La rete in peering deve essere impostata per importare le route.
  • --import-subnet-routes-with-public-ip, indica alla rete di accettare route subnet dalla rete in peering se questa rete utilizza indirizzi IPv4 pubblici utilizzati privatamente nelle sue subnet. La rete in peering deve prima esportare le route.
  • --export-subnet-routes-with-public-ip indica alla rete di esportare le route subnet che contengono indirizzi IP pubblici utilizzati privatamente. La rete in peering deve essere impostata per importare le route.

Elenca connessioni in peering

Elenca le connessioni in peering esistenti per visualizzarne lo stato e se stanno importando o esportando route personalizzate.

Console

  1. Nella console Google Cloud, vai alla pagina Peering di rete VPC.
    Vai al peering di rete VPC
  2. Seleziona la connessione in peering per visualizzarne i dettagli.

gcloud

gcloud compute networks peerings list

Elenca le route dalle connessioni in peering

Puoi elencare le route dinamiche da cui la tua rete VPC importa o esporta in una rete VPC in peering. Per le route esportate, puoi verificare se una rete peer accetta o rifiuta le tue route personalizzate. Per le route importate, puoi verificare se la tua rete accetta o rifiuta le route personalizzate da una rete peer.

Potresti non vedere lo stesso numero di route per ogni regione. Per maggiori informazioni, consulta la sezione Risoluzione dei problemi.

Console

  1. Nella console Google Cloud, vai alla pagina Peering di rete VPC.
    Vai al peering di rete VPC
  2. Seleziona la connessione in peering per visualizzarne i dettagli.
  3. Visualizza le route personalizzate che la tua rete sta importando o esportando. Utilizza il selettore della regione per visualizzare le route dinamiche in una determinata regione. Le route statiche e statiche sono globali e vengono visualizzate per tutte le regioni.

    • Per visualizzare le route personalizzate importate, seleziona la scheda Route importate.
    • Per visualizzare le route personalizzate esportate, seleziona la scheda Route esportate.

gcloud

gcloud compute networks peerings list-routes PEERING_NAME \
    --network=NETWORK \
    --region=REGION \
    --direction=DIRECTION

Aggiorna quanto segue:

  • PEERING_NAME: il nome di una connessione di peering esistente.
  • NETWORK: il nome della rete nel progetto connessa in peering.
  • REGION: la regione in cui vuoi elencare tutte le route dinamiche. Le route statiche e statiche sono globali e vengono visualizzate per tutte le regioni.
  • DIRECTION: specifica se elencare le route importate (incoming) o esportate (outgoing).

Elimina una connessione di peering di rete VPC

Tu o un amministratore di rete della rete VPC peer potete eliminare una configurazione di peering. Dopo l'eliminazione di una configurazione di peering, la connessione di peering passa a INACTIVE nell'altra rete e tutte le route condivise tra le reti vengono rimosse.

Console

  1. Vai alla pagina Peering di rete VPC nella console Google Cloud.
    Vai al peering di rete VPC
  2. Seleziona la casella di controllo accanto al peering da rimuovere.
  3. Fai clic su Elimina.

gcloud

gcloud compute networks peerings delete PEERING_NAME \
    --network=NETWORK

Aggiorna quanto segue:

  • PEERING_NAME: il nome della connessione in peering da eliminare.
  • NETWORK: il nome della rete nel progetto connessa in peering.

Esempio di configurazione del peering di rete VPC

Considera un'organizzazione organization-a che deve stabilire il peering di rete VPC tra network-a in project-a e network-b in project-b. Per un peering di rete VPC corretto, gli amministratori di network-a e network-b devono configurare separatamente l'associazione di peering.

Passaggio 1: peer network-a con network-b

Un utente con le autorizzazioni IAM appropriate in project-a configura network-a per il peering con network-b. Ad esempio, gli utenti con il ruolo roles/editor o roles/compute.networkAdmin possono configurare il peering.

Peering da network-a a network-b
Peering da network-a a network-b (fai clic per ingrandire)

Prima di iniziare, hai bisogno degli ID progetto e dei nomi delle reti delle reti che vuoi stabilire il peering.

Console

  1. Vai alla pagina Peering di rete VPC nella console Google Cloud.
    Vai al peering di rete VPC
  2. Fai clic su Crea connessione.
  3. Fai clic su Continua.
  4. Inserisci un nome pari a peer-ab per questo lato della connessione.
  5. In La tua rete VPC, seleziona la rete che vuoi collegare in peering.
  6. Imposta i pulsanti di opzione Rete VPC di peering su In another project, a meno che tu non voglia eseguire il peering all'interno dello stesso progetto.
  7. Specifica l'ID progetto dell'altro progetto.
  8. Specifica il Nome rete VPC dell'altra rete.
  9. Seleziona Importa route personalizzate ed Esporta route personalizzate.
  10. Fai clic su Crea.

gcloud

gcloud compute networks peerings create peer-ab \
    --network=network-a \
    --peer-project=project-b \
    --peer-network=network-b \
    --import-custom-routes \
    --export-custom-routes

A questo punto, lo stato del peering rimane INACTIVE perché non esiste una configurazione corrispondente in network-b in project-b.

Quando lo stato del peering diventa ACTIVE, il peering di rete VPC scambia automaticamente le route della subnet. Google Cloud scambia inoltre route personalizzate (route statiche e dinamiche) importandole o esportandole sulla connessione di peering. Entrambe le reti devono essere configurate per lo scambio di route personalizzate prima di essere condivise. Per ulteriori informazioni, consulta Importazione ed esportazione di route personalizzate.

Per vedere lo stato di peering corrente, visualizza la connessione in peering:

Console

  1. Vai alla pagina Peering di rete VPC nella console Google Cloud.
    Vai al peering di rete VPC
  2. Lo stato indica "In attesa della connessione della rete peer".

gcloud

gcloud compute networks peerings list --network network-a

Passaggio 2: peer network-b con network-a

Un NetworkAdmin o un utente con le autorizzazioni IAM appropriate in project-b deve configurare la configurazione corrispondente da network-b a network-a affinché il peering diventi ACTIVE su entrambe le estremità.

Peering da network-b a network-a (fai clic per ingrandire)
Peering da network-a a network-b (fai clic per ingrandire)

Console

  1. Vai alla pagina Peering di rete VPC nella console Google Cloud.
    Vai al peering di rete VPC
  2. Fai clic su Crea connessione.
  3. Fai clic su Continua.
  4. Inserisci un nome pari a peer-ba per questo lato della connessione.
  5. In La tua rete VPC, seleziona la rete che vuoi collegare in peering.
  6. Imposta i pulsanti di opzione Rete VPC di peering su In another project, a meno che tu non voglia eseguire il peering all'interno dello stesso progetto.
  7. Specifica l'ID progetto dell'altro progetto.
  8. Specifica il Nome rete VPC dell'altra rete.
  9. Seleziona Importa route personalizzate ed Esporta route personalizzate.
  10. Fai clic su Crea.

gcloud

gcloud compute networks peerings create peer-ba \
     --network=network-b \
     --peer-project=project-a \
     --peer-network=network-a \
     --import-custom-routes \
     --export-custom-routes

Passaggio 3: il peering di rete VPC diventa ACTIVE

Non appena il peering passa allo stato ACTIVE, le route di subnet e le route personalizzate vengono scambiate. Sono configurati i seguenti flussi di traffico:

  • Tra istanze VM nelle reti in peering: connettività mesh completa.
  • Dalle istanze VM di una rete agli endpoint del bilanciatore del carico di rete passthrough interno nella rete in peering
Peering ATTIVO (fai clic per ingrandire)
Peering ATTIVO (fai clic per ingrandire)

Console

  1. Vai alla pagina Peering di rete VPC nella console Google Cloud.
    Vai al peering di rete VPC
  2. Lo stato indica "Connesso".
  3. Vai alla pagina Peering di rete VPC nell'altro progetto per vedere se è indicato anche "Connesso".

gcloud

gcloud compute networks peerings list --network network-a

Le route ai prefissi CIDR della rete in peering sono ora visibili tra i peer di rete VPC. Queste route sono route implicite generate per le connessioni in peering attive. Non hanno risorse di route corrispondenti. La seguente procedura mostra le route per tutte le reti VPC per project-a.

Console

  1. Vai alla pagina Route nella console Google Cloud.
    Vai a Routes

gcloud

gcloud compute routes list --project project-a

Creare più connessioni in peering

Considera lo scenario in cui le istanze VM in network-a devono accedere ai servizi di due diverse organizzazioni esterne: SaaS1 e SaaS2. Per accedere a entrambi utilizzando solo indirizzi IP interni, sono necessarie due connessioni di peering:

  • network-a peer con network-b, ossia in SaaS1
  • network-a peer con network-c, ossia in SaaS2

Con il peering di rete VPC, non importa che network-b e network-c si trovino in progetti e organizzazioni diverse.

Peering tra organizzazioni (fai clic per ingrandire)
Peering tra organizzazioni (fai clic per ingrandire)

Per creare questa configurazione, crea due diverse sessioni di peering.

Quote e limiti

Vedi Quote e limiti di peering di rete VPC.

Risoluzione dei problemi

Le sezioni seguenti descrivono come risolvere i problemi relativi al peering di rete VPC.

Le VM peer non sono raggiungibili

Quando la connessione in peering è ATTIVA, potrebbe essere necessario fino a un minuto per la configurazione di tutti i flussi di traffico tra le reti in peering. Questa volta dipende dalla dimensione delle reti sottoposte a peering. Se hai configurato la connessione in peering di recente, attendi un minuto e riprova. Inoltre, assicurati che non esistano regole firewall che bloccano l'accesso da/verso i CIDR della subnet VPC di rete peer.

Route personalizzate non scambiate tra reti in peering

Innanzitutto, elenca le route dalle connessioni in peering. Se non vedi percorsi per le destinazioni previste, controlla quanto segue:

  • Elenco delle connessioni in peering. Trova la rete con gli intervalli di destinazione desiderati e assicurati che lo stato di peering sia ACTIVE. Se la connessione in peering è INACTIVE, la configurazione di peering per la tua rete non esiste nell'altra rete. Se non gestisci l'altra rete, dovrai coordinarti con un amministratore di rete.

  • Aggiorna la configurazione del peering nella tua rete in modo che sia configurata per importare route personalizzate dall'altra rete. Assicurati che l'altra rete sia stata configurata per esportare le route personalizzate.

Il traffico destinato a una rete peer viene eliminato

Innanzitutto, elenca le connessioni in peering per assicurarti che la tua rete sia ancora connessa all'altra. Se lo stato del peering è INACTIVE, la configurazione di peering per la tua rete non esiste nell'altra rete. Se non gestisci l'altra rete, devi contattare un amministratore di rete che lo faccia.

Successivamente, elenca le route delle connessioni peer. Puoi importare solo il numero di route consentito dai limiti di peering di rete VPC.

Il traffico viene inviato a un hop successivo imprevisto

Controlla l'ordine di percorso per verificare se è stato scelto un altro percorso.

Impossibile eseguire il peering con una determinata rete VPC

Se non riesci a creare una configurazione di peering con determinate reti VPC, un criterio dell'organizzazione potrebbe vincolare le reti VPC con cui la tua rete può eseguire il peering. Nel criterio dell'organizzazione, aggiungi la rete all'elenco dei peer consentiti o contatta l'amministratore dell'organizzazione. Per saperne di più, consulta il vincolo di constraints/compute.restrictVpcPeering.

Route di subnet IPv6 non scambiate dopo l'aggiornamento di stack_type del peering a IPV4_IPV6

Assicurati che anche il valore di stack_type per la connessione in peering corrispondente sia impostato su IPV4_IPV6. Per consentire lo scambio di route e traffico IPv6, è necessario che stack_type sia impostato su IPV4_IPV6 su entrambi i lati di una connessione in peering.

Route dinamiche IPv6 non esportate dopo l'aggiornamento di stack_type del peering in IPV4_IPV6

Per esportare route IPv6 dinamiche e statiche, devi abilitare i flag –export-custom-route e –import-custom-route sulle connessioni in peering corrispondenti.

Route statiche e dinamiche IPv6 non scambiate dopo l'abilitazione dell'importazione e dell'esportazione di route personalizzate

Assicurati che per entrambi i peering sia impostato stack_type su IPV4_IPV6.

Alcune route dinamiche sono importate, ma non le vedo tutte

Considera quanto segue:

  • Potresti non vedere lo stesso numero di route per ogni regione. Se più route con gli stessi intervalli di indirizzi IP vengono scambiate tra regioni, vengono importate solo le route con la priorità più alta. Se queste route vengono scambiate nella stessa regione, vengono importate tutte.

  • Quando una rete raggiunge il limite per gruppo di peering di route dinamiche, non vengono importate altre route. Tuttavia, non è possibile determinare quali route vengono omesse.

Passaggi successivi