Panoramica di Connectivity Tests

Connectivity Tests è uno strumento di diagnostica che consente di verificare la connettività tra gli endpoint di rete. Analizza la tua configurazione e, in alcuni casi, esegue l'analisi del piano dati in tempo reale tra gli endpoint. Un endpoint è una sorgente o una destinazione del traffico di rete, ad esempio una VM, un cluster Google Kubernetes Engine (GKE), una regola di forwarding per il bilanciatore del carico o un indirizzo IP su internet.

Per analizzare le configurazioni di rete, Connectivity Tests simula il percorso di forwarding previsto di un pacchetto attraverso la rete Virtual Private Cloud (VPC), i tunnel Cloud VPN o i collegamenti VLAN. Connectivity Tests può anche simulare il percorso di forwarding in entrata previsto per le risorse nella rete VPC.

Per alcuni scenari di connettività, Connectivity Tests esegue anche l'analisi del piano dati in tempo reale. Questa funzionalità invia pacchetti sul piano dati per convalidare la connettività e fornisce una diagnostica di base della latenza e della perdita di pacchetti. Se la route è supportata per la funzionalità, ogni test eseguito include un risultato dell'analisi del piano dati in tempo reale.

Per scoprire come creare ed eseguire test per vari scenari, consulta Crea ed esegui Connectivity Tests.

L'API per Connectivity Tests è l'API Network Management. Per saperne di più, consulta la documentazione dell'API.

Perché utilizzare Connectivity Tests?

Connectivity Tests può aiutarti a risolvere i seguenti problemi di connettività di rete:

  • Configurazioni incoerenti non intenzionali
  • Configurazioni obsolete causate da modifiche o migrazioni della configurazione di rete
  • Errori di configurazione per una serie di servizi e funzioni di rete

Quando esegui il test dei servizi gestiti da Google, Connectivity Tests può anche aiutarti a determinare se si verifica un problema nella rete VPC o nella rete VPC di proprietà di Google utilizzata per le risorse del servizio.

Come Connectivity Tests analizza le configurazioni

Quando analizza le configurazioni di rete, Connectivity Tests utilizza una macchina a stati astratta per modellare il modo in cui una rete VPC deve elaborare i pacchetti. Google Cloud elabora un pacchetto in diversi passaggi logici.

L'analisi può seguire molti percorsi possibili

A causa della varietà di servizi e funzionalità di rete VPC supportati dall'analisi della configurazione, un pacchetto di test che attraversa una configurazione di rete VPC può seguire molti percorsi possibili.

Il seguente diagramma mostra un modello di simulazione del traffico di traccia da parte dell'analisi della configurazione tra due istanze Compute Engine: una a sinistra e una a destra.

L'analisi dipende dall'infrastruttura di rete

A seconda delle configurazioni di rete e delle risorse, questo traffico potrebbe passare attraverso un tunnel Cloud VPN, una rete VPC, un Google Cloud bilanciatore del carico o una rete VPC in peering prima di raggiungere l'istanza Compute Engine di destinazione. Google Cloud

La macchina a stati astratta di rete.
La macchina a stati astratta di rete (fai clic per ingrandire).

L'analisi segue uno dei tanti stati finiti

Il numero limitato di passaggi tra stati discreti fino alla consegna o all'eliminazione di un pacchetto viene modellato come una macchina a stati finita. Questa macchina a stati finita può trovarsi in un solo stato finito alla volta e potrebbe avere più stati successivi.

Ad esempio, quando Connectivity Tests associa diverse route in base alla precedenza delle route, Google Cloud può scegliere una route tra diverse route in base a una funzione di hashing non specificata nel piano dati. Se è configurata una route basata su policy, Connectivity Tests instrada il pacchetto all'hop successivo, ovvero un bilanciatore del carico interno.

Nel caso precedente, la traccia di Connectivity Tests restituisce tutte le route possibili, ma non può determinare il metodo Google Cloud utilizzato per restituire le route. Questo perché il metodo è interno a Google Cloud ed è soggetto a modifiche.

