View a markdown version of this page

Problembehandlung bei VPC-Netzwerken - AWS HealthOmics

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Problembehandlung bei VPC-Netzwerken

Netzwerküberwachung und Fehlerbehebung

CloudTrail Protokollierung

Alle Konfigurations-API-Operationen und Workflow-Läufe, die VPC-Netzwerke verwenden, sind angemeldet CloudTrail. Wird verwendet CloudTrail , um Konfigurationsänderungen zu überprüfen und nachzuverfolgen, welche Läufe VPC-Netzwerke verwenden.

Fehlerbehebung mit ENI-Flow-Logs

Wenn Ihr Workflow auf externe Ressourcen über das Internet zugreift, können Sie VPC Flow Logs verwenden, um Konnektivität zu überprüfen und Probleme zu diagnostizieren. HealthOmics stellt elastische Netzwerkschnittstellen (ENIs) in Ihren VPC-Subnetzen bereit, um den Datenverkehr von Ihren Workflow-Aufgaben weiterzuleiten. Indem Sie die zugehörigen Flussprotokolle untersuchen ENIs, können Sie den Netzwerkverkehr zu und von externen Zielen verfolgen.

Kostenmanagement für VPC Flow Logs

VPC-Flow-Logs können erhebliche Kosten verursachen, insbesondere auf VPC-Ebene. Um die Kosten zu minimieren:

  • Löschen Sie die Flow-Logs nach der Fehlerbehebung. Sobald Sie die Verbindungsprobleme behoben haben, löschen Sie das Flow-Protokoll, damit keine Gebühren mehr anfallen.

  • Verwenden Sie Amazon S3 anstelle von CloudWatch Logs für die Langzeitspeicherung. Amazon S3 S3-Speicher ist deutlich günstiger als CloudWatch Logs. Konfigurieren Sie Flow-Protokolle für die Veröffentlichung in Amazon S3, wenn Sie Protokolle für Compliance- oder Sicherheitsanalysen aufbewahren müssen.

  • Legen Sie Richtlinien zur Aufbewahrung von CloudWatch Protokollen fest. Wenn Sie CloudWatch Protokolle verwenden, konfigurieren Sie den automatischen Protokollablauf (z. B. 7 Tage), um unbestimmte Speicherkosten zu vermeiden.

  • Verwenden Sie zur Fehlerbehebung Flow-Logs auf ENI-Ebene. Erstellen Sie für einmaliges Debugging Flow-Logs auf der spezifischen Kunden-ENI und nicht auf der gesamten VPC.

Einrichtung von Flow-Logs zur Fehlerbehebung

Option 1: Flow-Logs auf VPC-Ebene (zur laufenden Überwachung)

Aktivieren Sie Flow-Logs auf Ihrer VPC, um den Datenverkehr aus allen HealthOmics Workflow-Läufen automatisch zu erfassen. Dies ist am besten, wenn Sie viele Workflow-Läufe haben und umfassende Transparenz wünschen, ohne einzelne ENIs Workflow-Läufe nachverfolgen zu müssen.

  1. Aktivieren Sie VPC Flow Logs. In der Amazon VPC-Konsole:

    1. Wählen Sie Ihre VPCs und wählen Sie die in Ihrer HealthOmics Konfiguration verwendete VPC

    2. Wählen Sie den Tab Flow Logs

    3. Wählen Sie Flow-Protokoll erstellen

    4. Konfigurieren Sie das Flow-Protokoll so, dass der gesamte Datenverkehr (sowohl akzeptiert als auch abgelehnt) erfasst wird

    5. Wählen Sie CloudWatch Logs als Ziel aus, um die Abfrage zu vereinfachen

  2. Starten Sie eine Workflow-Ausführung. Starten Sie eine Workflow-Ausführung mit aktiviertem VPC-Netzwerk. Notieren Sie sich die Lauf-ID und die Startzeit für das spätere Filtern von Flow-Protokollen.

