Creare connessioni VPN ad alta disponibilità tra Google Cloud e Azure

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
Questo tutorial illustra come creare connessioni VPN (Virtual Private Network) 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 i gateway di rete virtuali Microsoft Azure.

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

Google Cloud fornisce un servizio VPN ad alta disponibilità per connettere la rete VPC ad ambienti in esecuzione all'esterno di Google Cloud, come Microsoft Azure, tramite 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 configurato in base alle best practice di Google.

Panoramica dell'architettura

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

Panoramica dell'architettura.

L'architettura mostrata nel diagramma include i seguenti componenti:

  • Router Cloud: un servizio Google Cloud completamente distribuito e gestito per fornire il routing dinamico tramite 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: 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 di gateway di rete virtuale è dotata di due tunnel preconfigurati per puntare a un singolo gateway del cliente, in questo caso un'interfaccia di 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 in questo documento, viene utilizzata una serie di indirizzi IP sia in Google Cloud che in Azure. Alcuni di questi indirizzi IP vengono assegnati automaticamente quando crei una risorsa.

Per gli indirizzi non assegnati automaticamente, devi definire questi indirizzi IP in base agli indirizzi IP che hai a disposizione e alle esigenze della tua organizzazione.

Le risorse Google Cloud richiedono i seguenti indirizzi IP:

  • Per creare una subnet per una rete Virtual Private Cloud è necessario 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. Devi avere 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 attiva (gateway VPN) in Azure. Per ogni tunnel, decidi una coppia di indirizzi IPv4 di peering BGP locali rispetto al collegamento in un blocco /30 negli intervalli 169.254.21.* e 169.254.22.*. Questi sono gli intervalli validi per gli indirizzi IPv4 del peering APIPA di Azure. Devi selezionare un totale di quattro indirizzi IP.

    Gli indirizzi IPv4 di 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 una rete virtuale (VNet), la rete richiede uno spazio di indirizzi IP per la rete e uno spazio di indirizzi IP per la subnet della rete. Puoi utilizzare gli spazi di indirizzi predefiniti o inserire spazi di indirizzi definiti dall'utente.
  • Quando crei un gateway di rete virtuale (active-active) gateway attivo, 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, quest'ultimo richiede due indirizzi IP di peering BGP APIPA. Come accennato in precedenza, gli intervalli validi per gli indirizzi IP di peering BGP dell'API Azure Azure sono pari a 169.254.21.* e 169.254.22.*.
  • Dopo aver 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 attiva (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.
  • Crea due gateway di rete locali e due connessioni VPN in Azure. Verificare la configurazione del router Cloud e controllare 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 descritte in questo documento utilizzano componenti di Google Cloud fatturabili, tra cui:

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

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

  • Gateway VPN
  • Gateway di rete locali

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

Prima di iniziare

  1. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  2. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  3. Attiva l'API Compute Engine.

    Abilita l'API

  4. In Google Cloud Console, attiva Cloud Shell.

    Attiva Cloud Shell

  5. Assicurati di disporre dei ruoli amministrativi obbligatori per configurare i componenti di networking:

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

    Per saperne di più sulle finalità di questi ruoli, consulta Ruoli IAM per funzioni di job relative al networking.

Creare una VNet e un gateway VPN attivo-attivo su Azure

In Azure, devi configurare i seguenti componenti:

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

Crea una VNet

Una VNet consente alle risorse di 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, servizi 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 Nozioni 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 indicato sia corretto. Per cambiare l'abbonamento, selezionalo dall'elenco .
    2. Per specificare il gruppo di risorse, fai clic su Crea nuovo per creare un nuovo gruppo e inserire un nome, ad esempio azure‑to‑google‑resgroup, per il nome del gruppo di risorse.
    3. Nella casella Nome, inserisci il nome della tua VNet, ad esempio azure‑to‑google‑network.
    4. Nella casella Regione, seleziona una posizione per la tua rete virtuale.

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

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

  7. Nella scheda Security (Sicurezza), lascia i valori per BastionHost, DDos Protection Standard e Firewall impostati sul valore predefinito Disabilita.

  8. Per convalidare le impostazioni VNet, seleziona Rivedi + crea.

  9. Dopo aver convalidato le impostazioni, seleziona Crea.

Creare un gateway VPN attivo-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 puoi creare solo il gateway VPN attivo-attivo. Devi creare i componenti di 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 i gateway VPN attivi-attivi utilizzando il portale nella documentazione di Azure.

Definire i dettagli del gateway

  1. Accedi al portale Azure.
  2. In Risorse di ricerca, 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 Nozioni di base della pagina Crea gateway di rete virtuale, specifica i seguenti valori per le opzioni nelle sezioni Dettagli del 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 in Gruppo di risorse venga visualizzato il gruppo di risorse che corrisponde alla rete virtuale selezionata in questa pagina.
    4. In Nome, inserisci il nome del tuo gateway, ad esempio azure‑to‑google‑gateway.
    5. In Regione, seleziona la stessa regione che avevi utilizzato al momento della 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 dal menu a discesa 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 VNet creata in precedenza.

  6. Rimani su questa pagina per la procedura successiva.

Definisci gli indirizzi IP del gateway

  1. Nella scheda Nozioni di base della pagina Crea gateway di rete virtuale, segui questi passaggi per creare gli indirizzi IP pubblici utilizzati dal gateway VPN attivo-attivo:

    1. In Indirizzo IP pubblico, seleziona Crea nuovo.

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

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

    3. Seleziona Attiva in corrispondenza di Attiva modalità attiva-attiva.

    4. (Facoltativo) Se disponibile per la tua area geografica, configura la zona di disponibilità. Ad esempio, puoi selezionare ridondante della zona.

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

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

    7. In Configura BGP, seleziona Abilitata.

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

      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-attivo.

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

    10. In Secondo indirizzo IP BGP APIPA personalizzato, inserisci il secondo indirizzo IP BGP APIPA e registra il valore come AZURE_BGP_IP_1. Utilizzerai queste variabili quando configurerai le sessioni BGP in Google Cloud.

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

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

Visualizzare e registrare gli indirizzi IP pubblici per il gateway VPN attivo-attivo

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

  1. Nella pagina Panoramica del gateway sportivo attivo appena creato, individua gli indirizzi IP pubblici per il gateway.
  2. Registra gli indirizzi IP visualizzati sullo schermo:
    • Registra il primo indirizzo IP pubblico come AZURE_GW_IP_0.
    • Registra il secondo indirizzo IP pubblico come AZURE_GW_IP_1.

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

Creare i componenti di 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, 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 progetto Cloud.

  2. Crea una rete VPC personalizzata con una singola 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 è 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 deve 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). Hai bisogno di questi indirizzi IP quando configuri i gateway di rete locali su Azure:

    • Registra l'indirizzo IP di INTERFACE0 in HA_VPN_INT_0.
    • Registra l'indirizzo IP di 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 tuo router Cloud.
    • REGION: la regione in cui stai creando il gateway VPN e i tunnel VPN ad alta disponibilità.
    • GOOGLE_ASN: il numero di sistema autonomo privato (ASN) del 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 Azure

