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

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

Questo documento presuppone che tu abbia familiarità con 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 di VPN ad alta disponibilità (HA) per connettere la tua rete VPC a ambienti in esecuzione al di fuori di Google Cloud, come Microsoft Azure, tramite una connessione VPN IPsec. Una VPN ad alta disponibilità offre 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.

Panoramica dell'architettura.

L'architettura mostrata nel diagramma include i seguenti componenti:

  • Cloud Router: un servizio Google Cloud completamente distribuito e gestito per fornire il routing dinamico utilizzando BGP per le 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: 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.
  • Virtual Network Gateway: due reti private definite nel servizio cloud Azure.

Ogni connessione Virtual Network Gateway è dotata di due tunnel preconfigurati per puntare a un singolo gateway del cliente, che in questo caso è un'interfaccia del gateway VPN ad alta disponibilità in Google Cloud. Con questa configurazione, il numero minimo di tunnel Cloud VPN necessari per soddisfare lo SLA con disponibilità del servizio del 99,99% è due.

Indirizzi IP necessari per le procedure

Per completare le procedure descritte in questo documento, utilizzerai 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 non assegnati automaticamente, devi definirli in base agli indirizzi IP di cui disponi 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. Per configurare i gateway di rete locale in Azure, devi disporre degli indirizzi IP di queste interfacce.
  • Quando crei tunnel VPN ad alta disponibilità in Google Cloud, ogni tunnel ha bisogno di un'interfaccia BGP per router Cloud e un'interfaccia BGP per il gateway di rete virtuale (gateway VPN) attivo-attivo in Azure. Per ogni tunnel, scegli una coppia di indirizzi IPv4 BGP peering locali rispetto al collegamento 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 APIPA di Azure. 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), questa richiede uno spazio indirizzi IP per la rete e uno spazio indirizzi IP per la subnet della rete. Puoi utilizzare gli spazi indirizzi predefiniti o inserire spazi indirizzi definiti dall'utente.
  • Quando crei il gateway di rete virtuale (gateway VPN) attivo-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, il gateway richiede due indirizzi IP BGP APIPA per il peering. Come accennato in precedenza, gli intervalli validi per gli indirizzi IP del peering BGP APIPA di Azure sono 169.254.21.* e 169.254.22.*.
  • Dopo aver creato un gateway VPN attivo-attivo, Azure assegna automaticamente un indirizzo IP esterno a ciascuna delle interfacce del gateway. Ti serviranno questi indirizzi IP 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

  • Crea una rete virtuale (VNet) di Azure e un gateway VPN (rete virtuale attiva-attiva).
  • 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 locale 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 descritte in questo documento utilizzano i componenti fatturabili di Google Cloud, tra cui:

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

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

  • Gateway VPN
  • Gateway di rete locale

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

Prima di iniziare

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Compute Engine API.

    Enable the API

  4. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  5. Assicurati di disporre dei ruoli amministrativi richiesti per configurare i componenti di rete:

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

    Per ulteriori informazioni sulle finalità di questi ruoli, consulta Ruoli IAM per mansioni relative al networking.

Crea 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 (gateway VPN) attivo-attivo che consente a entrambe le istanze delle macchine virtuali (VM) del gateway di stabilire tunnel VPN con la tua VPN Google Cloud.

Crea una VNet

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

  1. Accedi al portale di Azure.
  2. Nella casella Cerca risorse, servizi e documenti (G+/), digita virtual network.
  3. Nell'elenco dei risultati del 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 della VNet per Dettagli progetto e Dettagli istanza:

    1. Nella casella Abbonamento, verifica che l'abbonamento elencato sia quello 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, per il nome del gruppo di risorse.
    3. Nella casella Nome, inserisci il nome della VNet, ad esempio azure‑to‑google‑network.
    4. Nella casella Regione, seleziona una località per la VNet.

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

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

  7. Nella scheda Sicurezza, lascia i valori di BastionHost, Protezione DDoS standard e Firewall impostati sul valore predefinito Disattiva.

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

  9. Dopo la convalida delle impostazioni, seleziona Crea.

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

