Network Connectivity Center consente di utilizzare un'appliance virtuale di rete di terze parti per stabilire la connettività tra un sito esterno e le risorse di rete Virtual Private Cloud (VPC). Per stabilire la connettività in questo modo, usa la funzionalità dell'appliance router.
L'appliance router è uno dei vari tipi di spoke supportati per Network Connectivity Center. Per informazioni su Network Connectivity Center, consulta la panoramica di Network Connectivity Center. Per ulteriori informazioni sull'appliance router, consulta la panoramica dell'appliance router.
Esempio di configurazione
Nella topologia seguente, un sito esterno si connette a due reti VPC utilizzando uno spoke dell'appliance router.
La VM che ospita l'istanza dell'appliance router ha un'interfaccia in ogni rete VPC. L'istanza dell'appliance router mantiene le sessioni BGP (Border Gateway Protocol) con i router Cloud in entrambe le reti.
Ogni router Cloud ha due interfacce. L'interfaccia dell'appliance router in ogni peer di rete con entrambe le interfacce del router Cloud appropriato, per un totale di quattro sessioni di peering.
Attività obbligatorie
Per impostare la configurazione di esempio, assicurati di soddisfare i prerequisiti per l'esecuzione di questa procedura, quindi completa le attività richieste:
Crea la macchina virtuale (VM) Compute Engine che funge da istanza dell'appliance router. Puoi creare la VM utilizzando una soluzione partner supportata o la tua immagine personalizzata.
Assicurati che l'istanza dell'appliance router sia accessibile al traffico BGP tramite la porta TCP 179. Per renderlo accessibile, potrebbe essere necessario creare regole firewall.
Crea due spoke, uno in ogni rete VPC. Ogni spoke utilizza la stessa istanza dell'appliance router come risorsa di supporto.
Configura due router Cloud, uno in ogni rete VPC. Per ogni router Cloud, questa attività include le seguenti attività secondarie:
Crea un router Cloud nella stessa regione dell'istanza dell'appliance router.
Crea due interfacce su ciascun router Cloud.
Configura il peering BGP su ciascun router Cloud.
Configura il peering BGP sull'istanza dell'appliance router.
Il modo in cui completi queste attività può variare in modo significativo. Ad esempio, se crei un'istanza dell'appliance router utilizzando una soluzione partner, alcune delle attività successive potrebbero essere automatizzate.
Prima di iniziare
Prima di iniziare, esamina le sezioni seguenti.
Crea o seleziona un progetto
Per semplificare la configurazione di Network Connectivity Center, inizia identificando un progetto valido.
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
Se utilizzi Google Cloud CLI, imposta l'ID progetto utilizzando il comando
gcloud config set
.gcloud config set project PROJECT_ID
Sostituisci
PROJECT_ID
con il tuo ID progetto univoco.Le istruzioni dell'interfaccia a riga della gcloud CLI in questa pagina presuppongono che l'ID progetto sia stato impostato.
Per confermare di aver impostato correttamente l'ID progetto, utilizza il comando
gcloud config list
.gcloud config list --format='text(core.project)'
Abilita l'API Network Connectivity
Prima di poter eseguire qualsiasi attività utilizzando Network Connectivity Center, devi abilitare l'API Network Connectivity.
Console
Per abilitare l'API Network Connectivity:
Nella console Google Cloud, vai alla pagina Centro connettività di rete.
Fai clic su Abilita.
In alternativa, puoi abilitare l'API utilizzando la libreria API della console Google Cloud, come descritto in Abilitazione delle API.
Chiedi l'accesso
Per utilizzare Network Connectivity Center, è necessario disporre delle autorizzazioni descritte in Ruoli e autorizzazioni.
Quando configuri Network Connectivity Center, utilizzi anche le risorse di Google Cloud come le reti VPC, le subnet e le regole firewall. Per ulteriori informazioni sulle autorizzazioni necessarie per lavorare con queste risorse, consulta la documentazione sul controllo dell'accesso di Compute Engine.
Indirizzi IP e istanze dell'appliance router
Per configurare un'istanza dell'appliance router, devi stabilire il peering tra l'istanza e il router Cloud. Per configurare il peering, la VM deve usare un indirizzo IP interno RFC 1918. Non puoi eseguire il peering di queste due risorse se la VM usa un tipo diverso di indirizzo. Inoltre, entrambi gli indirizzi IP devono essere nella stessa regione.
Per informazioni su come visualizzare gli indirizzi IP di una VM, consulta i seguenti documenti:
- Individuare gli indirizzi IP per un'istanza VM
- Visualizzazione degli indirizzi IP non collegati a un'istanza VM
Per definizioni e informazioni dettagliate sui tipi di indirizzi IP, vedi Indirizzi IP.
Prenota un indirizzo IP interno statico (consigliato)
Ti consigliamo di assegnare all'istanza dell'appliance router un indirizzo IP interno statico in modo che l'indirizzo non cambi durante il riavvio. Se l'indirizzo cambia, il peering BGP non riesce.
Esistono diverse opzioni per assegnare un indirizzo IP riservato. Puoi prenotare l'indirizzo IP in anticipo. In alternativa, puoi prenotare l'indirizzo IP quando crei la VM. Se per errore assegni alla VM un indirizzo temporaneo, puoi convertirlo in un secondo momento in un indirizzo statico. Per ulteriori informazioni sugli indirizzi IP statici, consulta Prenotazione di indirizzi IP statici.
Indirizzi IP per il peering BGP
Un'istanza dell'appliance router usa il proprio indirizzo IP
interno per il peering con il router Cloud. L'istanza non utilizza un indirizzo locale rispetto al collegamento (come 169.254.x.x
) per il peering BGP.
Analogamente, il router Cloud utilizza due indirizzi IP interni RFC 1918 per il peering con l'istanza dell'appliance router, uno per ogni interfaccia. Questi indirizzi IP possono essere assegnati manualmente o automaticamente dalla subnet che contiene sia l'interfaccia dell'istanza dell'appliance router sia l'interfaccia del router Cloud.
Creazione di risorse VPC
Le seguenti sezioni descrivono come creare reti e subnet VPC.
crea due reti VPC
Se non l'hai già fatto, crea due reti VPC. Imposta la modalità di routing dinamico di ogni rete su global
.
Per ulteriori informazioni sulla creazione di reti VPC, consulta Creazione di reti.
Console
Per creare una rete VPC personalizzata utilizzando la console Google Cloud, consulta Creazione di una rete in modalità personalizzata.
Assicurati di impostare Modalità di routing dinamico su Globale. Se vuoi seguire le convenzioni di denominazione utilizzate nella configurazione di esempio, chiama le tue reti network-a
e network-b
.
gcloud
Per creare una rete VPC personalizzata, utilizza il comando gcloud compute networks create
.
gcloud compute networks create NAME \ --subnet-mode custom \ --bgp-routing-mode global
Sostituisci NAME
con il nome della rete VPC, ad esempio network-a
o network-b
.
API
Per creare una rete VPC personalizzata mediante l'API Compute Engine, consulta Utilizzo di VPC.
Crea una subnet
Crea una subnet in network-a
e una subnet in network-b
.
Console
Per aggiungere una subnet utilizzando la console Google Cloud, consulta Aggiungere subnet.
Se vuoi seguire le convenzioni di denominazione utilizzate nella configurazione di esempio, utilizza i seguenti valori per la subnet in network-a
:
- Nome:
subnet-a
- Regione:
us-central1
- Intervallo:
10.1.3.0/24
Utilizza i seguenti valori per la subnet in network-b
:
- Nome:
subnet-b
- Regione:
us-central1
- Intervallo:
192.168.10.0/24
gcloud
Per creare una subnet VPC, utilizza il comando gcloud compute networks subnets create
.
gcloud compute networks subnets create NAME \ --network=NETWORK \ --region=REGION \ --range=RANGE
Sostituisci quanto segue:
NAME
: il nome della subnet che contiene la VM dell'appliance router, ad esempiosubnet-a
osubnet-b
NETWORK
: la rete che contiene la subnet, ad esempionetwork-a
onetwork-b
REGION
: la regione che contiene la subnet, ad esempious-central1
RANGE
: l'intervallo IP della subnet con notazione CIDR, ad esempio10.1.3.0/24
o192.168.10.0/24
API
Per creare una subnet VPC utilizzando l'API Compute Engine, consulta Utilizzo di VPC.
Crea la VM dell'appliance router
Crea la VM di Compute Engine che funge da istanza dell'appliance router. La VM è rappresentata nella topologia di esempio come router-app-a
. Ha due
interfacce, una in network-a
e una in network-b
.
Quando crei la VM, devi selezionare un'immagine dell'appliance virtuale di rete. Questa immagine può essere:
Una soluzione fornita da un partner di Network Connectivity Center supportato
Un'immagine personalizzata, ad esempio un'immagine creata da te
Per ulteriori informazioni su come specificare le immagini, consulta le seguenti risorse:
- Panoramica delle immagini
- Best practice per le famiglie di immagini
- Creare, eliminare e ritirare immagini personalizzate
Per informazioni dettagliate sulla creazione di una VM, consulta Creazione e avvio di un'istanza VM.
Gli esempi in questa sezione presuppongono che gli indirizzi IP siano riservati per l'istanza dell'appliance router. Per ulteriori informazioni, consulta Indirizzi IP per l'appliance router.
Console
Per creare la VM utilizzata nella configurazione di esempio, consulta Creazione e avvio di un'istanza VM. Quando crei la VM, effettua le seguenti scelte:
Se vuoi seguire le convenzioni di denominazione utilizzate nella configurazione di esempio, utilizza i seguenti valori:
- Nome:
router-app-a
- Regione:
us-central1
- Zona:
us-central1-a
- Nome:
Per selezionare un'immagine, vai all'area Disco di avvio della pagina, fai clic su Cambia e vai all'immagine appropriata per la VM.
Espandi Opzioni avanzate, quindi espandi Networking. Utilizza i seguenti valori:
- In IP forwarding, seleziona Abilita.
- In Interfacce di rete, crea due interfacce: una in
network-a
e una innetwork-b
. Per creare ogni interfaccia, seleziona la rete appropriata, quindi fai clic su Aggiungi un'interfaccia di rete. Completa i seguenti campi:- Seleziona la Subnet in cui vuoi individuare l'istanza dell'appliance router, ad esempio
subnet-a
osubnet-b
. - In IP interno principale, seleziona l'indirizzo IP interno RFC 1918 riservato che vuoi utilizzare, ad esempio
10.1.3.8
o192.168.10.3
. - In Livello di servizio di rete, seleziona Premium; questa scelta massimizza la misura in cui il traffico utilizza la rete di Google.
- Seleziona la Subnet in cui vuoi individuare l'istanza dell'appliance router, ad esempio
gcloud
Per creare le due VM dell'appliance router utilizzate nella configurazione di esempio, utilizza il comando gcloud compute instances create
.
Esegui il comando due volte, una per ogni istanza dell'appliance router. Sostituisci INSTANCE_NAME con il nome della VM che funge da istanza dell'appliance router.
Nell'esempio seguente, assegni l'indirizzo IP interno statico e l'indirizzo IP esterno statico che hai prenotato in precedenza nella VM. Inoltre, devi specificare il progetto che contiene un'immagine fornita dal fornitore per la VM insieme al nome dell'immagine.
gcloud compute instances create INSTANCE_NAME \ --project=PROJECT \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --network-tier=NETWORK_TIER \ --network-interface=[subnet=SUBNET,private-network-ip=INTERNAL_IP_ADDRESS] \ --can-ip-forward \ --image-project=IMAGE_PROJECT \ --image=IMAGE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome della VM che funge da istanza dell'appliance router, ad esempiorouter-app-a
orouter-app-b
PROJECT
: il nome del progetto che contiene le VM dell'appliance router, ad esempiomy-project
ZONE
: la zona Google Cloud in cui si trova la VM, ad esempious-west1-a
MACHINE_TYPE
: la risorsa del tipo di macchina da utilizzare per la VM, ad esempion1-standard-2
NETWORK_TIER
: quando crei le VM dell'appliance router, imposta il livello di rete supremium
. Questa scelta massimizza la misura in cui il traffico utilizza la rete GoogleSUBNET
: la subnet assegnata all'interfaccia di rete principale per la VM, ad esempiosubnet-a-1
INTERNAL_IP_ADDRESS
: l'indirizzo IP interno RFC 1918 assegnato all'interfaccia della VM che si connette al router Cloud, ad esempio10.0.1.10
IMAGE_PROJECT
: il nome del progetto che contiene l'immagine specificata nel campoimage
, ad esempiodebian-cloud
IMAGE
: il nome dell'immagine da installare, ad esempio,debian-10-buster-v20210217
API
Per creare le due VM dell'appliance router utilizzate nella configurazione di esempio, utilizza il metodo compute.instances.insert
.
Per altri metodi di creazione, consulta Creazione e avvio di un'istanza VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "INSTANCE_NAME", "canIpForward": "true", "networkInterfaces": [{ "subnetwork": "regions/REGION/subnetworks/SUBNET", "networkIP": "INTERNAL_IP_ADDRESS", "accessConfigs": [{ "networkTier": "NETWORK_TIER, }] }], "disks": [{ "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true }] }
Sostituisci quanto segue:
PROJECT
: il nome del progetto che contiene le VM dell'appliance router, ad esempiomy-project
ZONE
: la zona Google Cloud in cui si trova la VM, ad esempious-west1-a
MACHINE_TYPE
: la risorsa del tipo di macchina da utilizzare per la VM, ad esempiozones/us-west1-a/machineTypes/n1-standard-2
INSTANCE_NAME
: il nome della VM, ad esempiorouter-app-a
orouter-app-b
REGION
: la regione che contiene la VM, ad esempious-west1
SUBNET
: la subnet assegnata all'interfaccia di rete principale per la VM, ad esempioregions/us-west1/subnetworks/subnet-a-1
INTERNAL_IP_ADDRESS
: l'indirizzo IP interno RFC 1918 assegnato alla VM; configura l'indirizzo per l'interfaccia della VM che si connette al router Cloud, ad esempio10.0.1.10
NETWORK_TIER
: quando crei le VM dell'appliance router, imposta il livello di rete supremium
. Questa scelta massimizza la misura in cui il traffico utilizza la rete GoogleIMAGE_PROJECT
: il nome del progetto che contiene l'immagine specificata durante la creazione della VM, ad esempiodebian-cloud
IMAGE
: il nome dell'immagine da utilizzare durante la creazione della VM, ad esempiodebian-10-buster-v20210217
Crea una regola firewall per consentire BGP
Crea due regole firewall, una in network-a
e una in network-b
. Ogni regola deve consentire il traffico BGP sulla porta TCP 179
.
Per ulteriori informazioni sui comandi firewall, consulta Utilizzo delle regole firewall.
Console
Per creare una regola firewall VPC utilizzando la console Google Cloud, consulta Creazione di regole firewall.
gcloud
Per creare una regola firewall VPC utilizzando Google Cloud CLI, consulta Creazione di regole firewall.
API
Per creare una regola firewall VPC utilizzando l'API Compute Engine, consulta Creazione di regole firewall.
Crea risorse di Network Connectivity Center
Prima di poter utilizzare la VM di un'appliance router, devi creare le risorse necessarie di Network Connectivity Center.
Crea un hub
Prima di poter creare spoke di Network Connectivity Center, devi creare un hub.
Console
Nella console Google Cloud, vai alla pagina Centro connettività di rete.
Nel menu del progetto, seleziona un progetto.
Inserisci un Nome hub.
Inserisci una descrizione facoltativa.
Verifica l'ID progetto. Se l'ID progetto non è corretto, seleziona un progetto diverso usando il menu nella parte superiore dello schermo.
Fai clic su Continua.
Nella console viene visualizzato un modulo che ti consente di creare uno spoke. Per compilarlo ora, utilizza i passaggi descritti in Creare uno spoke dell'appliance router.
Fai clic su Fine.
gcloud
Per creare un hub, utilizza il comando gcloud network-connectivity hubs create
.
gcloud network-connectivity hubs create HUB_NAME \ --description="DESCRIPTION" \ --labels="KEY"="VALUE"
Sostituisci i seguenti valori:
HUB_NAME
: il nome del nuovo hubDESCRIPTION
: testo facoltativo che descrive l'hubKEY
: la chiave nella coppia chiave-valore per il testo dell'etichetta facoltativaVALUE
: il valore nella coppia chiave-valore per il testo dell'etichetta facoltativa
API
Per creare un hub, utilizza il
metodo networkconnectivity.hubs.create
.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs { "name":"HUB_NAME", "description":"DESCRIPTION", "labels": { "KEY": "VALUE" } }
Sostituisci i seguenti valori:
PROJECT_ID
: l'ID del progetto che contiene il nuovo hubHUB_NAME
: il nome del nuovo hubDESCRIPTION
: testo facoltativo che descrive l'hubKEY
: la chiave nella coppia chiave-valore per il testo dell'etichetta facoltativaVALUE
: il valore nella coppia chiave-valore per il testo dell'etichetta facoltativa
crea due spoke dell'appliance router
Crea due spoke dell'appliance router. Entrambi gli spoke usano la stessa risorsa
di supporto, ovvero l'istanza dell'appliance router appena creata. Uno spoke utilizza l'interfaccia in network-a
e l'altro utilizza l'interfaccia in network-
b
.
È necessario creare uno spoke per abilitare il peering BGP tra l'istanza dell'appliance router e il router Cloud, che creerai nel passaggio successivo.
Per ulteriori informazioni su come creare uno spoke, consulta Utilizzare hub e spoke.
Console
Inserire i dettagli di base dello spoke
Nella console Google Cloud, vai alla pagina Centro connettività di rete.
Nel menu del progetto, seleziona un progetto.
Fai clic sulla scheda Spoke.
Fai clic su Aggiungi spoke.
Nel modulo Nuovo spoke, imposta Tipo di spoke su appliance router.
Inserisci un Nome spoke, ad esempio
spoke-a
ospoke-b
Se vuoi, inserisci una descrizione.
Seleziona il campo Regione per il nuovo spoke.
In Trasferimento di dati site-to-site, seleziona Off.
Nell'elenco a discesa Rete VPC, seleziona una rete.
Inserisci i dettagli dell'appliance router
- In Collega istanze allo spoke, utilizza l'elenco a discesa per selezionare un'appliance router, ad esempio
router-app-a
. - Per aggiungere altre istanze dell'appliance router a questo spoke, fai clic su Aggiungi istanza e ripeti il passaggio precedente.
- Al termine, fai clic su Fine e passa a Salva lo spoke.
Salva gli spoke
- Per aggiungere i secondi spoke, fai clic su Aggiungi spoke e riavvia la procedura di nuovo, iniziando con l'inserimento di un nome spoke.
- Quando hai finito di aggiungere gli spoke, fai clic su Crea. La pagina Network Connectivity Center viene aggiornata per mostrare i dettagli sugli spoke che hai creato.
gcloud
Per creare gli spoke dell'appliance router, utilizza il comando gcloud network-connectivity spokes linked-router-appliances create
.
Esegui il comando due volte, una per ogni spoke.
gcloud network-connectivity spokes linked-router-appliances create NAME \ --hub="HUB_URI" \ --description="DESCRIPTION" \ --router-appliance=instance="ROUTER_APPLIANCE_URI",ip=IP_ADDRESS \ --region=REGION \ --labels="KEY"="VALUE" \
Sostituisci i seguenti valori:
NAME
: il nome dello spoke, ad esempiospoke-a
HUB_URI
: l'URI dell'hub a cui stai collegando lo spokeDESCRIPTION
: testo facoltativo che descrive il parlatoROUTER_APPLIANCE_URI
: l'URI dell'istanza dell'appliance router, ad esempio,https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
: l'indirizzo IP interno dell'istanza dell'appliance router, nella rete VPC appropriata, ad esempio10.1.3.8
o192.168.10.3
REGION
: la regione Google Cloud in cui vuoi individuare lo spoke, ad esempious-central1
KEY
: la chiave nella coppia chiave-valore per il testo dell'etichetta facoltativaVALUE
: il valore nella coppia chiave-valore per il testo dell'etichetta facoltativaAd esempio, il seguente comando crea uno spoke dell'appliance router che utilizza
router-app-a
come risorse sottostanti. Questo comando fa riferimento all'istanza dell'appliance router utilizzando la relativa interfaccianetwork-a
:gcloud network-connectivity spokes linked-router-appliances create spoke-a \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a",ip=10.1.3.8 \ --region=us-central1 \
Ad esempio, il seguente comando crea uno spoke dell'appliance router che utilizza
router-app-a
come risorse sottostanti. Questo comando fa riferimento all'istanza dell'appliance router utilizzando la relativa interfaccianetwork-b
:gcloud network-connectivity spokes linked-router-appliances create spoke-b \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a",ip=192.168.10.3\ --region=us-central1 \
API
Per creare uno spoke dell'appliance router, utilizza il metodo networkconnectivity.spokes.create
.
Per ogni istanza dell'appliance router che vuoi associare
allo spoke, aggiungi un'istanza
utilizzando l'array linkedRouterApplianceInstances.instances
.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME { "hub": "HUB_URI", "labels": {"KEY": "VALUE"}, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "ROUTER_APPLIANCE_URI", "ipAddress": INTERNAL_IP_ADDRESS, }, ], "siteToSiteDataTransfer": BOOLEAN } }
Sostituisci i seguenti valori:
PROJECT_ID
: l'ID del progettoREGION
: la regione Google Cloud in cui vuoi individuare lo spoke, ad esempious-west1
SPOKE_NAME
: il nome che vuoi assegnare allo spokeHUB_URI
: l'URI dell'hub a cui stai collegando lo spoke, ad esempiohttp://networkconnectivity.googleapis.com/v1/projects/PROJECT_NAME/locations/global/hubs/HUB_NAME
KEY
: la chiave nella coppia chiave-valore per il testo dell'etichetta facoltativaVALUE
: il valore nella coppia chiave-valore per il testo dell'etichetta facoltativaROUTER_APPLIANCE_URI
: l'URI dell'istanza dell'appliance router, ad esempio,https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
: l'indirizzo IP interno dell'istanza dell'appliance router per la rete VPC appropriata, ad esempio10.1.3.8
o192.168.10.3
BOOLEAN
: un valore che determina se il trasferimento di dati da sito a sito è abilitato per questo spoke; per questo caso d'uso, imposta l'opzione sufalse
Ad esempio, per creare uno spoke che utilizzi
router-app-a
per l'interfaccia innetwork-a
, il corpo della richiesta deve essere strutturato come segue:{ "hub": "http://networkconnectivity.googleapis.com/v1/projects/my-project/locations/global/hubs/my-hub", "labels": { "environment" : "test" }, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a", "ipAddress": "10.1.3.8", }, ], "siteToSiteDataTransfer": false } }
Per creare uno spoke che utilizzi
router-app-a
per l'interfaccia innetwork-b
, il corpo della richiesta deve essere strutturato come segue:{ "hub": "http://networkconnectivity.googleapis.com/v1/projects/my-project/locations/global/hubs/my-hub", "labels": { "environment" : "test" }, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a", "ipAddress": "192.168.10.3", }, ], "siteToSiteDataTransfer": false } }
Configura i router Cloud
L'appliance router utilizza i router Cloud per scambiare route con le reti VPC. Per questo motivo, devi creare un router Cloud in ogni rete VPC e completare alcune altre attività di configurazione.
crea i router Cloud
Se utilizzi gli stessi valori della topologia di esempio, crea due router Cloud, uno in network-a
e uno in network-b
. Entrambi i router Cloud devono trovarsi in us-central1
.
Per maggiori informazioni, consulta Creazione di router Cloud.
Console
Per creare un router Cloud nella console Google Cloud, segui uno dei seguenti approcci:
Utilizza la pagina Router Cloud, come descritto in Creare un router Cloud.
Utilizza la pagina Network Connectivity Center. Il vantaggio di questo approccio è che consente di creare il router, le interfacce e le sessioni BGP contemporaneamente. Per ulteriori informazioni su come completare tutti questi passaggi insieme, consulta Configurazione del peering BGP sul router Cloud.
gcloud
Per creare un router Cloud, utilizza il comando gcloud compute routers create
.
gcloud compute routers create NAME \ --region=REGION \ --network=NETWORK \ --asn=ASN \ --project=PROJECT_ID
Sostituisci quanto segue:
NAME
: il nome del router Cloud, ad esempiocloud-router-a
ocloud-router-b
REGION
: la regione che contiene il router Cloud, ad esempious-central1
NETWORK
: la rete VPC che contiene il router Cloud, ad esempionetwork-a
onetwork-b
ASN
: il numero di sistema autonomo (ASN) per il router Cloud. Questo ASN deve essere un ASN privato a 16 o 32 bit come definito nel documento RFC 6996, ad esempio65000
PROJECT_ID
: l'ID progetto per il router Cloud, ad esempiomy-project
API
Per creare un router Cloud, utilizza il metodo compute.routers.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers { "name": "NAME", "network": "NETWORK", "bgp": { "asn": ASN } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per il router Cloud, ad esempiomy-project
REGION
: la regione che contiene il router Cloud, ad esempious-central1
NAME
: il nome del router Cloud, ad esempiocloud-router-a
ocloud-router-b
NETWORK
: l'URI della rete VPC che contiene il router Cloud, ad esempio/global/networks/network-a
o/global/networks/network-b
ASN
: il numero di sistema autonomo (ASN) per il router Cloud. Questo ASN deve essere un ASN privato a 16 o 32 bit come definito nel documento RFC 6996, ad esempio65000
crea due interfacce su ciascun router Cloud
Per stabilire la ridondanza, crea due interfacce su ciascun router Cloud. Su ogni router Cloud, le due interfacce devono essere associate alla stessa subnet dell'interfaccia dell'appliance router corrispondente. Se utilizzi i valori della topologia di esempio:
- Per
cloud-router-a
, crea due interfacce insubnet-a
. - Per
cloud-router-b
, crea due interfacce insubnet-b
.
Ogni interfaccia del router Cloud utilizza un indirizzo IP interno a livello di regione. Se specifichi esplicitamente l'indirizzo IP interno dell'interfaccia, l'indirizzo IP deve appartenere all'intervallo di indirizzi IP principali della subnet. Non può essere già utilizzato da un'altra risorsa, ad esempio una VM o un'altra interfaccia di router Cloud.
Non esistono istruzioni della console Google Cloud per questo passaggio. Se utilizzi la console Google Cloud, le interfacce vengono create automaticamente quando completi l'attività successiva (Creazione del peering BGP su ciascun router Cloud).
gcloud
Per creare interfacce ridondanti sui tuoi router Cloud, utilizza il comando gcloud compute routers add-interface
.
Completa i seguenti passaggi due volte, una per cloud-router-a
e
di nuovo per cloud-router-b
:
Per ogni router Cloud, crea la prima interfaccia:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name=FIRST_INTERFACE_NAME \ --ip-address=FIRST_INTERFACE_IP_ADDRESS \ --subnetwork=SUBNET \ --region=REGION \ --project=PROJECT_ID
Sostituisci quanto segue:
ROUTER_NAME
: il nome del router Cloud da aggiornare, ad esempiocloud-router-a
ocloud-router-b
FIRST_INTERFACE_NAME
: il nome dell'interfaccia, ad esempiointerface-1
FIRST_INTERFACE_IP_ADDRESS
: l'indirizzo IP interno RFC 1918 da utilizzare per la prima interfaccia; se non specifichi un valore, Google cerca di trovare un indirizzo libero nell'intervallo di indirizzi IP principali della subnetSUBNET
: la subnet che contiene l'interfaccia del router Cloud e la corrispondente interfaccia dell'istanza dell'appliance routerREGION
: la regione Google Cloud in cui si trova il router Cloud, ad esempious-central1
PROJECT_ID
: l'ID progetto per il router Cloud, ad esempiomy-project
Per ogni router Cloud, crea la seconda interfaccia:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name=SECOND_INTERFACE_NAME \ --ip-address=SECOND_INTERFACE_IP_ADDRESS \ --subnetwork=SUBNET \ --redundant-interface=FIRST_INTERFACE_NAME \ --region=REGION \ --project=PROJECT_ID
Sostituisci quanto segue:
ROUTER_NAME
: il nome del router Cloud da aggiornare, ad esempiocloud-router-a
ocloud-router-b
SECOND_INTERFACE_NAME
: il nome dell'interfaccia, ad esempiointerface-2
SECOND_INTERFACE_IP_ADDRESS
: l'indirizzo IP interno RFC 1918 da utilizzare per la seconda interfaccia; se non specifichi un valore, Google cerca di trovare un indirizzo libero nell'intervallo di indirizzi IP principali della subnetSUBNET
: la subnet che contiene le due interfacce del router Cloud e la corrispondente interfaccia dell'istanza dell'appliance routerFIRST_INTERFACE_NAME
: il nome dell'interfaccia creata nel Passaggio 1REGION
: la regione Google Cloud in cui si trova il router Cloud, ad esempious-central1
PROJECT_ID
: l'ID progetto per il router Cloud, ad esempiomy-project
Comandi di esempio per
cloud-router-a
Il comando seguente crea la prima interfaccia su
cloud-router-a
:gcloud compute routers add-interface cloud-router-a \ --interface-name=interface-1 \ --ip-address=10.1.3.14 \ --subnetwork=subnet-a \ --region=us-central1 \ --project=my-project
Il comando seguente crea la seconda interfaccia su
cloud-router-a
:gcloud compute routers add-interface cloud-router-a \ --interface-name=interface-2 \ --ip-address=10.1.3.15 \ --subnetwork=subnet-a \ --redundant-interface=interface-1 \ --region=us-central1 \ --project=my-project
Comandi di esempio per
cloud-router-b
Il comando seguente crea la prima interfaccia su
cloud-router-b
:gcloud compute routers add-interface cloud-router-b \ --interface-name=interface-1 \ --ip-address=192.168.10.14 \ --subnetwork=subnet-b \ --region=us-central1 \ --project=my-project
Il comando seguente crea la seconda interfaccia su
cloud-router-b
:gcloud compute routers add-interface cloud-router-b \ --interface-name=interface-2 \ --ip-address=192.168.10.15 \ --subnetwork=subnet-b \ --redundant-interface=interface-1 \ --region=us-central1 \ --project=my-project
API
Per creare interfacce ridondanti sui router Cloud,
utilizza il
metodo compute.routers.patch
.
Utilizza la seguente richiesta due volte, una per cloud-router-a
e
di nuovo per cloud-router-b
:
"PATCH https"://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "region":"REGION", "interfaces":[ { "name":"FIRST_INTERFACE_NAME", "privateIpAddress:"FIRST_INTERFACE_IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" }, { "name":"SECOND_INTERFACE_NAME", "privateIpAddress:"SECOND_INTERFACE_IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET", "redundantInterface": "FIRST_INTERFACE_NAME" } ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per il router Cloud, ad esempiomy-project
REGION
: la regione Google Cloud in cui si trova il router Cloud, ad esempious-central1
NAME
: il nome del router Cloud da aggiornare, ad esempiocloud-router-a
ocloud-router-b
NETWORK
: la rete VPC che contiene il router Cloud,ad esempionetwork-a
FIRST_INTERFACE_NAME
: il nome della prima interfaccia, ad esempiointerface-1
FIRST_INTERFACE_IP_ADDRESS
: l'indirizzo IP interno RFC 1918 da utilizzare per la prima interfaccia; se non specifichi un valore, Google cerca di trovare un indirizzo libero nell'intervallo di indirizzi IP principali della subnetSUBNET
: la subnet che contiene le due interfacce del router Cloud e la corrispondente interfaccia dell'istanza dell'appliance routerSECOND_INTERFACE_NAME
: il nome della seconda interfaccia, ad esempiointerface-2
SECOND_INTERFACE_IP_ADDRESS
: l'indirizzo IP interno RFC 1918 da utilizzare per la seconda interfaccia; se non specifichi un valore, Google cerca di trovare un indirizzo libero nell'intervallo di indirizzi IP principali della subnetComandi di esempio per
cloud-router-a
Il seguente comando crea due interfacce su
cloud-router-a
:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/routers/cloud-router-a { "region":"us-central1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"10.1.3.14", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a" }, { "name":"router-appliance-interface-1", "privateIpAddress:"10.1.3.15", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a", "redundantInterface": "router-appliance-interface-0" } ] }
Comando di esempio per
cloud-router-b
Il seguente comando crea due interfacce su
cloud-router-b
:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/routers/cloud-router-b { "region":"us-central1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"192.168.10.14", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-b" }, { "name":"router-appliance-interface-1", "privateIpAddress:"192.168.10.15", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-b", "redundantInterface": "router-appliance-interface-0" } ] }
Configura il peering BGP su ciascun router Cloud
Per ogni interfaccia sull'istanza dell'appliance router, devi creare due sessioni di peering BGP, una per ogni interfaccia del router Cloud. Se utilizzi i valori della topologia di esempio:
Crea due sessioni di peering tra
cloud-router-a
e l'interfaccianetwork-a
dirouter-app-a
.Crea due sessioni di peering tra
cloud-router-b
e l'interfaccianetwork-b
dirouter-app-a
.
Console
Completa i seguenti passaggi due volte, una per spoke-a
e
di nuovo per spoke-b
:
- Vai alla pagina Network Connectivity Center. Vai al Network Connectivity Center
- Nel menu del progetto, seleziona un progetto.
- Fai clic sulla scheda Spoke.
- Nella colonna Nome spoke, seleziona uno spoke per visualizzare la pagina Dettagli spoke. Ad esempio, seleziona
spoke-a
ospoke-b
.
Nella colonna Nome, individua
router-app-a
. Fai clic sull'icona Espandi per visualizzare i link Configura sessione BGP. Fai clic su uno di questi link. Di conseguenza, il sistema visualizza il riquadro Configura router Cloud e sessioni BGP.
-
In Router Cloud, esegui una delle seguenti operazioni:
- Per selezionare un router Cloud esistente, fai clic su Utilizza esistente. Utilizza il campo Router Cloud per identificare la risorsa appropriata, quindi fai clic su Seleziona e continua.
- Per creare un router Cloud nella pagina Centro connettività di rete, fai clic su Crea nuovo e segui le istruzioni per creare il router Cloud. Quindi, fai clic su Crea e continua.
- In Sessioni BGP, configura le due sessioni BGP. Completa i seguenti passaggi due volte, una per ogni sessione:
- Fai clic su Modifica sessione BGP.
- Compila il modulo inserendo un nome, un ASN peer e una priorità delle route annunciate (MED). Fai clic su Salva e continua.
- Fai clic su Crea.
gcloud
Per creare peer BGP sui router Cloud, utilizza il comando gcloud compute routers add-bgp-peer
.
Completa i seguenti passaggi due volte, una per cloud-router-a
e
di nuovo per cloud-router-b
:
Crea il primo peer BGP:
gcloud compute routers add-bgp-peer NAME \ --peer-name=PEER_NAME \ --interface=INTERFACE \ --peer-ip-address=PEER_IP_ADDRESS \ --peer-asn=PEER_ASN \ --instance=ROUTER_APPLIANCE \ --instance-zone=ROUTER_APPLIANCE_ZONE \ --region=REGION
Crea il secondo peer BGP:
gcloud compute routers add-bgp-peer NAME \ --peer-name=PEER_NAME \ --interface=INTERFACE \ --peer-ip-address=PEER_IP_ADDRESS \ --peer-asn=PEER_ASN \ --instance=ROUTER_APPLIANCE \ --instance-zone=ROUTER_APPLIANCE_ZONE \ --region=REGION
Sostituisci quanto segue:
NAME
: il nome del router Cloud da aggiornare, ad esempiocloud-router-a
ocloud-router-b
PEER_NAME
: il nome della sessione di peering BGP da stabilire con l'istanza dell'appliance routerINTERFACE
: il nome dell'interfaccia per questo peer BGPPEER_IP_ADDRESS
: l'indirizzo IP interno del router peer (l'istanza dell'appliance router), ad esempio10.1.3.8
o192.168.10.3
PEER_ASN
: il numero di sistema autonomo (ASN) BGP per questo peer BGP. Questo ASN deve essere un ASN privato a 16 bit o a 32 bit come definito nel documento RFC 6996ROUTER_APPLIANCE
: il nome della VM che funge da istanza dell'appliance router, ad esempiorouter-app-a
ROUTER_APPLIANCE_ZONE
: la zona in cui si trova la VM che funge da istanza dell'appliance router, ad esempious-central1-a
REGION
: la regione in cui si trova la VM che agisce come istanza dell'appliance router, ad esempious-central1
Comandi di esempio per
cloud-router-a
Utilizza i seguenti comandi per creare i peer BGP per
cloud-router-a
:gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-a-0 \ --interface=router-appliance-interface-0 \ --peer-ip-address=10.1.3.8 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-a-1 \ --interface=router-appliance-interface-1 \ --peer-ip-address=10.1.3.8 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
Comandi di esempio per
cloud-router-b
Utilizza i seguenti comandi per creare i peer BGP per
cloud-router-b
:gcloud compute routers add-bgp-peer cloud-router-b \ --peer-name=router-appliance-bgp-peer-router-app-a-0 \ --interface=router-appliance-interface-0 \ --peer-ip-address=192.168.10.3 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
gcloud compute routers add-bgp-peer cloud-router-b \ --peer-name=router-appliance-bgp-peer-router-app-a-1 \ --interface=router-appliance-interface-1 \ --peer-ip-address=192.168.10.3 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
API
Per creare peer BGP su un router Cloud, utilizza il metodo compute.routers.patch
.
Utilizza questo metodo due volte, una per cloud-router-a
e di nuovo per
cloud-router-b
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "bgpPeers": [ { "name": "PEER_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE", "peerAsn": PEER_ASN, } { "name": "PEER_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE", "peerAsn": PEER_ASN } ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per il router CloudREGION
: la regione in cui si trova la VM che agisce come istanza dell'appliance routerNAME
: il nome del router Cloud da aggiornarePEER_NAME
: il nome della sessione di peering BGP da stabilire con l'istanza dell'appliance routerINTERFACE_NAME
: il nome dell'interfaccia del router Cloud a cui aggiungere il peerIP_ADDRESS
: l'indirizzo IP interno RFC 1918 del router Cloud da usare per la sessione di peeringPEER_IP_ADDRESS
: l'indirizzo IP interno della VM che funge da istanza dell'appliance router; ad esempio,10.1.3.8
o192.168.10.3
ROUTER_APPLIANCE_INSTANCE
: il nome in formato URL della VM che funge da istanza dell'appliance routerROUTER_APPLIANCE_ZONE
: la zona in cui si trova la VM che funge da istanza dell'appliance routerPEER_ASN
: il numero di sistema autonomo (ASN) BGP per questo peer BGP. Questo ASN deve essere un ASN privato a 16 bit o a 32 bit come definito nel documento RFC 6996Comandi di esempio per
cloud-router-a
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "bgpPeers": [ { "name": "router-appliance-bgp-peer-router-app-a-0", "interfaceName": "router-appliance-interface-0", "ipAddress": "10.1.3.14", "peerIpAddress": "10.1.3.8", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001, } { "name": "router-appliance-bgp-peer-router-app-a-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "10.1.3.15", "peerIpAddress": "10.1.3.8", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001 } ] }
Comandi di esempio per
cloud-router-b
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-b { "bgpPeers": [ { "name": "router-appliance-bgp-peer-router-app-a-0", "interfaceName": "router-appliance-interface-0", "ipAddress": "192.168.10.14", "peerIpAddress": "192.168.10.3", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001, } { "name": "router-appliance-bgp-peer-router-app-a-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "192.168.10.15, "peerIpAddress": "192.168.10.3", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001 } ] }
Configura BGP sull'istanza dell'appliance router
configura l'istanza dell'appliance router per la connettività BGP ai due router Cloud. Per farlo, consulta la documentazione del fornitore per l'immagine dell'appliance router.
Passaggi successivi
- Per eliminare un'istanza dell'appliance router, consulta Eliminare le istanze dell'appliance router.
- Per visualizzare un elenco di partner le cui soluzioni sono integrate con Network Connectivity Center, consulta Partner di Network Connectivity Center.
- Per scoprire le risorse che puoi aggiungere agli spoke, consulta Spoke.
- Per visualizzare le informazioni su monitoraggio e logging dell'appliance router, consulta Visualizzazione di log e metriche.
- Per trovare soluzioni ai problemi dell'appliance router, consulta la pagina Risoluzione dei problemi.
- Per informazioni sull'interazione con Network Connectivity Center utilizzando l'API o gcloud CLI, consulta API e riferimenti.