Creazione di connessioni VPN ad alta disponibilità tra Google Cloud e Azure

Questo tutorial illustra come creare connessioni di rete privata virtuale (VPN) ad alta disponibilità tra Google Cloud e Microsoft Azure. Puoi utilizzare questi servizi VPN ad alta disponibilità per la comunicazione diretta tra le reti Virtual Private Cloud (VPC) in Google Cloud e nei gateway della rete virtuale di Microsoft Azure.

Questo documento presuppone che tu conosca i concetti di base delle reti VPC, del protocollo BGP (Border Gateway Protocol), delle VPN e dei tunnel IPsec (Internet Protocol Security).

Google Cloud fornisce un servizio VPN ad alta disponibilità per connettere la tua rete VPC ad ambienti in esecuzione al di fuori di Google Cloud, come Microsoft Azure, attraverso una connessione VPN IPsec. Una VPN ad alta disponibilità fornisce un accordo sul livello del servizio (SLA) con una disponibilità del servizio del 99,99% se configurata in base alle best practice di Google.

Panoramica dell'architettura

Il seguente diagramma mostra l'architettura descritta in questo documento.

Architettura di Kubernetes.

L'architettura mostrata nel diagramma include i seguenti componenti:

  • Router Cloud: un servizio Google Cloud completamente distribuito e gestito per fornire il routing dinamico utilizzando BGP per le tue reti VPC.
  • Gateway VPN ad alta disponibilità: un gateway VPN gestito da Google in esecuzione su Google Cloud. Ogni gateway VPN ad alta disponibilità è una risorsa di regione con due interfacce: l'interfaccia 0 e 1. Ognuna di queste interfacce ha il proprio indirizzo IP esterno.
  • Tunnel VPN: connessioni dal gateway VPN ad alta disponibilità su Google Cloud al gateway VPN peer su Azure attraverso il quale passa il traffico criptato.
  • Gateway di rete virtuale: due reti private definite nel servizio Azure Cloud.

Ogni connessione gateway di rete virtuale include due tunnel preconfigurati per puntare a un singolo gateway del cliente, che in questo caso è un'interfaccia gateway VPN ad alta disponibilità in Google Cloud. Con questa configurazione, il numero minimo di tunnel Cloud VPN richiesti per soddisfare lo SLA (accordo sul livello del servizio) con disponibilità del servizio del 99,99% è due.

Indirizzi IP necessari per le procedure

Per completare le procedure riportate in questo documento, utilizzi diversi indirizzi IP sia in Google Cloud che in Azure. Alcuni di questi indirizzi IP vengono assegnati automaticamente quando crei una risorsa.

Per gli indirizzi che non vengono assegnati automaticamente, puoi definire questi indirizzi IP in base agli indirizzi IP disponibili e alle esigenze della tua organizzazione.

Le risorse Google Cloud richiedono i seguenti indirizzi IP:

  • La creazione di una subnet per una rete Virtual Private Cloud richiede un intervallo di indirizzi IP definito dall'utente.
  • Dopo aver creato il gateway VPN ad alta disponibilità, Google Cloud assegna automaticamente due indirizzi IP esterni al gateway VPN ad alta disponibilità. Google assegna un indirizzo IP a ciascuna delle due interfacce del gateway. Sono necessari gli indirizzi IP per queste interfacce per configurare i gateway di rete locali in Azure.
  • Quando crei tunnel VPN ad alta disponibilità in Google Cloud, ogni tunnel richiede un'interfaccia BGP per il router Cloud e un'interfaccia BGP per il gateway di rete virtuale attivo (gateway VPN) in Azure. Per ogni tunnel, decidi una coppia di indirizzi IPv4 di peering BGP locali in un blocco /30 dagli intervalli 169.254.21.* e 169.254.22.*. Questi intervalli sono gli intervalli validi per gli indirizzi IPv4 del peering BGP di Azure APIPA. Devi selezionare quattro indirizzi IP in totale.

    Gli indirizzi IPv4 del peering BGP selezionati devono essere univoci tra tutti i router Cloud in tutte le regioni di una rete VPC.

Le risorse Azure richiedono i seguenti indirizzi IP:

  • Quando crei la rete virtuale (VNet), quest'ultima richiede uno spazio di indirizzi IP per la rete e uno spazio di indirizzi IP per la subnet della rete. Puoi utilizzare gli spazi indirizzi predefiniti o inserire spazi indirizzo definiti dall'utente.
  • Quando crei il gateway di rete virtuale attivo-attivo (gateway VPN), il gateway richiede un intervallo di indirizzi di subnet. Puoi utilizzare l'intervallo predefinito o inserire un intervallo definito dall'utente.
  • Quando configuri il BGP per il gateway VPN attivo-attivo, il gateway richiede due indirizzi IP di peering BGP APIPA. Come indicato in precedenza, gli intervalli validi per gli indirizzi IP di peering BGP dell'API di Azure sono 169.254.21.* e 169.254.22.*.
  • Dopo che hai creato un gateway VPN attivo-attivo, Azure assegna automaticamente un indirizzo IP esterno a ciascuna interfaccia del gateway. Questi indirizzi IP sono necessari per configurare il gateway VPN peer in Google Cloud.

Quando definisci gli indirizzi IP, assicurati di utilizzare un insieme univoco di indirizzi IP per ogni rete.