Definisci i dettagli del gateway

  1. Accedi al portale di Azure.
  2. In Ricerca risorse, servizi e documenti (G+/), digita virtual network gateway.
  3. In Servizi nei risultati di ricerca, individua e seleziona Virtual Network Gateways.
  4. Nella pagina Virtual network gateway (Gateway virtuale della rete), 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 progetto e Dettagli istanza:

    1. Nell'elenco Abbonamento, seleziona l'abbonamento che vuoi utilizzare.
    2. (Facoltativo) Nella casella Intervallo di indirizzi della subnet del gateway, inserisci l'intervallo di indirizzi della subnet.
    3. Verifica che in Gruppo di risorse sia visualizzato 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 regione utilizzata per la creazione della VNET.
    6. In Tipo di gateway, seleziona VPN.
    7. Per Tipo VPN, seleziona il tipo di VPN In base alla 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 Generare, 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 Nozioni di base della pagina Crea gateway di rete virtuale, segui i passaggi riportati di seguito 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-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. Per Attiva modalità attiva-attiva, seleziona Attivata.

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

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

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

    7. In Configura BGP, seleziona Attivato.

    8. Per Autonomous System Number (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 Azure personalizzato, inserisci il primo indirizzo IP BGP APIPA e registra il valore come AZURE_BGP_IP_0. Gli intervalli validi per gli indirizzi IP BGP APIPA di Azure sono 169.254.21.* e 169.254.22.*.

    10. In Secondo indirizzo IP BGP APIPA Azure 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 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-attivo

Devi disporre degli indirizzi IP esterni assegnati automaticamente da Azure al gateway VPN attivo-attivo. Utilizza questi indirizzi IP per creare la risorsa gateway VPN peer in Google Cloud.

  1. Nella pagina Panoramica del gateway attivo-attivo appena creato, individua gli indirizzi IP esterni del gateway.
  2. Prendi nota degli 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, in questo documento a questi indirizzi IP viene fatto riferimento come AZURE_GW_IP_0 e AZURE_GW_IP_1.

Crea 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 procedure riportate di seguito 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, crea una rete VPC, un gateway VPN ad alta disponibilità, un router Cloud e poi configura 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 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à della 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 creato dovrebbe avere un aspetto simile all'esempio di output seguente:

    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 ogni interfaccia del gateway (INTERFACE0 e INTERFACE1). Questi indirizzi IP sono necessari per configurare i gateway di rete locale 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 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 (ASN) privato 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 crei una risorsa gateway VPN esterno che fornisce informazioni a Google Cloud sul tuo 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 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 interface del gateway peer

La risorsa gateway VPN peer che hai creato dovrebbe essere simile all'esempio seguente, in cui AZURE_GW_IP_0 e AZURE_GW_IP_1 mostrano gli indirizzi IP esterni effettivi delle interfacce del 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: uno per ogni interfaccia nel gateway VPN peer. Quando configuri i 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. Assegnare un nome ai tunnel includendo il nome dell'interfaccia del gateway può aiutarti a identificarli 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 (segreto condiviso), che deve corrispondere alla chiave precondivisa specificata quando configuri le connessioni VPN in Azure. Per i consigli, consulta Genera 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:

  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 sessioni BGP tra Google Cloud e Azure. Ti consigliamo di utilizzare il routing dinamico anziché quello statico, se possibile, come descritto nella Panoramica di Cloud VPN e in Routing di rete e tunnel Cloud VPN.

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. Devi creare un peer BGP per ciascuno dei due tunnel VPN che hai appena creato.

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 nomi correlati 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 del peering BGP per le interfacce del gateway VPN ad alta disponibilità che configuri. Ogni tunnel utilizza un'interfaccia di gateway diversa. Poiché gli intervalli consentiti per gli indirizzi IP BGP 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 BGP del peering del router Cloud.
  • AZURE_BGP_IP_0 e AZURE_BGP_IP_1: gli indirizzi IP BGP APIPA 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 del gateway VPN ad alta disponibilità che hai configurato.
  • AZURE_ASN: l'ASN 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:

  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 a 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, torna al tuo ambiente Azure per completare il collegamento di Google Cloud ad Azure. Per completare questa connessione, crea i seguenti componenti in Azure:

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

Crea due gateway di rete locale

Un gateway di rete locale è un oggetto specifico che rappresenta la VPN Google Cloud in Azure. Quando crei un gateway di rete locale, specifica 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 tramite il gateway VPN al router Cloud. I prefissi di indirizzo specificati sono quelli che si trovano su Cloud VPN. Se la tua rete privata virtuale Cloud cambia o devi modificare l'indirizzo IP esterno per il router Cloud, puoi aggiornare i valori in un secondo momento.

Devi creare due gateway di rete locale: 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 ulteriori informazioni, consulta la sezione Creare 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:

  1. Accedi al portale di Azure.
  2. In Ricerca risorse, 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 visualizzata l'abbonamento corretto.
    2. Nell'elenco Gruppo di risorse, seleziona lo stesso gruppo di risorse che hai creato per la VNet in precedenza in questo documento.
    3. In Regione, seleziona la stessa località in cui si trova la VNet.
    4. In Nome, inserisci un nome per il gateway di rete locale, ad esempio azure-to-google-locgateway1.
    5. In Endpoint, seleziona Indirizzo IP.
    6. Nella casella Indirizzo IP, inserisci l'indirizzo IP per INTERFACE0 della tua VPN ad alta disponibilità (ovvero HA_VPN_INT_0).
    7. In Spazio indirizzi,inserisci gli intervalli di indirizzi per la rete rappresentata da questa rete locale.

      Puoi aggiungere più intervalli di spazio 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 del tuo router Cloud (ovvero GOOGLE_ASN).
    3. In Indirizzo IP peer BGP, inserisci l'indirizzo IP BGP del router Cloud nel tunnel 1 (ovvero 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. Dopo che la convalida è andata a buon fine, fai clic su Crea per creare il gateway di rete locale.

Per creare il secondo gateway di rete locale:

  1. Nel Portale di Azure, in Ricerca 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 sia visualizzata l'abbonamento corretto.
    2. Nell'elenco Gruppo di risorse, seleziona lo stesso gruppo di risorse creato per la VNet in precedenza in questo documento.
    3. In Regione, seleziona la stessa regione della tua VNet.
    4. In Nome, inserisci un nome per il gateway di rete locale, ad esempio azure-to-google-locgateway2.
    5. In Endpoint, seleziona Indirizzo IP.
    6. Nella casella Indirizzo IP, inserisci l'indirizzo IP per INTERFACE1 della VPN ad alta disponibilità (ovvero HA_VPN_INT_1).
    7. In Spazio indirizzi,inserisci gli intervalli di indirizzi della rete rappresentata da questa rete locale.

    Puoi aggiungere più intervalli di spazio 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 del tuo router Cloud (ovvero GOOGLE_ASN).
    3. In Indirizzo IP peer BGP, inserisci l'indirizzo IP BGP del router Cloud nel tunnel 1 (ovvero GOOGLE_BGP_IP_1).
  5. Per convalidare la configurazione del gateway della rete locale, fai clic su Rivedi e crea in fondo alla pagina.

  6. Dopo che la convalida è andata a buon fine, fai clic su Crea per creare il gateway di rete locale.

Crea due connessioni VPN

Per creare le connessioni VPN in Azure, devi disporre delle chiavi preconfigurate o SHARED_SECRET che hai configurato durante la configurazione dei tunnel VPN ad alta disponibilità su Google Cloud.

  1. Nel portale di 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. Per Tipo di connessione, seleziona Site-to-site (IPsec).
    3. In corrispondenza di Gateway di rete locale, specifica il primo gateway di rete locale che hai creato, ad esempio azure-to-google-locgateway1.
    4. Per Chiave condivisa (PSK), specifica la chiave condivisa configurata per il primo tunnel VPN ad alta disponibilità.
    5. Seleziona Attiva 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 Name (Nome), inserisci un nome per la connessione, ad esempio azure-vnet-to-google2.
    10. Per Tipo di connessione, seleziona Site-to-site (IPsec).
    11. In corrispondenza di Gateway di rete locale, specifica il secondo gateway di rete locale che hai creato, ad esempio azure-to-google-locgateway2.
    12. Per Chiave condivisa (PSK), specifica la chiave condivisa configurata per il secondo tunnel VPN ad alta disponibilità.
    13. Seleziona Attiva 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 Connesso.

Verificare la configurazione

In Google Cloud, puoi verificare la configurazione della VPN ad alta disponibilità esaminando prima 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 all'esempio seguente:

    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 disegnato il 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 disegnato il 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 VM su ciascun lato del tunnel.

Successivamente, devi assicurarti di avere definito in Google Cloud regole firewall che consentano il traffico ICMP in entrata dalle subnet della rete Azure. Una volta configurate le VM e le regole del firewall, puoi testare la connettività utilizzando ping e la larghezza di banda utilizzando iperf.

  1. Crea VM di test su ciascun 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 di 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 VNet 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 progetto:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Eliminare un gruppo di risorse Azure

Elimina il gruppo di risorse di Azure Manager che hai creato quando hai creato la VNet. In questo tutorial, il nome del gruppo di risorse di esempio è azure-to-google-resgroup.

Per ulteriori informazioni, consulta Gruppo di risorse e eliminazione delle risorse di Azure Resource Manager.

Passaggi successivi