Crea 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 reti VPC (Virtual Private Cloud) in Google Cloud e gateway di rete virtuale 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 offre VPN ad alta disponibilità per connettere la tua rete VPC agli ambienti in esecuzione all'esterno di Google Cloud, come Microsoft Azure, tramite una VPN IPsec connessione. 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 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 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 che non vengono assegnati automaticamente, puoi definire questi IP in base agli indirizzi IP disponibili e alle esigenze dell'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 necessita di un'interfaccia BGP al router Cloud e un'interfaccia BGP al gateway di rete virtuale attivo-attivo (gateway VPN) 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 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), questa richiede uno spazio indirizzi IP per la rete e uno spazio indirizzi IP per la subnet della rete. Puoi utilizza gli spazi degli indirizzi predefiniti o inserisci spazi di 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 usare l'intervallo predefinito o inserisci 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 citati in precedenza, gli intervalli validi per gli indirizzi IP del peering BGP di Azure APIPA 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. Devi avere 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 Azure (VNet) 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 configurazione del router Cloud e controlla lo stato Tunnel VPN ad alta disponibilità in Google Cloud.
  • Testa la connessione Cloud VPN tra la rete VPC su Google Cloud e sulla 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 in questo documento utilizzano i componenti fatturabili di Microsoft Azure Cloud servizi, tra cui:

  • Gateway VPN
  • Gateway di rete locale

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

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 sugli scopi di questi ruoli, vedi Ruoli IAM per mansioni lavorative correlate al networking.

Crea una rete VNet e un gateway VPN attivo-attivo su Azure

In Azure, devi configurare i componenti seguenti:

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

Crea una rete VLAN

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 rete VPC, consulta la documentazione di Azure sulla creazione di un'istanza 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 cambiare 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 tua rete VPC, ad esempio azure‑to‑google‑network.
    4. Nella casella Regione, seleziona una località per la tua rete VPC.

      La località selezionata determina quella di archiviazione a risorse di cui esegui il deployment sulla rete virtuale.

  6. Nella scheda Indirizzi IP, nella casella Spazio indirizzi IPv4, utilizza il valore uno spazio di indirizzi e una 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 aver convalidato le 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 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 Configura gateway VPN attivi-attivi utilizzando il portale nella documentazione Azure.

Definisci i dettagli del gateway

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

  6. Rimani su questa pagina per la procedura successiva.

Definisci gli indirizzi IP del gateway

  1. Nella scheda Impostazioni di base della pagina Crea gateway di rete virtuale, utilizza i seguenti passaggi per creare gli indirizzi IP esterni utilizzati dal un 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 all'indirizzo IP esterno, come azure‑to‑google‑network‑ip2.

    7. In Configura BGP, seleziona Attivato.

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

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

    9. Per Indirizzo IP BGP APIPA personalizzato di Azure, inserisci il primo IP BGP APIPA di destinazione 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 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. Questi indirizzi IP possono essere utilizzati per creare la VPN peer gateway VPN ad alta disponibilità in Google Cloud.

  1. Nella pagina Panoramica del gateway attivo-attivo che hai appena creato, individua gli indirizzi IP esterni per il 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 questi indirizzi IP faranno 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 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, 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 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: il Modalità di routing BGP impostato su global.

    Il comando dovrebbe essere simile all'esempio seguente:

    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 all'esempio seguente:

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

    Il comando dovrebbe essere simile all'esempio seguente:

    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 per 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 hai non siano già utilizzati come ASN peer nella stessa regione e 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 informazioni a Google Cloud sul gateway VPN attivo-attivo in Azure. Tu per creare un singolo gateway VPN peer che utilizza due interfacce separate, ciascuna per 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: indirizzo IP esterno di un'interfaccia dal 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 alla nell'esempio seguente, dove AZURE_GW_IP_0 e AZURE_GW_IP_1 mostrano gli indirizzi IP esterni effettivi del peer interfacce del gateway:

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 peer un gateway VPN ad alta disponibilità. 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 nel tunnel; di denominazione i tunnel includendo il nome dell'interfaccia del gateway per identificare i tunnel in un secondo momento.
  • AZURE_GW_NAME: il nome del gateway peer esterno creato precedenti
  • AZURE_GW_INT_NUM_0 e AZURE_GW_INT_NUM_1: il numeri di interfaccia configurati in precedenza sul gateway peer esterno.
  • IKE_VERS: usa 2 per IKEv2.
  • SHARED_SECRET: la tua chiave precondivisa (segreto condiviso), che deve corrispondere alla chiave precondivisa specificata al momento e configurare le connessioni VPN in Azure. Per i consigli, vedi 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à che hai 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 all'esempio seguente:

    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 di un'interfaccia BGP al router Cloud e a 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 Il router Cloud deve utilizzare un /30CIDR univoco del 169.254.0.0/16 bloccare.
  • 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 del peering BGP APIPA che hai già configurato un gateway VPN attivo/attivo; 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 ciascun 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 a Cloud Router:

    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 all'esempio seguente:

    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 all'esempio seguente:

    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 alle due 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 il tuo Cloud VPN 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 in 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 il campo Indirizzo IP per il router Cloud, puoi aggiornare i valori in un secondo momento.

Devi creare due gateway di rete locali: un gateway che si connetta la prima interfaccia del tunnel VPN ad alta disponibilità su Google Cloud un altro gateway che si connette al secondo tunnel VPN ad alta disponibilità a riga di comando.

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 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 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 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. Per Spazio indirizzo,inserisci gli intervalli di indirizzi per la rete a cui rappresenta la rete locale.

      Puoi aggiungere più intervalli di spazio indirizzi. Assicurati che gli intervalli specificare qui non si sovrappongano agli intervalli di altre reti che desideri a cui connetterti.

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

    1. In Configura le impostazioni BGP, seleziona .
    2. Per Numero di sistema autonomo (ASN), inserisci l'ASN per il tuo router Cloud (ovvero, inserisci 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 Esamina 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, 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 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 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. Per Regione, seleziona la stessa regione della tua rete VPC.
    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 HA (ovvero inserisci HA_VPN_INT_1).
    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 specificare qui non si sovrappongano agli intervalli di altre reti che desideri a cui connetterti.

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

    1. In Configura le impostazioni BGP, seleziona .
    2. Per Numero di sistema autonomo (ASN), inserisci l'ASN per il tuo router Cloud (ovvero, inserisci GOOGLE_ASN).
    3. Per 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. 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 Azure, individua il gateway VPN attivo-attivo che hai creato in Crea 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. Per Gateway di rete locale, specifica il primo gateway di rete locale creato da te, ad esempio azure-to-google-locgateway1.
    4. In Chiave condivisa (PSK), specifica la chiave condivisa per cui hai configurato la chiave. 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 Connections (Connessioni), seleziona +Add (+ 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. In Tipo di connessione, seleziona Da sito a sito (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 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 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 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à 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-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 VM su ciascun lato del tunnel.

Poi, devi assicurarti di aver definito in Google Cloud regole firewall che consentono il traffico ICMP in entrata dalle subnet di rete Azure. Una volta applicate le VM e le regole firewall, puoi testare la connettività utilizzando il comando ping e la larghezza di banda di test 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 all'esempio seguente:

    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 usata in questo tutorial, puoi eliminare il tuo 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.

Elimina 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, vedi Eliminazione di gruppi e risorse di Azure Resource Manager.

Passaggi successivi