Servizi gestiti da Google

I servizi gestiti da Google, come Cloud SQL e Google Kubernetes Engine (GKE), allocano le risorse per i clienti in progetti e reti VPC di proprietà e gestiti da Google. I clienti non hanno l'autorizzazione ad accedere a queste risorse.

L'analisi della configurazione di Connectivity Tests può comunque eseguire un test e fornire un risultato di raggiungibilità complessivo per i servizi gestiti da Google, ma non fornisce dettagli per le risorse testate nel progetto di proprietà di Google.

Il seguente diagramma mostra un modello di simulazione del traffico di traccia da parte dell'analisi della configurazione da un'istanza Compute Engine in una rete VPC del cliente a un'istanza Cloud SQL nella rete VPC di proprietà di Google. In questo esempio, le reti sono connesse tramite peering di rete VPC.

Analogamente a un test standard tra due istanze Compute Engine, i passaggi logici includono il controllo delle regole firewall in uscita pertinenti e l'associazione della route. Quando esegui un test, l'analisi della configurazione di Connectivity Tests fornisce dettagli su questi passaggi. Tuttavia, per il passaggio logico finale dell'analisi della configurazione nella rete VPC di proprietà di Google, l'analisi fornisce solo un risultato di raggiungibilità complessivo. Connectivity Tests non fornisce dettagli per le risorse nel progetto di proprietà di Google perché non hai l'autorizzazione a visualizzarle.

Per saperne di più, consulta gli esempi di test in Testa la connettività da e verso servizi gestiti da Google.

La macchina a stati astratta di rete per i servizi gestiti da Google.
La macchina a stati astratta di rete per i servizi gestiti da Google (fai clic per ingrandire).

Configurazioni supportate

L'analisi della configurazione di Connectivity Tests supporta il test delle configurazioni di rete descritte nelle sezioni seguenti.

Endpoint di origine

L'analisi della configurazione di Connectivity Tests supporta i seguenti endpoint di origine:

Endpoint di destinazione

L'analisi della configurazione di Connectivity Tests supporta i seguenti endpoint di destinazione:

Google Cloud Funzionalità di networking

Puoi testare la connettività tra le risorse che utilizzano le seguenti funzionalità (sono supportati sia IPv4 che IPv6, ove applicabile):

Considerazioni per Cloud Load Balancing

