View a markdown version of this page

Risoluzione dei problemi di rete VPC - AWS HealthOmics

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi di rete VPC

Monitoraggio e risoluzione dei problemi della rete

CloudTrail registrazione

Tutte le operazioni dell'API di configurazione e i flussi di lavoro eseguiti utilizzando la rete VPC vengono registrati. CloudTrail Utilizzalo CloudTrail per controllare le modifiche alla configurazione e tenere traccia delle esecuzioni che utilizzano la rete VPC.

Risoluzione dei problemi con i log di flusso ENI

Quando il flusso di lavoro esegue l'accesso a risorse esterne su Internet, puoi utilizzare VPC Flow Logs per verificare la connettività e diagnosticare i problemi. HealthOmics fornisce interfacce di rete elastiche (ENIs) nelle sottoreti VPC per indirizzare il traffico proveniente dalle attività del flusso di lavoro. Esaminando i log di flusso su queste ENIs, è possibile tracciare il traffico di rete da e verso destinazioni esterne.

Gestione dei costi per VPC Flow Logs

I log di flusso VPC possono comportare costi significativi, soprattutto a livello di VPC. Per ridurre al minimo i costi:

  • Eliminare i registri di flusso dopo la risoluzione dei problemi. Una volta risolti i problemi di connettività, elimina il log di flusso per evitare di incorrere in addebiti.

  • Usa Amazon S3 anziché CloudWatch Logs per lo storage a lungo termine. Lo storage Amazon S3 è notevolmente più economico di CloudWatch Logs. Configura i log di flusso da pubblicare su Amazon S3 se hai bisogno di conservarli per analisi di conformità o sicurezza.

  • Imposta le politiche di conservazione CloudWatch dei log. Se utilizzi CloudWatch Logs, configura la scadenza automatica dei log (ad esempio, 7 giorni) per evitare costi di archiviazione indefiniti.

  • Utilizza i log di flusso a livello ENI per la risoluzione dei problemi. Per eseguire il debug una tantum, crea log di flusso sull'ENI del cliente specifico anziché sull'intero VPC.

Configurazione dei log di flusso per la risoluzione dei problemi

Opzione 1: log di flusso a livello di VPC (per il monitoraggio continuo)

Abilita i log di flusso sul tuo VPC per acquisire automaticamente il traffico da HealthOmics tutte le esecuzioni del flusso di lavoro. È la soluzione migliore quando hai molti flussi di lavoro in esecuzione e desideri una visibilità completa senza tenere traccia dei singoli flussi di lavoro. ENIs

  1. Abilita i log di flusso VPC. Nella console Amazon VPC:

    1. Scegli Your VPCs e seleziona il VPC utilizzato nella tua configurazione HealthOmics

    2. Scegli la scheda Flow logs

    3. Scegli Crea log di flusso

    4. Configura il log di flusso per acquisire tutto il traffico (accettato e rifiutato)

    5. Seleziona CloudWatch Logs come destinazione per semplificare le interrogazioni

  2. Avvia l'esecuzione di un flusso di lavoro. Avvia un flusso di lavoro eseguito con la rete VPC abilitata. Annota l'ID di esecuzione e l'ora di inizio per filtrare i log di flusso in un secondo momento.

Interroga i log di flusso utilizzando CloudWatch Logs Insights per finestra temporale, IP di destinazione o modelli di traffico. Non è necessario identificare un ENI specifico. IDs

Opzione 2: registri di flusso a livello ENI (per una risoluzione mirata dei problemi)

Abilita i log di flusso in modo specifico ENIs quando ne hai solo alcuni HealthOmics ENIs nel tuo account. Questo è l'approccio più conveniente e semplifica l'isolamento del traffico per specifiche esecuzioni di flussi di lavoro.

  1. Trova il cliente ENI. Nella console Amazon EC2:

    1. Scegli interfacce di rete

    2. Filtra per tag Service: HealthOmics per mostrare solo le creazioni ENIs create da HealthOmics

    3. Facoltativamente, filtra ulteriormente in base all'ID di sottorete dalla configurazione HealthOmics

    4. Annota l'ID ENI e l'indirizzo IP privato

  2. Abilita i registri di flusso sull'ENI.

    1. Seleziona l'ENI e scegli la scheda Flow logs

    2. Scegli Crea registro di flusso

    3. Configura il log di flusso per acquisire tutto il traffico

    4. Seleziona CloudWatch Registri come destinazione

Nota

