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
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.
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:
- Istanza Compute Engine
- Revisione di Cloud Run
- Cloud Run Functions (1ª generazione)
- Ambiente standard di App Engine
- Istanza Cloud SQL
- GKE GKE
- GKE GKE
- Indirizzo IP internet
- Indirizzo IP di una rete on-premise
- Indirizzo IP di un'istanza Compute Engine
- Indirizzo IP di un'istanza Cloud SQL
- Indirizzo IP di un control plane GKE
- Indirizzo IP di un pod GKE
- Indirizzo IP non assegnato in una rete Virtual Private Cloud
Endpoint di destinazione
L'analisi della configurazione di Connectivity Tests supporta i seguenti endpoint di destinazione:
- Istanza Compute Engine
- Istanza Cloud SQL
- GKE GKE
- GKE GKE
- Bilanciatore del carico delle applicazioni esterno e interno
- Bilanciatore del carico di rete proxyesterno e interno
- Bilanciatore del carico di rete passthrough esterno e interno
- Endpoint Private Service Connect
- Memorystore for Redis Cluster
- Istanza Memorystore for Redis
- Indirizzo IP internet
- Indirizzo IP di una rete on-premise
- Indirizzo IP di una regola di forwarding
- Indirizzo IP di un'istanza Compute Engine
- Indirizzo IP di un'istanza Cloud SQL
- Indirizzo IP di un control plane GKE
- Indirizzo IP di un pod GKE
- Indirizzo IP di un cluster Memorystore for Redis
- Indirizzo IP di un'istanza Memorystore for Redis
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):
- Reti VPC
- Peering di rete VPC
- VPC condiviso
- Accesso privato Google
- Cloud Load Balancing
- Intervalli IP alias
- Indirizzi IPv4 pubblici utilizzati privatamente
- Istanze Compute Engine con più interfacce di rete
- Routing VPC
- Regole firewall VPC
- Criteri firewall di rete regionali
- Criteri firewall gerarchici e criteri firewall di rete globali
- Tag Resource Manager per i firewall, inclusi quelli collegati a istanze Compute Engine con più interfacce di rete
- Route basate su policy
- Private Service Connect
- Istanze con indirizzi IPv6, incluse le istanze con più interfacce di rete
- Spoke VPC e spoke ibridi per NCC
- Public NAT e Private NAT
- Cloud VPN
- Cloud Interconnect
- Router Cloud, incluse le route dinamiche che utilizzano BGP e le route statiche
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à:
- Connettività da e tra i nodi GKE e il control plane GKE
- Connettività da e tra i GKE, inclusa la valutazione delle policy di rete GKE e del mascheramento IP.
È 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:
- Per la connettività esterna, vedi Indirizzi IP.
- Per la connettività tramite un connettore di accesso VPC serverless, vedi Inviare traffico serverless a una rete Virtual Private Cloud.
- Per la connettività tramite il traffico in uscita VPC diretto, vedi Allocazione degli indirizzi IP. Questo tipo di connettività è disponibile solo per Cloud Run.
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:
- Le regole dei criteri firewall con dati di Threat Intelligence o oggetti FQDN non sono supportate. Se questi firewall possono potenzialmente influire su un flusso di traffico specifico, Connectivity Tests restituisce un avviso corrispondente.
- I backend NEG internet che hanno come target FQDN non sono supportati. Tuttavia, i backend NEG internet che hanno come target indirizzi IP sono supportati.
- I bilanciatori del carico di Cloud Service Mesh con le
INTERNAL_SELF_MANAGEDregole di forwarding non sono supportati. - I criteri di Google Cloud Armor non vengono considerati o utilizzati durante la traccia della connettività a un indirizzo IP del bilanciatore del carico delle applicazioni esterno.
- I gateway VPN ad alta disponibilità connessi alle istanze Compute Engine non sono supportati.
- Le repliche del server esterno Cloud SQL definite dai nomi DNS non sono supportate. Tuttavia, le repliche del server esterno definite dagli indirizzi IP sono supportate.
- Cloud Run Functions (2ª generazione) non sono supportate. Tuttavia, puoi testare la connettività da una Cloud Run Function (2ª generazione) creando un test di connettività per la revisione di Cloud Run sottostante. Viene creata una revisione di Cloud Run ogni volta che viene eseguito il deployment di una Cloud Run Function.
- L'ambiente flessibile di App Engine non è supportato.
- I job Cloud Run non sono supportati. Per saperne di più, consulta Servizi, job e pool di worker: tre modi per eseguire il codice.
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:
- Istanza Compute Engine
- Endpoint serverless configurato con un connettore di accesso VPC serverless e associato a una delle seguenti risorse:
- Istanza Cloud SQL
- Control plane GKE
Endpoint di destinazione
L'analisi del piano dati in tempo reale supporta i seguenti endpoint di destinazione:
- Istanza Compute Engine
- Bilanciatore del carico di rete passthrough interno
- Private Service Connect con un bilanciatore del carico di rete passthrough interno del producer
- Indirizzo IP internet, testato nella località perimetrale di rete
- Collegamento VLAN per Cloud Interconnect
- Endpoint privato associato a una delle seguenti risorse:
- Istanza Cloud SQL
- Memorystore for Redis Cluster
- Istanza Memorystore for Redis
- Control plane GKE
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à:
- Reti VPC
- Peering di rete VPC
- VPC condiviso
- Spoke VPC e spoke ibridi in NCC
- Intervalli IP alias
- Indirizzi IP esterni
- Indirizzi IP interni, inclusi gli indirizzi IPv4 pubblici utilizzati privatamente
- Istanze Compute Engine con più interfacce di rete
- Routing VPC
- Public NAT e Private NAT, ad eccezione di NAT64
- Regole firewall VPC
- Criteri firewall gerarchici, criteri firewall di rete globali, e criteri firewall di rete regionali
- Tag sicuri per i firewall, inclusi quelli collegati a istanze Compute Engine con più interfacce di rete
- Route basate su policy
- Istanze con indirizzi IPv6, incluse le istanze con più interfacce di rete
Configurazioni non supportate
L'analisi del piano dati in tempo reale non supporta e non viene eseguita per le seguenti configurazioni di rete:
- Risorse non-Google Cloud come endpoint di origine:
- Indirizzi IP internet
- Traffico in entrata tramite Cloud Interconnect, Cloud VPN e spoke ibridi NCC Google Cloud
- Indirizzi IP non assegnati in una rete VPC come endpoint di origine
- Gli endpoint di origine e di destinazione sono la stessa istanza Compute Engine
- Istanze Compute Engine non in esecuzione
- Pod GKE
- API e servizi Google
- Bilanciatore del carico delle applicazioni esterno e interno
- Bilanciatore del carico di rete proxyesterno e interno
- Bilanciatore del carico di rete passthrough esterno
- Cloud VPN
- NAT64
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.
| 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.