Fragen Sie CloudWatch Flow-Logs mithilfe von Logs Insights nach Zeitfenster, Ziel-IP oder Verkehrsmustern ab. Sie müssen kein bestimmtes ENI identifizieren IDs.

Option 2: Flow-Logs auf ENI-Ebene (für gezielte Problembehebung)

Aktivieren Sie Flow-Logs nur ENIs dann, wenn Sie nur wenige HealthOmics ENIs in Ihrem Konto haben. Dies ist der kostengünstigste Ansatz und macht es einfach, den Datenverkehr für bestimmte Workflow-Läufe zu isolieren.

  1. Finden Sie den Kunden ENI. In der Amazon EC2 EC2-Konsole:

    1. Wählen Sie Netzwerkschnittstellen

    2. Filtern Sie nach TagService: HealthOmics, um nur das Objekt anzuzeigen, das von ENIs erstellt wurde HealthOmics

    3. Optional können Sie weiter nach der Subnetz-ID aus Ihrer HealthOmics Konfiguration filtern

    4. Notieren Sie sich die ENI-ID und die private IP-Adresse

  2. Aktivieren Sie die Flow-Logs auf der ENI.

    1. Wählen Sie das ENI und dann die Registerkarte Flow-Logs

    2. Wählen Sie Flow-Protokoll erstellen

    3. Konfigurieren Sie das Flow-Protokoll so, dass der gesamte Datenverkehr erfasst wird

    4. Wählen Sie CloudWatch Logs als Ziel

Anmerkung

Flow-Logs erfassen nur den Datenverkehr ab dem Zeitpunkt, zu dem sie aktiviert wurden. Aktivieren Sie Flow-Logs auf VPC-Ebene, bevor Sie Workflows ausführen. Bei Flow-Logs auf ENI-Ebene erfasst dasselbe Flow-Protokoll nach der Aktivierung auf einer ENI den Datenverkehr für alle future Workflow-Ausführungen, die diese ENI verwenden.

Grundlegendes zum VPC Flow Log-Format

VPC Flow Logs verwenden ein durch Leerzeichen getrenntes Format mit den folgenden Feldern:

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

Feldbeschreibungen:

  • Version — Version im Flow-Log-Format (normalerweise 2)

  • account_id — Deine AWS Konto-ID

  • interface_id — Die ENI-ID (zum Beispiel eni-0e57c5476efeac402)

  • srcaddr — Quell-IP-Adresse

  • dstaddr — Ziel-IP-Adresse

  • srcport — Quell-Port-Nummer

  • dstport — Zielportnummer

  • protocol — IANA-Protokollnummer (6=TCP, 17=UDP, 1=ICMP)

  • packages — Anzahl der Pakete im Flow

  • Bytes — Anzahl der Byte im Flow

  • start — Startzeit des Flows (Unix-Zeitstempel)

  • end — Endzeit des Flusses (Unix-Zeitstempel)

  • Aktion — AKZEPTIEREN oder ABLEHNEN

  • log_status — OK, NODATA oder SKIPDATA

Beispiele für Flow-Logeinträge:

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

Diese Einträge zeigen eine erfolgreiche bidirektionale HTTPS-Kommunikation. Schlüssel IPs: 10.0.130.58 ist der Kunde, von dem ENI HealthOmics in Ihrem Konto erstellt wurde, und 13.226.238.96 ist die externe öffentliche Domain, auf die Ihr Workflow zugreift. Der erste Eintrag ist ausgehender Verkehr und der zweite ist der Rückverkehr. Beide zeigen ACCEPT an, was darauf hinweist, dass der Verkehr von Sicherheitsgruppen zugelassen wurde.

Abfragen von Flow-Logs in CloudWatch Logs Insights

Wenn Flow-Logs in CloudWatch Logs veröffentlicht werden, verwenden Sie CloudWatch Logs Insights, um die Daten abzufragen und zu analysieren.

Finden Sie abgelehnten Traffic (beginnen Sie hier)

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