I log di flusso acquisiscono il traffico solo dal momento in cui sono abilitati. Per i log di flusso a livello di VPC, abilitali prima di eseguire i flussi di lavoro. Per i log di flusso a livello ENI, una volta abilitati su un ENI, lo stesso log di flusso acquisirà il traffico per tutte le future esecuzioni di flusso di lavoro che utilizzano tale ENI.

Comprendere il formato VPC Flow Log

I log di flusso VPC utilizzano un formato separato da spazi con i seguenti campi:

version account_id interface_id srcaddr dstaddr srcport dstport protocol packets bytes start end action log_status

Descrizioni dei campi:

  • versione: versione in formato log di flusso (in genere 2)

  • account_id — L'ID del tuo AWS account

  • interface_id — L'ID ENI (ad esempio, eni-0e57c5476efeac402)

  • srcaddr — Indirizzo IP di origine

  • dstaddr — Indirizzo IP di destinazione

  • srcport — Numero della porta di origine

  • dstport — Numero della porta di destinazione

  • protocollo — numero di protocollo IANA (6=TCP, 17=UDP, 1=ICMP)

  • pacchetti — Numero di pacchetti nel flusso

  • byte: numero di byte nel flusso

  • start — Ora di inizio del flusso (timestamp Unix)

  • end — Ora di fine del flusso (timestamp Unix)

  • azione — ACCETTA o RIFIUTA

  • log_status — OK, NODATA o SKIPDATA

Esempi di voci del log di flusso:

2 074296239033 eni-0e57c5476efeac402 10.0.130.58 13.226.238.96 40565 443 6 13 1502 1774338927 1774338929 ACCEPT OK 2 074296239033 eni-0e57c5476efeac402 13.226.238.96 10.0.130.58 443 40565 6 8 1024 1774338928 1774338930 ACCEPT OK

Queste voci mostrano una comunicazione HTTPS bidirezionale riuscita. Chiave IPs: 10.0.130.58 è il cliente da cui l'ENI è stato creato HealthOmics nel tuo account e 13.226.238.96 è il dominio pubblico esterno a cui accede il tuo flusso di lavoro. Il primo ingresso è il traffico in uscita e il secondo è il traffico di ritorno. Entrambe mostrano ACCEPT, che indica che il traffico è stato consentito dai gruppi di sicurezza.

Interrogazione dei log di flusso in Logs Insights CloudWatch

Quando i log di flusso vengono pubblicati su Logs, usa CloudWatch CloudWatch Logs Insights per interrogare e analizzare i dati.

Trova il traffico rifiutato (inizia qui)

fields @timestamp, interfaceId, srcAddr, dstAddr, srcPort, dstPort, protocol, action | filter action = "REJECT" | sort @timestamp desc

Se ciò restituisce risultati, potresti avere un problema di connettività. Le voci rifiutate mostrano quale traffico viene bloccato dai gruppi di sicurezza o dalla rete ACLs.

Trova il traffico verso un IP esterno specifico

Innanzitutto, risolvi il dominio in un indirizzo IP utilizzando nslookup odig:

$ nslookup ftp.ncbi.nlm.nih.gov Server: 127.53.53.53 Address: 127.53.53.53#53 Non-authoritative answer: ftp.ncbi.nlm.nih.gov canonical name = ftp.wip.ncbi.nlm.nih.gov. Name: ftp.wip.ncbi.nlm.nih.gov Address: 130.14.250.10 Name: ftp.wip.ncbi.nlm.nih.gov Address: 130.14.250.11

Il «Server» e l' «Indirizzo» in alto sono il tuo resolver DNS. Gli indirizzi in «Risposta non autorevole» (130.14.250.10 e 130.14.250.11) sono quelli effettivi del dominio. IPs

Interroga i log di flusso utilizzando un prefisso che corrisponda a qualsiasi IP in quell'intervallo:

fields @timestamp, interfaceId, srcAddr, dstAddr, srcPort, dstPort, protocol, action | filter dstAddr like "130.14.250" | sort @timestamp desc

Questo corrisponde a qualsiasi IP che inizia con 130.14.250 e acquisisce il traffico verso tutti gli indirizzi di quella sottorete. IPs

Trova il traffico HTTPS verso destinazioni esterne

fields @timestamp, interfaceId, srcAddr, dstAddr, srcPort, dstPort, protocol, action | filter dstPort = 443 and protocol = 6 | filter not (dstAddr like /^10\./ or dstAddr like /^172\./ or dstAddr like /^192\.168\./) | sort @timestamp desc

Il secondo filtro esclude gli intervalli IP privati, mostrando solo il traffico verso destinazioni esterne (pubbliche).