Obiettivi

  • Creare una rete virtuale di Azure (VNet) e un gateway di rete virtuale attivo-attivo (gateway VPN).
  • Crea i componenti necessari su Google Cloud: una rete VPC, un router Cloud, un gateway VPN ad alta disponibilità, un gateway VPN peer e due tunnel VPN ad alta disponibilità con sessioni BGP.
  • Creare due gateway di rete locali e due connessioni VPN in Azure. Verifica la configurazione del router Cloud e controlla lo stato dei tunnel VPN ad alta disponibilità in Google Cloud.
  • Testa la connessione Cloud VPN tra la rete VPC su Google Cloud e la rete virtuale (VNet) su Azure.

Costi

Le procedure riportate in questo documento utilizzano componenti fatturabili di Google Cloud, tra cui:

Per una stima dei costi per i componenti di Google Cloud, utilizza il Calcolatore prezzi di Google Cloud.

Le procedure in questo documento utilizzano componenti fatturabili dei servizi Cloud Azure di Microsoft, tra cui:

  • Gateway VPN
  • Gateway di rete locali

Per una stima dei costi per i componenti Azure, utilizza il Calcolatore prezzi di Azure.

Prima di iniziare

  1. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  2. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  3. Attiva l'API Compute Engine.

    Abilita l'API

  4. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

  5. Assicurati di disporre dei ruoli di amministratore richiesti per configurare i componenti di networking:

    • Amministratore di rete: compute.networkAdmin
    • Amministratore sicurezza: compute.securityAdmin
    • Amministratore Compute: compute.admin

    Per maggiori informazioni sugli scopi di questi ruoli, consulta Ruoli IAM per mansioni relative al networking.

Crea una rete virtuale e un gateway VPN attivo su Azure

In Azure, devi configurare i componenti seguenti:

  • Una rete virtuale di Azure (VNet) che consente alle risorse Azure di comunicare con Google Cloud VPN.
  • Un gateway di rete virtuale (gateway VPN) attivo e attivo che consente a entrambe le istanze delle macchine virtuali (VM) del gateway di stabilire tunnel VPN per la tua VPN Google Cloud.

Crea una rete virtuale

Una VNet consente alle risorse Azure di comunicare in modo sicuro tra loro, con internet e con altre reti (come Cloud VPN). Per ulteriori informazioni sulla creazione di una VNet, consulta la documentazione di Azure sulla creazione di una VNet.

  1. Accedi al portale Azure.
  2. Nella casella Cerca risorse, servizio e documenti (G+/), digita virtual network.
  3. Nell'elenco dei risultati di Marketplace, seleziona Rete virtuale.
  4. Nella pagina Rete virtuale, seleziona Crea.
  5. Nella scheda Informazioni di base della pagina Crea rete virtuale, configura le seguenti impostazioni VNet per Dettagli progetto e Dettagli istanza:

    1. Nella casella Abbonamento, verifica che l'abbonamento elencato sia corretto. Per modificare l'abbonamento, selezionalo dall'elenco .
    2. Per specificare il gruppo di risorse, fai clic su Crea nuovo per creare un nuovo gruppo e inserisci un nome, ad esempio azure‑to‑google‑resgroup, come nome del gruppo di risorse.
    3. Nella casella Nome, inserisci il nome della tua rete virtuale, ad esempio azure‑to‑google‑network.
    4. Nella casella Regione, seleziona una località per la rete virtuale.

      La località selezionata determina quella di archiviazione delle risorse di cui esegui il deployment su questa rete virtuale.

  6. Nella scheda Indirizzi IP, nella casella Spazio di indirizzi IPv4, utilizza lo spazio degli indirizzi e la subnet predefiniti creati da Azure.

  7. Nella scheda Sicurezza, lascia i valori per BastionHost, DDos Protection Standard e Firewall impostati sul valore predefinito di Disattiva.

  8. Per convalidare le impostazioni di VNet, seleziona Rivedi e crea.

  9. Dopo che le impostazioni sono state convalidate, seleziona Crea.

Crea un gateway VPN attivo e attivo

Le seguenti procedure creano il gateway VPN attivo-attivo:

  • La prima procedura definisce i dettagli del progetto e dell'istanza
  • La seconda procedura specifica l'indirizzo IP del gateway.

Al momento crei solo il gateway VPN attivo-attivo. Devi creare i componenti Google Cloud prima di poter configurare i tunnel necessari in Azure. Per ulteriori informazioni sulla creazione di un gateway VPN attivo-attivo, consulta l'argomento Configurare gateway VPN attivi-attivi utilizzando il portale nella documentazione di Azure.