Wenn dies zu Ergebnissen führt, liegt möglicherweise ein Verbindungsproblem vor. Die abgelehnten Einträge zeigen, welcher Datenverkehr von Sicherheitsgruppen oder Netzwerken blockiert wird ACLs.

Finden Sie den Verkehr zu einer bestimmten externen IP

Lösen Sie die Domain zunächst mit nslookup oder in eine IP-Adresse aufdig:

$ 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

Der „Server“ und die „Adresse“ oben sind Ihr DNS-Resolver. Die Adressen unter „Nicht autoritative Antwort“ (130.14.250.10 und 130.14.250.11) sind die tatsächlichen Adressen für die Domain. IPs

Fragen Sie Flow-Logs mit einem Präfix ab, das einer beliebigen IP in diesem Bereich entspricht:

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

Dies entspricht jeder IP, die mit 130.14.250 beginnt, und erfasst den gesamten Datenverkehr IPs in diesem Subnetz.

Finden Sie HTTPS-Verkehr zu externen Zielen

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

Der zweite Filter schließt private IP-Bereiche aus und zeigt nur Datenverkehr zu externen (öffentlichen) Zielen an.

Anmerkung

Protokollnummern: 6=TCP, 17=UDP, 1=ICMP. Bei Diensten mit Lastenausgleich (z. B. CloudFront) gibt DNS möglicherweise andere Werte zurück. Filtern Sie daher nach dem Zielport IPs statt nach der IP-Adresse.

Allgemeine Ablaufprotokollmuster und Probleme

Ausgehender Verkehr wurde zurückgewiesen
Outbound: 2 074296239033 eni-0e57c5476efeac402 10.0.130.58 13.226.238.96 40565 443 6 1 60 1774338927 1774338929 REJECT OK

Ursache: Die Sicherheitsgruppe erlaubt keinen ausgehenden Datenverkehr zum Zielport oder IP-Bereich.

Lösung: Fügen Sie Ihrer Sicherheitsgruppe eine Regel für ausgehenden Datenverkehr hinzu:

  • Für HTTPS: Erlaube den TCP-Port 443 bis 0.0.0.0/0

  • Für HTTP: Erlaube den TCP-Port 80 bis 0.0.0.0/0

  • Für einen breiteren Zugriff: Erlaube allen bis 0.0.0.0/0 TCP/UDP

Rückverkehr abgelehnt
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

Ursache: Die Netzwerk-ACL blockiert den Rückverkehr. Im Gegensatz zu Sicherheitsgruppen (statusbehaftet) ACLs sind Netzwerke zustandslos und erfordern explizite Regeln für beide Richtungen.

Lösung: Überprüfen Sie in der VPC-Konsole die Netzwerk-ACL Ihres Subnetzes und stellen Sie sicher, dass die Regeln für eingehenden Datenverkehr auf ephemeren Ports (1024-65535) von externen Quellen zulassen. Fügen Sie bei Bedarf eine Regel hinzu: Erlauben Sie die Ports 1024-65535 von 0.0.0.0/0 TCP/UDP

Fehlender Rückverkehr
Outbound: 2 074296239033 eni-0e57c5476efeac402 10.0.130.58 8.8.8.8 54321 53 17 1 64 1774338927 1774338929 ACCEPT OK

Ursache: Gateway/Internet Das NAT-Gateway ist nicht richtig konfiguriert, oder ENI hat keine Verbindung zum Internet.

Lösung:

  • Stellen Sie sicher, dass die Routentabelle eine Route zum NAT-Gateway enthält (0.0.0.0/0 → nat-xxxxx)

  • Stellen Sie sicher, dass sich das NAT-Gateway mit einer Elastic IP im Status AVAILABLE befindet

  • Prüfen Sie, ob sich das NAT-Gateway in einem öffentlichen Subnetz mit einer Route zum Internet Gateway befindet

Keine Flow-Log-Einträge für den erwarteten Verkehr

Ursache: Der Datenverkehr erreicht die ENI nicht, oder die Flow-Protokolle sind nicht richtig konfiguriert.