Nota

Numeri di protocollo: 6=TCP, 17=UDP, 1=ICMP. Per i servizi con bilanciamento del carico (ad esempio, CloudFront), il DNS può restituire risultati diversi, quindi filtra in base alla porta di destinazione anziché all'indirizzo IP. IPs

Schemi e problemi comuni dei log di flusso

Traffico in uscita rifiutato
Outbound: 2 074296239033 eni-0e57c5476efeac402 10.0.130.58 13.226.238.96 40565 443 6 1 60 1774338927 1774338929 REJECT OK

Causa: il gruppo di sicurezza non consente il traffico in uscita verso la porta o l'intervallo IP di destinazione.

Soluzione: aggiungi una regola in uscita al tuo gruppo di sicurezza:

  • Per HTTPS: consentire la porta TCP 443 su 0.0.0.0/0

  • Per HTTP: consente la porta TCP 80 su 0.0.0.0/0

  • Per un accesso più ampio: consenti tutto a 0.0.0.0/0 TCP/UDP

Traffico di ritorno rifiutato
Outbound: 2 074296239033 eni-0e57c5476efeac402 10.0.130.58 8.8.8.8 54321 53 17 1 64 1774338927 1774338929 ACCEPT OK Return: 2 074296239033 eni-0e57c5476efeac402 8.8.8.8 10.0.130.58 53 54321 17 1 64 1774338928 1774338930 REJECT OK

Causa: l'ACL di rete blocca il traffico di ritorno. A differenza dei gruppi di sicurezza (stateful), le reti ACLs sono prive di stato e richiedono regole esplicite per entrambe le direzioni.

Soluzione: nella console VPC, controlla l'ACL di rete della sottorete e verifica che le regole in entrata consentano il traffico su porte temporanee (1024-65535) da fonti esterne. Aggiungi una regola se necessario: consenti le porte 1024-65535 dalla versione 0.0.0.0/0 TCP/UDP

Traffico di ritorno mancante
Outbound: 2 074296239033 eni-0e57c5476efeac402 10.0.130.58 8.8.8.8 54321 53 17 1 64 1774338927 1774338929 ACCEPT OK

Causa: NAT Gateway/Internet Gateway non è configurato correttamente o ENI non dispone di connettività a Internet.

Soluzione::

  • Verifica che la tabella delle rotte sia indirizzata al gateway NAT (0.0.0.0/0 → nat-xxxxx)

  • Verifica che NAT Gateway sia in stato DISPONIBILE con un IP elastico

  • Verifica che NAT Gateway si trovi in una sottorete pubblica con routing verso Internet Gateway

Nessuna voce nel registro di flusso per il traffico previsto

Causa: il traffico non raggiunge l'ENI o i registri di flusso non sono configurati correttamente.

Soluzione::

  • Verifica che i log di flusso siano abilitati e configurati per acquisire tutto il traffico

  • Controlla i registri del flusso di lavoro in CloudWatch Logs per confermare che il flusso di lavoro sta tentando di accedere alla risorsa esterna

  • Verifica che la tabella delle rotte sia indirizzata al gateway NAT (0.0.0.0/0 → nat-xxxxx)

  • Verifica che NAT Gateway sia in stato DISPONIBILE con un IP elastico

Le migliori pratiche per la risoluzione dei problemi relativi ai log di flusso

  1. Abilita i log di flusso prima di iniziare la risoluzione dei problemi. I log di flusso acquisiscono il traffico solo dal momento in cui sono abilitati. Abilitali su tutte le sottoreti della HealthOmics configurazione prima di eseguire i flussi di lavoro.

  2. Usa CloudWatch Logs Insights per l'analisi. CloudWatch Logs Insights offre potenti funzionalità di interrogazione per i log di flusso. Salva le query di uso comune per un accesso rapido.

  3. Filtra per finestra temporale. Restringi le query del log di flusso alla finestra temporale specifica in cui l'esecuzione del flusso di lavoro era attiva per ridurre il rumore e migliorare le prestazioni delle query.

  4. Cerca entrambe le direzioni di traffico. Verifica sempre che sia il traffico in uscita che quello di ritorno indichino ACCEPT. Una connessione richiede una comunicazione bidirezionale.

  5. Documenta le tue scoperte. Durante la risoluzione dei problemi di connettività, documenta l'ID ENI del cliente, gli indirizzi IP, le porte e le voci del registro di flusso. Queste informazioni sono utili per i casi di assistenza e la risoluzione dei problemi futuri.

  6. Esegui innanzitutto un test con un flusso di lavoro semplice. Prima di eseguire flussi di lavoro complessi, verifica la connettività con un flusso di lavoro semplice che tenti di accedere alla risorsa esterna e registri il risultato. Questo aiuta a isolare i problemi di rete dai problemi di logica del flusso di lavoro.