Definisci i dettagli del gateway

  1. Accedi al portale Azure.
  2. In Ricerca risorse, servizio e documenti (G+/), digita virtual network gateway.
  3. In Servizi nei risultati di ricerca, individua e seleziona Gateway di rete virtuali.
  4. Nella pagina Gateway di rete virtuale, seleziona Crea.
  5. Nella scheda Informazioni di base della pagina Crea gateway di rete virtuale, specifica i seguenti valori per le opzioni nelle sezioni Dettagli progetto e Dettagli istanza:

    1. Nell'elenco Abbonamento, seleziona l'abbonamento che vuoi utilizzare.
    2. (Facoltativo) Nella casella Intervallo di indirizzi di subnet del gateway, inserisci l'intervallo di indirizzi per la subnet.
    3. Verifica che Gruppo di risorse mostri il gruppo di risorse corrispondente alla rete virtuale selezionata in questa pagina.
    4. In Nome, inserisci il nome del gateway, ad esempio azure‑to‑google‑gateway.
    5. Per Regione, seleziona la stessa area geografica che hai utilizzato durante la creazione di VNET.
    6. In Tipo di gateway, seleziona VPN.
    7. In Tipo VPN, seleziona il tipo di VPN Basata su route.

    8. Nell'elenco SKU, seleziona lo SKU del gateway che vuoi utilizzare.

      Gli SKU elencati nel menu a discesa dipendono dal tipo di VPN selezionato.

    9. Nell'elenco Generazione, seleziona la generazione che vuoi utilizzare.

    10. Nell'elenco Rete virtuale, seleziona la rete virtuale creata in precedenza.

  6. Rimani su questa pagina per la procedura successiva.

Definisci gli indirizzi IP del gateway

  1. Nella scheda Informazioni di base della pagina Crea gateway di rete virtuale, svolgi i passaggi che seguono per creare gli indirizzi IP esterni utilizzati dal gateway VPN attivo-attivo:

    1. In Indirizzo IP pubblico, seleziona Crea nuovo.

      Azure assegna automaticamente l'indirizzo IP esterno al gateway VPN attivo.

    2. Nella casella Nome indirizzo IP pubblico, digita un nome per l'istanza dell'indirizzo IP esterno, ad esempio azure‑to‑google‑network‑ip1.

    3. In Abilita la modalità attivo-attivo, seleziona Abilitata.

    4. (Facoltativo) Se disponibile per la tua regione, configura la zona di disponibilità. Ad esempio, puoi selezionare Ridondanza zona.

    5. Per Secondo indirizzo IP pubblico, seleziona Crea nuovo.

    6. Nella casella Nome indirizzo IP pubblico, digita il nome del secondo indirizzo IP esterno, ad esempio azure‑to‑google‑network‑ip2.

    7. In Configura BGP, seleziona Abilitato.

    8. Per Numeri di sistema autonomi (ASN), imposta l'ASN su un valore valido e consentito.

      Utilizza questo valore ASN quando configuri le sessioni BGP per i tunnel in Google Cloud. Registra questo valore come AZURE_ASN per fare riferimento a questo gateway VPN attivo e attivo.

    9. In Indirizzo IP BGP personalizzato di APIPA di Azure, inserisci il primo indirizzo IP BGP dell'APIPA e registra il valore come AZURE_BGP_IP_0. Gli intervalli validi per gli indirizzi IP BGP di Azure APIPA sono 169.254.21.* e 169.254.22.*.

    10. In Secondo indirizzo IP BGP personalizzato di Azure APIPA, inserisci il secondo indirizzo IP BGP dell'APIPA e registra il valore come AZURE_BGP_IP_1. Utilizzerai queste variabili per configurare le sessioni BGP in Google Cloud.

  2. Per eseguire la convalida, seleziona Rivedi e crea.

  3. Al termine della convalida, seleziona Crea per eseguire il deployment del gateway VPN.

Visualizza e registra gli indirizzi IP esterni per il gateway VPN attivo e attivo

Devi disporre degli indirizzi IP esterni che Azure ha assegnato automaticamente al gateway VPN attivo-attivo. Questi indirizzi IP vengono utilizzati per creare la risorsa gateway VPN peer in Google Cloud.

  1. Nella pagina Panoramica del gateway attivo-attivo che hai appena creato, individua gli indirizzi IP esterni del gateway.
  2. Registra gli indirizzi IP visualizzati sullo schermo:
    • Registra il primo indirizzo IP esterno come AZURE_GW_IP_0.
    • Registra il secondo indirizzo IP esterno come AZURE_GW_IP_1.

In seguito, il documento fa riferimento a questi indirizzi IP come AZURE_GW_IP_0 e AZURE_GW_IP_1.

Creare i componenti Google Cloud

Su Google Cloud, devi configurare i seguenti componenti:

  • Una rete VPC.
  • Un gateway VPN ad alta disponibilità.
  • Un router Cloud.
  • Un gateway VPN peer.
  • Tunnel VPN ad alta disponibilità con sessioni BGP.

Le seguenti procedure presuppongono che tu abbia configurato Google Cloud come descritto in Prima di iniziare. Se non hai completato questi passaggi, fallo ora.

Crea una rete VPC, una subnet, un gateway VPN ad alta disponibilità e un router Cloud su Google Cloud