Per Cloud Load Balancing, l'analisi della configurazione di Connectivity Tests supporta le seguenti funzionalità:

  • Test della connettività all'indirizzo IP del bilanciatore del carico, inclusa l'analisi delle risorse sottostanti (come servizi di backend, bucket di backend e pool di destinazione)
  • Verifica della connettività dei controlli di integrità di Cloud Load Balancing ai backend
  • Analisi delle route statiche che utilizzano un bilanciatore del carico di rete passthrough interno come hop successivo (specifica un indirizzo IP dall'intervallo di indirizzi IP della route statica come endpoint di destinazione)

Per le funzionalità di Cloud Load Balancing non supportate, consulta la sezione Configurazioni non supportate.

Per informazioni su come Connectivity Tests analizza i backend di un bilanciatore del carico, consulta Numero di tracce in un test su un bilanciatore del carico.

Considerazioni per Google Kubernetes Engine

Per GKE, l'analisi della configurazione di Connectivity Tests supporta le seguenti funzionalità:

È supportato il test della connettività a un servizio GKE tramite Cloud Load Balancing. Tuttavia, per valutare le policy di rete GKE e il mascheramento IP, devi utilizzare i pod come endpoint di test.

Considerazioni per gli endpoint serverless

Gli indirizzi IP di origine degli endpoint serverless sono in genere non deterministici. Per ogni esecuzione del test, Connectivity Tests seleziona un indirizzo IP casuale dal pool di indirizzi disponibili per l'endpoint serverless. Per informazioni generali su come vengono allocati gli indirizzi IP per gli endpoint serverless, consulta:

In alcuni casi, il traffico in uscita VPC diretto e i connettori di accesso VPC serverless sono configurati per instradare il traffico dagli endpoint serverless tramite la connettività esterna anziché la rete Virtual Private Cloud, a seconda delle impostazioni di traffico in uscita.

Per le funzionalità serverless non supportate, consulta la sezione Configurazioni non supportate.

Configurazioni non supportate

L'analisi della configurazione di Connectivity Tests non supporta il test delle seguenti configurazioni di rete:

Come Connectivity Tests analizza il piano dati in tempo reale

La funzionalità di analisi del piano dati in tempo reale testa la connettività inviando più pacchetti di probe dall'endpoint di origine alla destinazione. Se la destinazione non è una Google Cloud risorsa, la connettività viene testata tra l'endpoint di origine e la località perimetrale di rete.

I risultati dell'analisi del piano dati in tempo reale mostrano il numero di probe inviati, il numero di probe che hanno raggiunto correttamente la destinazione e uno stato di raggiungibilità. Questo stato viene determinato in base al numero di probe consegnati correttamente, come descritto nella tabella seguente.

Stato Numero di probe che hanno raggiunto la destinazione
Raggiungibile Almeno il 95%
Non raggiungibile Nessuno
Parzialmente raggiungibile Più di 0 e meno del 95%

Oltre a mostrare il numero di pacchetti consegnati correttamente, l'analisi del piano dati in tempo reale mostra anche le informazioni sulla latenza unidirezionale mediana e del 95° percentile. Quando la destinazione è un indirizzo IP internet, l'analisi del piano dati in tempo reale invia probe e mostra i risultati per ogni router perimetrale di rete Google attraverso il quale potrebbe essere instradato il traffico.

Limitazioni

L'analisi del piano dati in tempo reale potrebbe non coprire tutti i possibili percorsi di rete:

  • Se l'endpoint di destinazione è un Google Cloud bilanciatore del carico con più backend, ogni probe di analisi del piano dati in tempo reale viene inviato a un backend casuale. Alcuni backend possono essere testati da molti probe, mentre altri backend potrebbero non essere testati affatto.
  • In caso di routing ECMP (Equal-cost multipath), ogni probe di analisi del piano dati in tempo reale viene inoltrato da una route casuale. Alcuni percorsi di routing possono essere testati da molti probe, mentre altri percorsi di routing potrebbero non essere testati affatto.
  • Il numero di probe di analisi del piano dati in tempo reale non dipende dal numero di percorsi di rete esistenti e potrebbe non essere sufficiente per testare ogni percorso possibile.

Se noti discrepanze evidenti tra i risultati dell'analisi della configurazione e dell'analisi del piano dati in tempo reale, consulta Risolvere i problemi di Connectivity Tests.

Configurazioni supportate

L'analisi del piano dati in tempo reale supporta un sottoinsieme delle configurazioni testate dall'analisi della configurazione di Connectivity Tests.

Endpoint di origine

L'analisi del piano dati in tempo reale supporta i seguenti endpoint di origine:

Endpoint di destinazione

L'analisi del piano dati in tempo reale supporta i seguenti endpoint di destinazione:

Protocolli

L'analisi del piano dati in tempo reale supporta i protocolli TCP e UDP.

Google Cloud Funzionalità di networking

L'analisi del piano dati in tempo reale supporta le seguenti funzionalità:

Configurazioni non supportate

L'analisi del piano dati in tempo reale non supporta e non viene eseguita per le seguenti configurazioni di rete:

Considerazioni e vincoli

Valuta le seguenti considerazioni quando decidi se utilizzare Connectivity Tests.

  • L'analisi della configurazione eseguita da Connectivity Tests si basa interamente sulle informazioni di configurazione per le Google Cloud risorse e potrebbe non rappresentare la condizione o lo stato effettivo del piano dati per una rete VPC.
  • Sebbene Connectivity Tests acquisisca alcune informazioni di configurazione dinamiche, come lo stato del tunnel Cloud VPN e le route dinamiche presenti sul router Cloud, non accede o mantiene lo stato di integrità dell'infrastruttura di produzione interna di Google e dei componenti del piano dati.
  • Lo stato Packet could be delivered (Il pacchetto potrebbe essere consegnato) per un test di connettività non garantisce che il traffico possa passare attraverso il piano dati. Lo scopo del test è convalidare i problemi di configurazione che possono causare l'eliminazione del traffico.

Per le route supportate, i risultati dell'analisi del piano dati in tempo reale integrano i risultati dell'analisi della configurazione verificando se i pacchetti trasmessi arrivano a destinazione.

Connectivity Tests non conosce le reti esterne a Google Cloud

Le reti esterne sono definite come segue:

  • Reti on-premise che risiedono nel tuo data center o in un'altra struttura in cui gestisci i tuoi dispositivi hardware e le tue applicazioni software.
  • Altri cloud provider in cui esegui le risorse.
  • Un host su internet che invia traffico alla tua rete VPC.

Connectivity Tests non esegue il monitoraggio delle connessioni firewall

Il monitoraggio delle connessioni per i firewall VPC memorizza le informazioni sulle connessioni nuove e stabilite e consente di consentire o limitare il traffico successivo in base a queste informazioni.

L'analisi della configurazione di Connectivity Tests non supporta il monitoraggio delle connessioni firewall perché la tabella delle connessioni firewall si trova nel piano dati per un'istanza Compute Engine e non è accessibile. Tuttavia, l'analisi della configurazione può simulare il monitoraggio delle connessioni consentendo una connessione di ritorno che normalmente verrebbe negata da una regola firewall in entrata, a condizione che Connectivity Tests avvii la connessione in uscita.

L'analisi del piano dati in tempo reale non supporta il test del monitoraggio delle connessioni firewall.

Connectivity Tests non può testare le istanze Compute Engine configurate per modificare il comportamento di forwarding

Connectivity Tests non può testare le istanze Compute Engine configurate per fungere da router, firewall, gateway NAT o VPN nel piano dati. Questo tipo di configurazione rende difficile valutare l'ambiente in esecuzione sull'istanza Compute Engine. Inoltre, l'analisi del piano dati in tempo reale non supporta questo tipo di scenario di test.

I tempi dei risultati di Connectivity Tests possono variare

L'ottenimento dei risultati di Connectivity Tests può richiedere da 30 secondi a 10 minuti. Il tempo necessario per un test dipende dalle dimensioni della configurazione della rete VPC e dal numero di Google Cloud risorse utilizzate.

La tabella seguente mostra i tempi di risposta previsti per tutti gli utenti che eseguono un test su una configurazione di esempio in una query. Questa configurazione contiene istanze Compute Engine, un tunnel Cloud VPN e Google Cloud bilanciatori del carico.

Tempi di risposta per query
Dimensioni del progetto Numero di Google Cloud risorse Latenza di risposta
Progetto di piccole dimensioni Meno di 50 60 secondi per il 95% delle query di tutti gli utenti
Progetto di medie dimensioni Più di 50 ma meno di 5000 120 secondi per il 95% delle query di tutti gli utenti
Progetto di grandi dimensioni Più di 5000 600 secondi per il 95% delle query di tutti gli utenti

L'analisi del piano dati in tempo reale non è destinata al monitoraggio continuo

L'analisi del piano dati in tempo reale esegue una verifica una tantum della connettività di rete a scopo diagnostico. Per il monitoraggio continuo della connettività e della perdita di pacchetti, utilizza la dashboard delle prestazioni.

Supporto dei Controlli di servizio VPC

I Controlli di servizio VPC possono fornire una maggiore sicurezza per Connectivity Tests per contribuire a mitigare il rischio di esfiltrazione di dati. Utilizzando i Controlli di servizio VPC, puoi aggiungere progetti ai perimetri di servizio che proteggono risorse e servizi da richieste provenienti dall'esterno del perimetro.

Per saperne di più sui perimetri di servizio, consulta la pagina Dettagli e configurazione del perimetro di servizio della documentazione sui Controlli di servizio VPC.

Passaggi successivi