In questa sezione creerai una risorsa gateway VPN esterno che fornisce a Google Cloud informazioni sul tuo gateway VPN attivo-attivo in Azure. Puoi creare un singolo gateway VPN peer che utilizza due interfacce distinte, 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 attivo-attivo di Azure
  • AZURE_GW_IP_0: l'indirizzo IP esterno di un'interfaccia del gateway peer
  • AZURE_GW_IP_1: l'indirizzo IP esterno di un'altra interfaccia del gateway peer

La risorsa gateway VPN peer che hai creato deve essere simile all'esempio esempio seguente, in cui 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 i tunnel VPN in 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; assegnare un nome ai tunnel includendo il nome dell'interfaccia del gateway può essere utile per 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 tua chiave precondivisa (secret condiviso), che deve corrispondere alla chiave precondivisa durante la configurazione delle connessioni VPN in Azure. Per suggerimenti, consulta la pagina Generare una chiave precondivisa efficace.
  • HA_VPN_GATEWAY_NAME: 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
    

Creare sessioni BGP

Per il routing dinamico, utilizzi il router Cloud per stabilire le sessioni BGP tra Google Cloud e Azure. Consigliamo di utilizzare il routing dinamico anziché il routing statico, se possibile, come descritto nella panoramica di Cloud VPN e nel routing della rete e dei tunnel Cloud.

Devi creare una sessione BGP per ogni tunnel VPN. Ogni sessione BGP è costituita da un'interfaccia BGP per il router Cloud e un peer BGP. Crei 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 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 i nomi relativi ai nomi del 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 gateway VPN ad alta disponibilità che configuri; ogni tunnel utilizza un'interfaccia gateway diversa. Poiché gli intervalli consentiti per gli indirizzi IP di peering APIPA 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 di peering APIPA BGP che hai già configurato sul gateway VPN attivo-attivo di Azure; ogni tunnel utilizza un indirizzo diverso.
  • TUNNEL_NAME_IF0 e TUNNEL_NAME_IF1: i tunnel associati all'interfaccia 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
    