Su Google Cloud, crei una rete VPC, crei un gateway VPN ad alta disponibilità, crei un router Cloud e quindi configuri le regole firewall su Google Cloud.

  1. In Google Cloud Shell, assicurati di lavorare nel progetto Cloud che hai creato o selezionato:

    gcloud config set project YOUR_PROJECT_ID
    
    export PROJECT_ID=`gcloud config list   --format="value(core.project)"`
    

    Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto Cloud.

  2. Crea una rete VPC personalizzata con un'unica subnet:

    gcloud compute networks create NETWORK \
        --subnet-mode SUBNET_MODE \
        --bgp-routing-mode BGP_ROUTING_MODE
    

    Sostituisci quanto segue:

    • NETWORK: il nome della rete, ad esempio google‑to‑azure‑vpc.
    • SUBNET_MODE: la modalità subnet è impostata su custom.
  3. BGP_ROUTING_MODE: la modalità di routing BGP è stata impostata su global.

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute networks create google-to-azure-vpc \
        --subnet-mode custom \
        --bgp-routing-mode global
    
  4. Crea una subnet per ospitare le VM di test:

    gcloud compute networks subnets create SUBNET_NAME \
        --network NETWORK \
        --region SUBNET_REGION \
        --range SUBNET_IP_ADDRESS_RANGE
    

    Sostituisci quanto segue:

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute networks subnets create subnet-central1  \
        --network google-to-azure-vpc \
        --region us-central1 \
        --range 10.1.1.0/24
    
  5. Crea il gateway VPN ad alta disponibilità:

    gcloud compute vpn-gateways create HA_VPN_GATEWAY_NAME \
        --network NETWORK \
        --region REGION
    

    Sostituisci HA_VPN_GATEWAY_NAME con il nome del gateway VPN ad alta disponibilità.

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute vpn-gateways create ha-vpn-gw-a \
       --network google-to-azure-vpc \
       --region us-central1
    

    Il gateway che crei dovrebbe essere simile al seguente output di esempio:

    Created [https://www.googleapis.com/compute/v1/projects/YOUR_PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a].
    NAME          INTERFACE0     INTERFACE1     NETWORK     REGION
    ha-vpn-gw-a   203.0.113.1   203.0.113.2   google-to-azure-vpc   us-central1
    

    L'output elenca gli indirizzi IPv4 esterni che sono stati assegnati automaticamente a ciascuna interfaccia gateway (INTERFACE0 e INTERFACE1). Avrai bisogno di questi indirizzi IP quando configuri i gateway di rete locali su Azure:

    • Registra l'indirizzo IP per INTERFACE0 in HA_VPN_INT_0.
    • Registra l'indirizzo IP per INTERFACE1 in HA_VPN_INT_1.
  6. Crea un router Cloud:

    gcloud compute routers create ROUTER_NAME \
        --region REGION \
        --network NETWORK \
        --asn GOOGLE_ASN \
    

    Sostituisci quanto segue:

    • ROUTER_NAME: il nome del router Cloud.
    • REGION: la regione in cui stai creando il gateway VPN ad alta disponibilità e i tunnel.
    • GOOGLE_ASN: il numero di sistema autonomo privato (ASN) per il router Cloud che stai creando. Può essere qualsiasi ASN privato nell'intervallo 64512-65534 o 4200000000-4294967294 che non stai già utilizzando come ASN peer nella stessa regione e nella stessa rete.

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute routers create cloud-router \
        --region us-central1 \
        --network google-to-azure-vpc \
        --asn 65534
    

Crea un gateway VPN peer per la VPN di Azure

In questa sezione creerai una risorsa gateway VPN esterno che fornisce a Google Cloud informazioni sul gateway VPN attivo-attivo in Azure. Puoi creare un singolo gateway VPN peer che utilizza due interfacce separate, ciascuna con il proprio indirizzo IP esterno.

Crea un singolo gateway VPN peer esterno con due interfacce:

gcloud compute external-vpn-gateways create AZURE_GW_NAME \
     --interfaces 0=AZURE_GW_IP_0,1=AZURE_GW_IP_1

Sostituisci quanto segue:

  • AZURE_GW_NAME: il nome del gateway VPN Azure attivo-attivo
  • AZURE_GW_IP_0: l'indirizzo IP esterno per un'interfaccia del gateway peer
  • AZURE_GW_IP_1: l'indirizzo IP esterno per un'altra interfaccia dal gateway peer

La risorsa gateway VPN peer che hai creato dovrebbe essere simile all'esempio seguente, dove AZURE_GW_IP_0 e AZURE_GW_IP_1 mostrano gli indirizzi IP esterni effettivi delle interfacce gateway peer:

gcloud compute external-vpn-gateways create azure-peer-gw \
     --interfaces 0=203.0.113.1,1=203.0.113.2

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
NAME     INTERFACE0    INTERFACE1
azure-peer-gw  203.0.113.1  203.0.113.2

Crea tunnel VPN

Devi creare due tunnel VPN: un tunnel per ogni interfaccia nel gateway VPN peer. Quando configuri tunnel VPN ad Azure, utilizza il protocollo di crittografia IKEv2.

Per i comandi utilizzati in questa sezione, sostituisci quanto segue:

  • TUNNEL_NAME_IF0 e TUNNEL_NAME_IF1: un nome per il tunnel; denominare i tunnel includendo il nome dell'interfaccia del gateway può aiutarti a identificare i tunnel in un secondo momento.
  • AZURE_GW_NAME: il nome del gateway peer esterno creato in precedenza
  • AZURE_GW_INT_NUM_0 e AZURE_GW_INT_NUM_1: i numeri di interfaccia configurati in precedenza sul gateway peer esterno.
  • IKE_VERS: utilizza 2 per IKEv2.
  • SHARED_SECRET: la chiave precondivisa (secret condiviso), che deve corrispondere alla chiave precondivisa specificata quando configuri le connessioni VPN in Azure. Per i consigli, consulta Generare una chiave precondivisa efficace.
  • HA_VPN_GATEWAY_NAME: il nome del gateway VPN ad alta disponibilità.
  • INT_NUM_0: il numero 0 per la prima interfaccia sul gateway VPN ad alta disponibilità creato in precedenza.
  • INT_NUM_1: il numero 1 per la seconda interfaccia sul gateway VPN ad alta disponibilità creato in precedenza.

Per creare i tunnel VPN, segui questi passaggi:

  1. Crea il tunnel VPN per l'interfaccia 0:

    gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
       --peer-external-gateway=AZURE_GW_NAME \
       --peer-external-gateway-interface=AZURE_GW_INT_NUM_0  \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=HA_VPN_GATEWAY_NAME \
       --interface=INT_NUM_0
    

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute vpn-tunnels create azure-tunnel-1 \
       --peer-external-gateway azure-peer-gw \
       --peer-external-gateway-interface 0  \
       --region us-central1  \
       --ike-version 2 \
       --shared-secret xo2aTKHipD/oE1GAXgj3lMwjBmJXZjqD \
       --router cloud-router \
       --vpn-gateway ha-vpn-gw-a \
       --interface 0
    
  2. Crea il tunnel VPN per l'interfaccia 1:

    gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \
      --peer-external-gateway=AZURE_GW_NAME \
      --peer-external-gateway-interface=AZURE_GW_INT_NUM_1 \
      --region=REGION \
      --ike-version=IKE_VERS \
      --shared-secret=SHARED_SECRET \
      --router=ROUTER_NAME \
      --vpn-gateway=HA_VPN_GATEWAY_NAME \
      --interface=INT_NUM_1
    

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute vpn-tunnels create azure-tunnel-2 \
       --peer-external-gateway azure-peer-gw \
       --peer-external-gateway-interface 1  \
       --region us-central1  \
       --ike-version 2 \
       --shared-secret xo2aTKHipD/oE1GAXgj3lMwjBmJXZjqD \
       --router cloud-router \
       --vpn-gateway ha-vpn-gw-a \
       --interface 1
    

Crea sessioni BGP

Per il routing dinamico, utilizza il router Cloud per stabilire le sessioni BGP tra Google Cloud e Azure. Ti consigliamo di utilizzare il routing dinamico anziché quello statico, quando possibile, come descritto nella Panoramica di Cloud VPN e Routing di rete e tunnel a Cloud VPN.

Devi creare una sessione BGP per ogni tunnel VPN. Ogni sessione BGP è composta da un'interfaccia BGP per il router Cloud e da un peer BGP. Creerai un peer BGP per ognuno dei due tunnel VPN appena creati.

Per i comandi utilizzati in questa sezione, sostituisci quanto segue:

  • ROUTER_NAME: il nome che hai assegnato al router Cloud.
  • ROUTER_INTERFACE_NAME_0 e ROUTER_INTERFACE_NAME_1: il nome dell'interfaccia BGP del router Cloud; può essere utile utilizzare nomi relativi ai nomi dei tunnel configurati in precedenza.
  • MASK_LENGTH: specifica 30; ogni sessione BGP sullo stesso router Cloud deve utilizzare un /30CIDR univoco del blocco 169.254.0.0/16.
  • GOOGLE_BGP_IP_0 e GOOGLE_BGP_IP_1: gli indirizzi IP di peering BGP per le interfacce del gateway VPN ad alta disponibilità che configuri; ogni tunnel utilizza un'interfaccia gateway diversa. Poiché gli intervalli consentiti per gli indirizzi IP del peering BGP dell'API di Azure sono 169.254.21.* e 169.254.22.*, devi selezionare un indirizzo IP disponibile nel CIDR /30 di questi intervalli per gli indirizzi IP di peering BGP del router Cloud.
  • AZURE_BGP_IP_0 e AZURE_BGP_IP_1: gli indirizzi IP del peering BGP APIPA che hai già configurato sul gateway VPN Azure active-active; ogni tunnel utilizza un indirizzo diverso.
  • TUNNEL_NAME_IF0 e TUNNEL_NAME_IF1: i tunnel associati all'interfaccia del gateway VPN ad alta disponibilità che hai configurato.
  • AZURE_ASN: l'ASN che hai configurato per il gateway VPN peer attivo-attivo in Azure.
  • BGP_PEER_NAME_1 e BGP_PEER_NAME_2 con nomi univoci per ogni peer BGP. Ad esempio, azure‑bgp‑peer‑1 e azure‑bgp‑peer‑2.

Per creare sessioni BGP per i tunnel VPN, segui questi passaggi:

  1. Per il primo tunnel VPN, aggiungi un'interfaccia BGP al router Cloud:

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --mask-length=MASK_LENGTH \
       --vpn-tunnel=TUNNEL_NAME_IF0 \
       --ip-address=GOOGLE_BGP_IP_0 \
       --region=REGION
    

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute routers add-interface cloud-router \
       --interface-name azure-tunnel-1-int-0 \
       --mask-length 30 \
       --vpn-tunnel azure-tunnel-1 \
       --ip-address 169.254.21.2 \
       --region us-central1
    
  2. Per il primo tunnel VPN, aggiungi un peer BGP all'interfaccia:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=BGP_PEER_NAME_1 \
       --peer-asn=AZURE_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --peer-ip-address=AZURE_BGP_IP_0 \
       --region=REGION
    

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute routers add-bgp-peer cloud-router \
       --peer-name azure-bgp-peer-1 \
       --peer-asn 65515 \
       --interface azure-tunnel-1-int-0 \
       --peer-ip-address 169.254.21.1 \
       --region us-central1
    
  3. Per il secondo tunnel VPN, aggiungi un'interfaccia BGP al router Cloud:

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1 \
       --mask-length=MASK_LENGTH \
       --vpn-tunnel=TUNNEL_NAME_IF0 \
       --ip-address=GOOGLE_BGP_IP_1 \
       --region=REGION
    

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute routers add-interface cloud-router \
       --interface-name azure-tunnel-2-int-1 \
       --mask-length 30 \
       --vpn-tunnel azure-tunnel-2 \
       --ip-address 169.254.22.2 \
       --region us-central1
    
  4. Per il secondo tunnel VPN, aggiungi un peer BGP all'interfaccia:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=BGP_PEER_NAME_2 \
       --peer-asn=AZURE_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --peer-ip-address=AZURE_BGP_IP_1 \
       --region=REGION
    

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute routers add-bgp-peer cloud-router \
      --peer-name azure-bgp-peer-2 \
      --peer-asn 65515 \
      --interface azure-tunnel-2-int-1 \
      --peer-ip-address 169.254.22.1 \
      --region us-central1
    

Creare gateway di rete locali e connessioni VPN in Azure

Dopo aver creato e configurato i componenti di Google Cloud, tornerai al tuo ambiente Azure per completare la connessione di Google Cloud ad Azure. Per completare la connessione, crea i seguenti componenti in Azure:

  • Due gateway di rete locali che rappresentano la tua VPN Google Cloud in Azure.
  • Due connessioni VPN corrispondenti ai due tunnel VPN ad alta disponibilità configurati in Google Cloud.

Creare due gateway di rete locali

Un gateway di rete locale è un oggetto specifico che rappresenta la tua VPN Google Cloud in Azure. Quando crei un gateway di rete locale, devi specificare le seguenti informazioni:

  • Un nome per il gateway di rete locale.
  • L'indirizzo IP dell'interfaccia VPN ad alta disponibilità da utilizzare nella connessione.
  • L'indirizzo IP del router Google Cloud a cui vuoi creare una connessione.
  • I prefissi degli indirizzi IP che vengono instradati al router Cloud tramite il gateway VPN. I prefissi degli indirizzi che specifichi sono quelli che si trovano in Cloud VPN. Se la rete privata virtuale Cloud cambia o se devi modificare l'indirizzo IP esterno del router Cloud, puoi aggiornare i valori in un secondo momento.

Devi creare due gateway di rete locali: un gateway che si connette alla prima interfaccia del tunnel VPN ad alta disponibilità su Google Cloud e un altro gateway che si connette alla seconda interfaccia del tunnel VPN ad alta disponibilità.

Per saperne di più, consulta la sezione Creare un gateway di rete locale del tutorial Creare una connessione VPN site-to-site nel portale Azure nella documentazione di Azure.

Per creare il primo gateway di rete locale, procedi nel seguente modo:

  1. Accedi al portale Azure.
  2. In Risorse di ricerca, servizio e documenti (G+/), digita gateway di rete locale.
  3. Nei risultati di ricerca in Marketplace, individua e seleziona gateway di rete locale.
  4. Fai clic su Crea.
  5. Nella scheda Impostazioni di base della pagina Crea gateway di rete locale, specifica i seguenti valori per il gateway di rete locale:

    1. Nell'elenco Abbonamento, verifica che sia visualizzato l'abbonamento corretto.
    2. Nell'elenco Gruppo di risorse, seleziona lo stesso gruppo di risorse che hai creato per la rete virtuale in precedenza in questo documento.
    3. Per Regione, seleziona la stessa località in cui si trova la rete virtuale.
    4. In Nome, inserisci un nome per il gateway di rete locale, ad esempio azure-to-google-locgateway1.
    5. Per Endpoint, seleziona Indirizzo IP.
    6. Nella casella Indirizzo IP, inserisci l'indirizzo IP per INTERFACE0 della VPN ad alta disponibilità (ossia, inserisci HA_VPN_INT_0).
    7. In Spazio degli indirizzi,inserisci gli intervalli di indirizzi per la rete rappresentata da questa rete locale.

      Puoi aggiungere più intervalli di spazi di indirizzi. Assicurati che gli intervalli specificati qui non si sovrappongano agli intervalli di altre reti a cui vuoi connetterti.

  6. Nella scheda Avanzate, configura le impostazioni BGP come segue:

    1. In Configura impostazioni BGP, seleziona .
    2. In ASN (Autonomous System Number), inserisci l'ASN del tuo router Cloud, ovvero GOOGLE_ASN.
    3. In Indirizzo IP peer BGP, inserisci l'indirizzo IP BGP per il router Cloud nel tunnel 1, ovvero inserisci GOOGLE_BGP_IP_0.
  7. Per convalidare la configurazione del gateway di rete locale, fai clic su Rivedi e crea nella parte inferiore della pagina.

  8. Una volta superata la convalida, fai clic su Crea per creare il gateway di rete locale.

Per creare il secondo gateway di rete locale, procedi nel seguente modo:

  1. Nel Portale Azure, in Ricerca risorse, servizio e documenti (G+/), digita local network gateway.
  2. In Marketplace, nei risultati di ricerca, individua e seleziona gateway di rete locale.
  3. Nella scheda Impostazioni di base della pagina Crea gateway di rete locale, specifica i seguenti valori per il gateway di rete locale:

    1. Nell'elenco Abbonamento, verifica che sia visualizzato l'abbonamento corretto.
    2. Nell'elenco Gruppo di risorse, seleziona lo stesso gruppo di risorse che hai creato per la rete virtuale in precedenza in questo documento.
    3. In Regione, seleziona la stessa regione della tua rete virtuale.
    4. In Nome, inserisci un nome per il gateway di rete locale, ad esempio azure-to-google-locgateway2.
    5. Per Endpoint, seleziona Indirizzo IP.
    6. Nella casella Indirizzo IP, inserisci l'indirizzo IP per INTERFACE1 della VPN ad alta disponibilità (ovvero, inserisci HA_VPN_INT_1).
    7. In Spazio degli indirizzi,inserisci gli intervalli di indirizzi per la rete rappresentata da questa rete locale.

    Puoi aggiungere più intervalli di spazi di indirizzi. Assicurati che gli intervalli specificati qui non si sovrappongano agli intervalli di altre reti a cui vuoi connetterti.

  4. Nella scheda Avanzate, configura le impostazioni BGP come segue:

    1. In Configura impostazioni BGP, seleziona .
    2. In ASN (Autonomous System Number), inserisci l'ASN del tuo router Cloud, ovvero GOOGLE_ASN.
    3. In Indirizzo IP peer BGP, inserisci l'indirizzo IP BGP per il router Cloud nel tunnel 1, ovvero inserisci GOOGLE_BGP_IP_1.
  5. Per convalidare la configurazione del gateway di rete locale, fai clic su Rivedi e crea nella parte inferiore della pagina.

  6. Una volta superata la convalida, fai clic su Crea per creare il gateway di rete locale.

Creare due connessioni VPN

Per creare le connessioni VPN in Azure, sono necessarie le chiavi precondivise, o SHARED_SECRET, che hai configurato quando hai configurato i tunnel VPN ad alta disponibilità su Google Cloud.

  1. Nel Portale Azure, individua il gateway VPN attivo-attivo che hai creato in Creare un gateway VPN attivo-attivo.
  2. Seleziona Connessioni.
  3. Nella parte superiore della pagina Connessioni, seleziona +Aggiungi.
  4. Nella pagina Aggiungi connessione, specifica i seguenti valori per la prima connessione:
    1. In Nome, inserisci un nome per la connessione, ad esempio azure-vnet-to-google1.
    2. In Tipo di connessione, seleziona Site-to-site (IPsec).
    3. Per Gateway di rete locale, specifica il primo gateway di rete locale che hai creato, ad esempio azure-to-google-locgateway1.
    4. In Chiave condivisa (PSK), specifica la chiave condivisa che hai configurato per il primo tunnel VPN ad alta disponibilità.
    5. Seleziona Abilita BGP.
    6. Per Protocollo IKE, seleziona IKEv2.
    7. Fai clic su Ok.
    8. Nella pagina Connessioni, seleziona +Aggiungi per aggiungere una seconda connessione con i seguenti valori:
    9. In Nome, inserisci un nome per la connessione, ad esempio azure-vnet-to-google2.
    10. In Tipo di connessione, seleziona Site-to-site (IPsec).
    11. Per Gateway di rete locale, specifica il secondo gateway di rete locale che hai creato, ad esempio azure-to-google-locgateway2.
    12. In Chiave condivisa (PSK), specifica la chiave condivisa che hai configurato per il secondo tunnel VPN ad alta disponibilità.
    13. Seleziona Abilita BGP.
    14. Per Protocollo IKE, seleziona IKEv2.
    15. Fai clic su Ok.
  5. Nella pagina Connessioni, verifica che lo stato di entrambe le connessioni sia Connesso.

Verificare la configurazione

In Google Cloud, puoi verificare la configurazione della VPN ad alta disponibilità esaminando innanzitutto la configurazione del router Cloud e poi controllando lo stato dei tunnel VPN ad alta disponibilità.

  1. In Cloud Shell, elenca gli indirizzi IP del peering BGP scelti dal router Cloud:

    gcloud compute routers get-status ROUTER_NAME \
       --region=REGION \
       --format='flattened(result.bgpPeerStatus[].name,
         result.bgpPeerStatus[].ipAddress, result.bgpPeerStatus[].peerIpAddress)'
    

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute routers get-status cloud-router \
        --region us-central1 \
    --format='flattened(result.bgpPeerStatus[].name,result.bgpPeerStatus[].ipAddress,result.bgpPeerStatus[].peerIpAddress)'
    

    L'output previsto per un router Cloud che gestisce due tunnel VPN ad alta disponibilità (indice 0 e indice 1) dovrebbe essere simile al seguente esempio:

    result.bgpPeerStatus[0].ipAddress:     169.254.21.2
    result.bgpPeerStatus[0].name:          azure-bgp-peer-1
    result.bgpPeerStatus[0].peerIpAddress: 169.254.21.1
    result.bgpPeerStatus[1].ipAddress:     169.254.22.2
    result.bgpPeerStatus[1].name:          azure-bgp-peer-2
    result.bgpPeerStatus[1].peerIpAddress: 169.254.22.1
    
  2. In Cloud Shell, visualizza lo stato del primo tunnel VPN ad alta disponibilità:

    gcloud compute vpn-tunnels describe TUNNEL_NAME_IF0 \
       --region=REGION
    

    Sostituisci quanto segue:

    • TUNNEL_NAME_IF0: il tunnel associato alla prima interfaccia del gateway VPN ad alta disponibilità che hai configurato.
    • REGION: regione in cui hai eseguito il deployment del gateway VPN ad alta disponibilità.

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute vpn-tunnels describe azure-tunnel-1 -–region=us-central1
    

    L'output previsto per il tunnel dovrebbe essere simile all'esempio seguente:

    creationTimestamp: '2022-09-28T17:13:21.592-07:00'
    description: ''
    detailedStatus: Tunnel is up and running.
    id: '278561789474069966'
    ikeVersion: 2
    kind: compute#vpnTunnel
    localTrafficSelector:
    -   0.0.0.0/0
    name: azure-tunnel-1
    peerExternalGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/externalVpnGateways/azure-peer-gw
    peerExternalGatewayInterface: 0
    peerIp: 203.0.113.1
    region: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1
    remoteTrafficSelector:
    -   0.0.0.0/0
    router: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/routers/cloud-router
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnTunnels/azure-tunnel-1
    sharedSecret: '*************'
    sharedSecretHash: ALDZGgSMUxj8KFahMoG_L0Fz9paz
    status: ESTABLISHED
    vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnGateways/ha-vpn-gw-a
    vpnGatewayInterface: 0
    
  3. In Cloud Shell, visualizza lo stato del secondo tunnel VPN ad alta disponibilità:

    gcloud compute vpn-tunnels describe TUNNEL_NAME_IF1 \
       --region=REGION
    

    Sostituisci quanto segue:

    • TUNNEL_NAME_IF1: il tunnel associato alla seconda interfaccia del gateway VPN ad alta disponibilità che hai configurato.
    • REGION: regione in cui hai eseguito il deployment del gateway VPN ad alta disponibilità.

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute vpn-tunnels describe azure-tunnel-2 --region=us-central1
    

    L'output previsto per il tunnel dovrebbe essere simile all'esempio seguente:

    creationTimestamp: '2022-09-28T17:13:21.592-07:00'
    description: ''
    detailedStatus: Tunnel is up and running.
    id: '5665972275117479944'
    ikeVersion: 2
    kind: compute#vpnTunnel
    localTrafficSelector:
    -   0.0.0.0/0
    name: azure-tunnel-2
    peerExternalGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/externalVpnGateways/azure-peer-gw
    peerExternalGatewayInterface: 1
    peerIp: 203.0.113.2
    region: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1
    remoteTrafficSelector:
    -   0.0.0.0/0
    router: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/routers/cloud-router
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnTunnels/azure-tunnel-2
    sharedSecret: '*************'
    sharedSecretHash: ALDZGgSMUxj8KFahMoG_L0Fz9ddd
    