Lösung:

  • Stellen Sie sicher, dass die Flow-Logs aktiviert und so konfiguriert sind, dass sie den gesamten Datenverkehr erfassen

  • Überprüfen Sie die CloudWatch Workflow-Protokolle in Logs, um zu bestätigen, dass der Workflow versucht, auf die externe Ressource zuzugreifen

  • Stellen Sie sicher, dass die Routentabelle eine Route zum NAT-Gateway enthält (0.0.0.0/0 → nat-xxxxx)

  • Stellen Sie sicher, dass sich das NAT-Gateway mit einer Elastic IP im Status AVAILABLE befindet

Bewährte Methoden für die Fehlerbehebung bei Flow-Protokollen

  1. Aktivieren Sie die Flow-Protokolle, bevor Sie mit der Fehlerbehebung beginnen. Flow-Logs erfassen nur den Datenverkehr ab dem Zeitpunkt, zu dem sie aktiviert wurden. Aktivieren Sie sie in allen Subnetzen in Ihrer HealthOmics Konfiguration, bevor Sie Workflows ausführen.

  2. Verwenden Sie CloudWatch Logs Insights zur Analyse. CloudWatch Logs Insights bietet leistungsstarke Abfragefunktionen für Flow-Logs. Speichern Sie häufig verwendete Abfragen für den schnellen Zugriff.

  3. Nach Zeitfenster filtern. Schränken Sie Ihre Flow-Protokollabfragen auf das Zeitfenster ein, in dem Ihr Workflow-Lauf aktiv war, um Störungen zu reduzieren und die Abfrageleistung zu verbessern.

  4. Achten Sie auf beide Verkehrsrichtungen. Vergewissern Sie sich immer, dass sowohl für den ausgehenden als auch für den Rückverkehr die Option ACCEPT angezeigt wird. Eine Verbindung erfordert eine bidirektionale Kommunikation.

  5. Dokumentieren Sie Ihre Ergebnisse. Dokumentieren Sie bei der Behebung von Verbindungsproblemen die ENI-ID, IP-Adressen, Ports und Flow-Protokolleinträge des Kunden. Diese Informationen sind wertvoll für Supportfälle und future Problemlösungen.

  6. Testen Sie zunächst mit einem einfachen Arbeitsablauf. Bevor Sie komplexe Workflows ausführen, testen Sie die Konnektivität mit einem einfachen Workflow, der versucht, auf die externe Ressource zuzugreifen, und das Ergebnis protokolliert. Dies hilft, Netzwerkprobleme von Problemen mit der Workflow-Logik zu trennen.

Fehlerbehebung bei der Konfiguration

Die Konfiguration blieb im Status CREATING hängen

Ursache: Die Bereitstellung von Netzwerkressourcen kann mehrere Minuten dauern.

Lösung: Warten Sie bis zu 10 Minuten. Wenn der Status nicht zu AKTIV wechselt, überprüfen Sie Folgendes:

  • Ihre Subnetze und Sicherheitsgruppen sind vorhanden und befinden sich in derselben VPC.

  • Sie verfügen über die erforderlichen IAM-Berechtigungen.

  • Die serviceverknüpfte Rolle wurde erfolgreich erstellt.

Die Ausführung kann mit dem VPC-Netzwerk nicht gestartet werden

Ursache: Die Konfiguration ist möglicherweise nicht AKTIV, oder es liegen Probleme mit der Netzwerkverbindung vor.

Lösung:

  • Stellen Sie sicher, dass der Konfigurationsstatus AKTIV ist, indem SieGetConfiguration.

  • Vergewissern Sie sich, dass die Sicherheitsgruppenregeln den erforderlichen ausgehenden Datenverkehr zulassen.

  • Stellen Sie sicher, dass sich die Subnetze in den Availability Zones befinden, in denen sie betrieben HealthOmics werden

Konfiguration kann nicht gelöscht werden

Ursache: Die Konfiguration wird von aktiven Workflow-Ausführungen verwendet.