Crea gateway di rete locale e connessioni VPN in Azure

Dopo aver creato e configurato i componenti Google Cloud, torni nel tuo ambiente Azure per completare la connessione di Google Cloud ad Azure. Per completare questa connessione, devi creare i seguenti componenti in Azure:

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

Crea due gateway di rete locale

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 creerai una connessione.
  • I prefissi degli indirizzi IP che verranno indirizzati tramite il gateway VPN al router Cloud. I prefissi indirizzo specificati sono i prefissi che si trovano sulla Cloud VPN. Se la rete privata virtuale di Cloud cambia o devi modificare l'indirizzo IP pubblico per il router Cloud, puoi aggiornare i valori in un secondo momento.

Devi creare due gateway di rete locale: un gateway che si connetta alla prima interfaccia VPN 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 sulla creazione di un gateway di rete locale del tutorial Creare una connessione VPN site-to-site nel portale di Azure nella documentazione di Azure.

Per creare il primo gateway di rete locale, segui questi passaggi:

  1. Accedi al portale Azure.
  2. In Risorse per la ricerca, servizi 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 Nozioni 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 in precedenza per la VNet in questo documento.
    3. In Regione, seleziona la stessa località in cui si trova la tua VNet.
    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 di INTERFACE0 della VPN ad alta disponibilità (ovvero 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 a quelli di altre reti a cui vuoi connetterti.

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

    1. In Configura le impostazioni BGP, seleziona .
    2. In Numero di sistema autonomo (ASN), inserisci l'ASN per il 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 in fondo alla pagina.

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

Per creare il secondo gateway di rete locale, segui questi passaggi:

  1. Nel portale di Azure, in Cerca risorse, servizi e documenti (G+/), digita local network gateway.
  2. In Marketplace, nei risultati di ricerca, individua e seleziona Gateway di rete locale.
  3. Nella scheda Nozioni 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 venga visualizzato l'abbonamento corretto.
    2. Nell'elenco Gruppo di risorse, seleziona lo stesso gruppo di risorse che hai creato in precedenza per la VNet in questo documento.
    3. In Regione, seleziona la stessa regione di VNet.
    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 di 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 a quelli di altre reti a cui vuoi connetterti.

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

    1. In Configura le impostazioni BGP, seleziona .
    2. In Numero di sistema autonomo (ASN), inserisci l'ASN per il 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 in fondo alla pagina.

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

Creare due connessioni VPN

Per creare le connessioni VPN in Azure, hai bisogno delle chiavi precondivise, o SHARED_SECRET, che hai configurato durante la configurazione dei 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 Connections (Connessioni), seleziona +Add (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. In 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. In 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. In 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. In Protocollo IKE, seleziona IKEv2.
    15. Fai clic su OK.
  5. Nella pagina Connessioni, verifica che lo stato di entrambe le connessioni sia elencato come Connesso.

Verificare la configurazione

In Google Cloud, puoi verificare la configurazione della VPN ad alta disponibilità esaminando (elencando) in elenco la configurazione del router Cloud, quindi controllando lo stato dei tunnel VPN ad alta disponibilità.

  1. In Cloud Shell, elenca gli indirizzi IP di 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 avere il 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à configurata.
    • 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 al seguente esempio:

    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 al seguente esempio:

    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 le VM su ogni lato del tunnel.

Successivamente, devi assicurarti di aver definito in Google Cloud regole firewall che consentono il traffico ICMP in entrata dalle subnet di rete di Azure. Dopo aver configurato le VM e le regole firewall, puoi testare la connettività utilizzando ping e la larghezza di banda utilizzando iperf.

  1. Creare VM di test su ciascun lato dei tunnel per testare le richieste di ping.

    Devi inoltre configurare il firewall di rete di Azure in modo da consentire il traffico in entrata dai prefissi delle 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 a Azure VNet.

    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 progetto:

  1. In Google Cloud Console, 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 Azure Manager creato durante la creazione di VNet. In questo tutorial, il nome del gruppo di risorse di esempio è azure-to-google-resgroup.

Per ulteriori informazioni, consulta la pagina relativa all'eliminazione e all'eliminazione di risorse di Resource Manager di Azure.

Passaggi successivi