Testa la connettività

Per testare le connessioni VPN ad alta disponibilità, devi prima creare delle VM su ciascun lato del tunnel.

A questo punto, devi assicurarti di aver definito in Google Cloud regole firewall che consentono il traffico ICMP in entrata dalle subnet di rete Azure. Una volta definite le VM e le regole firewall, puoi verificare la connettività utilizzando ping e testare la larghezza di banda mediante iperf.

  1. Crea VM di test su ogni lato dei tunnel per testare le richieste di ping.

    Devi anche configurare il firewall di rete di Azure per consentire il traffico in entrata dai prefissi della subnet utilizzati nel tuo Virtual Private Cloud.

  2. Su Google Cloud, configura una regola firewall che consenta il traffico ICMP in entrata dalla VPN di Azure:

    gcloud compute firewall-rules create RULE_NAME \
        --network NETWORK \
        --direction ingress \
        --action allow \
        --source-ranges AZURE_VNET_RANGE \
        --rules icmp \
    

    Sostituisci AZURE_VNET_RANGE con l'intervallo di indirizzi IP assegnato alla tua rete virtuale di Azure.

    Il comando dovrebbe essere simile al seguente esempio:

    gcloud compute firewall-rules create allow-azure-icmp \
      --network google-to-azure-vpc \
      --direction ingress \
      --action allow \
      --source-ranges 10.0.0.0/16 \
      --rules icmp
    
  3. Verifica la connessione utilizzando il comando ping.

  4. Misura la larghezza di banda tra le macchine di test utilizzando iperf.

Esegui la pulizia

Elimina le risorse Google Cloud e Azure che hai creato durante questo tutorial.

Elimina il progetto Google Cloud

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, puoi eliminare il tuo progetto:

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Elimina gruppo di risorse Azure

Elimina il gruppo di risorse di Azure Manager che hai creato al momento della creazione della rete VPN. In questo tutorial, il nome del gruppo di risorse di esempio è azure-to-google-resgroup.

Per ulteriori informazioni, consulta Eliminazione di gruppi e risorse di Azure Resource Manager.

Passaggi successivi