Lösung: Warten Sie, bis alle Läufe, die die Konfiguration verwenden, abgeschlossen sind, und versuchen Sie dann erneut, den Löschvorgang durchzuführen.

Die mit dem Dienst verknüpfte Rolle kann nicht gelöscht werden

Ursache: In Ihrem Konto sind aktive VPC-Konfigurationen vorhanden.

Lösung: Löschen Sie zuerst alle VPC-Konfigurationen und dann die serviceverknüpfte Rolle.

Der Workflow kann keine Verbindung zur externen Ressource herstellen

Ursache: Fehlkonfiguration der Sicherheitsgruppe oder der Routingtabelle.

Lösung:

  1. Aktivieren Sie VPC Flow Logs, um abgelehnte Pakete zu identifizieren

  2. Überprüfen Sie, ob die ausgehenden Sicherheitsgruppenregeln den Datenverkehr zum Ziel zulassen

  3. Stellen Sie sicher, dass die Routentabelle eine Route zum NAT-Gateway hat (0.0.0.0/0 → nat-xxxxxx)

  4. Stellen Sie für den regionsübergreifenden Zugriff auf AWS Dienste sicher, dass die Zielregion erreichbar ist

  5. Testen Sie die Konnektivität von einer Amazon EC2 EC2-Instance im selben Subnetz

Probleme mit der Netzwerkleistung

Symptom: Langsame Datenübertragung oder Workflow-Timeouts.

Ursache: Einschränkungen des Netzwerkdurchsatzes oder Überlastung des NAT-Gateways.

Lösung:

  • Der Netzwerkdurchsatz beginnt bei 10 Gbit/s pro ENI und steigt bei anhaltendem Datenverkehr innerhalb von 60 Minuten auf bis zu 100 Gbit/s

  • Für Workflows mit unmittelbaren Anforderungen an einen hohen Durchsatz wenden Sie sich bitte an AWS den Support

  • Überwachen Sie die NAT-Gateway-Metriken CloudWatch , um die Sättigung

  • Erwägen Sie die Bereitstellung zusätzlicher NAT-Gateways in mehreren Availability Zones, um einen höheren Durchsatz zu erzielen

Der Workflow kann das Internet nicht erreichen

Ursache: Die privaten Subnetze haben möglicherweise keine Route zu einem NAT-Gateway, oder Sicherheitsgruppenregeln blockieren möglicherweise ausgehenden Datenverkehr.

Lösung:

  • Stellen Sie sicher, dass die Routing-Tabelle für Ihre privaten Subnetze eine Route zu einem NAT-Gateway enthält (0.0.0.0/0 → nat-xxxxxxxxx).

  • Vergewissern Sie sich, dass die Sicherheitsgruppenregeln ausgehenden Datenverkehr an den erforderlichen Ports zulassen.

  • Stellen Sie sicher, dass sich das NAT-Gateway in einem öffentlichen Subnetz mit einer Route zu einem Internet-Gateway befindet.

Die Workflow-Ausführung schlägt mit Verbindungsfehlern fehl

Ursache: Der Netzwerkverkehr ist möglicherweise blockiert oder falsch konfiguriert.

Lösung:

  1. Stellen Sie sicher, dass sich die Konfiguration noch im Status AKTIV befindet, indem SieGetConfiguration.

  2. Erstellen Sie ENIs in Ihrer VPC ein VPC-Flow-Protokoll, um den Datenverkehr zu überprüfen. Weitere Informationen finden Sie unter VPC-Flow-Protokolle im Benutzerhandbuch für Amazon VPC.

  3. Überprüfen Sie das Flow-Protokoll auf REJECT-Einträge. Wenn Sie abgelehnte Pakete sehen, aktualisieren Sie Ihre Sicherheitsgruppenregeln, um den erforderlichen ausgehenden Datenverkehr zuzulassen.

  4. Wenn das Flow-Protokoll keine Grundursache aufdeckt, wenden Sie sich an den AWS Support.