Risoluzione dei problemi di configurazione

Configurazione bloccata nello stato CREATING

Causa: il provisioning delle risorse di rete può richiedere alcuni minuti.

Soluzione: attendere fino a 10 minuti. Se lo stato non cambia in ATTIVO, verifica quanto segue:

  • Le sottoreti e i gruppi di sicurezza esistono e si trovano nello stesso VPC.

  • Disponi delle autorizzazioni IAM richieste.

  • Il ruolo collegato al servizio è stato creato correttamente.

L'esecuzione non riesce ad avviarsi con la rete VPC

Causa: la configurazione potrebbe non essere ATTIVA o potrebbero esserci problemi di connettività di rete.

Soluzione::

  • Verifica che lo stato della configurazione sia ATTIVO utilizzandoGetConfiguration.

  • Verifica che le regole del gruppo di sicurezza consentano il traffico in uscita richiesto.

  • Assicurati che le sottoreti si trovino nelle zone di disponibilità in cui opera. HealthOmics

Impossibile eliminare la configurazione

Causa: la configurazione è utilizzata dalle esecuzioni attive del flusso di lavoro.

Soluzione: attendi il completamento di tutte le esecuzioni utilizzando la configurazione, quindi riprova l'eliminazione.

Impossibile eliminare il ruolo collegato al servizio

Causa: nel tuo account sono presenti configurazioni VPC attive.

Soluzione: elimina prima tutte le configurazioni VPC, quindi elimina il ruolo collegato al servizio.

Il flusso di lavoro non può connettersi a una risorsa esterna

Causa: configurazione errata del gruppo di sicurezza o della tabella di routing.

Soluzione::

  1. Abilita i log di flusso VPC per identificare i pacchetti rifiutati

  2. Verifica che le regole in uscita del gruppo di sicurezza consentano il traffico verso la destinazione

  3. Verifica che la tabella delle rotte abbia un percorso verso NAT Gateway (0.0.0.0/0 → nat-xxxxxx)

  4. Per l'accesso al servizio tra regioni, assicurati che la regione di destinazione sia raggiungibile AWS

  5. Verifica la connettività da un'istanza Amazon EC2 nella stessa sottorete

Problemi di prestazioni di rete

Sintomo: rallentamento del trasferimento dei dati o timeout del flusso di lavoro.

Causa: limitazioni del throughput di rete o saturazione del gateway NAT.

Soluzione::

  • La velocità di trasmissione della rete parte da 10 Gbps per ENI e sale fino a 100 Gbps in un periodo di 60 minuti con traffico sostenuto

  • Per flussi di lavoro con requisiti immediati di produttività elevata, contatta l'assistenza AWS

  • Monitora le metriche di NAT Gateway per identificare la saturazione CloudWatch

  • Prendi in considerazione l'implementazione di gateway NAT aggiuntivi in più zone di disponibilità per una maggiore velocità di trasmissione

Il flusso di lavoro non può raggiungere Internet

Causa: le sottoreti private potrebbero non avere un percorso verso un gateway NAT oppure le regole dei gruppi di sicurezza potrebbero bloccare il traffico in uscita.

Soluzione::

  • Verifica che la tabella di routing per le tue sottoreti private includa una route verso un gateway NAT (0.0.0.0/0 → nat-xxxxxxxxx).

  • Verifica che le regole del gruppo di sicurezza consentano il traffico in uscita sulle porte richieste.

  • Verifica che il gateway NAT si trovi in una sottorete pubblica con un percorso verso un gateway Internet.

L'esecuzione del workflow non riesce a causa di errori di connettività

Causa: il traffico di rete potrebbe essere bloccato o configurato in modo errato.

Soluzione::

  1. Verifica che lo stato della configurazione sia ancora ATTIVO utilizzandoGetConfiguration.

  2. Crea un registro di flusso VPC ENIs nel tuo VPC per ispezionare il traffico. Per ulteriori informazioni, consulta Log di flusso VPC nella Guida per l’utente di Amazon VPC.

  3. Controlla il log di flusso per le voci REJECT. Se vedi pacchetti rifiutati, aggiorna le regole del gruppo di sicurezza per consentire il traffico in uscita richiesto.

  4. Se il log di flusso non rivela la causa principale, contatta l' AWS assistenza.