Wie finde ich die Hauptverursacher des NAT-Gateway-Datenverkehrs in meiner Amazon VPC?

Lesedauer: 5 Minute
0

Ich möchte die Hauptverursacher des Datenverkehrs über das NAT-Gateway in meiner Amazon Virtual Private Cloud (Amazon VPC) finden.

Kurzbeschreibung

Gehen Sie wie folgt vor, um die Top-Beitragenden des Datenverkehrs über das NAT-Gateway in der Amazon VPC zu ermitteln:

  • Verwenden Sie Amazon CloudWatch-Metriken, um den Zeitpunkt von Datenverkehrsspitzen zu ermitteln.
  • Verwenden Sie CloudWatch-Protokolle, um die Instances zu identifizieren, die zu Datenverkehrsspitzen führen.
  • Verwenden Sie Amazon Simple Storage Service (Amazon S3) oder Amazon Athena, um die Instances zu identifizieren, die Datenverkehrsspitzen verursachen.

Lösung

Hinweis: Ersetzen Sie in den folgenden Schritten die folgenden Werte durch Ihre Informationen:

  • example-NAT-private-IP durch die private IP-Adresse Ihres NAT-Gateways
  • example-VPC-CIDR durch Ihr Amazon VPC CIDR
  • example-database-name.example-table-name durch Ihren Datenbank- und Tabellennamen
  • example-y.y durch die ersten beiden Oktetten Ihres Amazon VPC CIDR

Verwendung von CloudWatch-Metriken, um den Zeitpunkt von Datenverkehrsspitzen zu ermitteln

Verwenden Sie die folgenden CloudWatch-Metriken, um dasNAT-Gatewayund den spezifischen Zeitpunkt der Spitzen zu identifizieren und zu überwachen:

  • BytesInFromSource – Upload
  • BytesInFromDestination – Download

Vergewissern Sie sich, dass Sie Amazon VPC-Flow-Protokolle für die elastische Netzwerkschnittstelle von Amazon VPC oder NAT-Gateway aktiviert haben. Wenn Sie Amazon VPC-Flow-Protokolle nicht aktiviert haben,erstellen Sie ein Flow-Protokoll, um es zu aktivieren. Wenn Sie Amazon VPC-Flow-Protokolle aktivieren, werden Flow-Protokolldaten entweder in CloudWatch Logs oder Amazon S3 veröffentlicht.

Verwenden Sie CloudWatch Logs Insights, um die Instances zu identifizieren, die Datenverkehrsspitzen verursachen

**Hinweis:**Verwenden Sie optional eine CloudFormation-Vorlage, um ein CloudWatch-Dashboard zu erstellen, das die folgenden Abfragen enthält.

Führen Sie die folgenden Schritte aus:

  1. Öffnen Sie die CloudWatch-Konsole.

  2. Wählen Sie im Navigationsbereich Logs Insights aus.

  3. Wählen Sie aus der Dropdown-Liste die Protokollgruppe für das NAT-Gateway aus.

  4. Wählen Sie einen vordefinierten Zeitraum aus, oder wählen Sie Benutzerdefiniert, um Ihren eigenen Zeitraum festzulegen.

  5. Führen Sie den folgenden Befehl aus, um Instances zu identifizieren, die den meisten Datenverkehr über das NAT-Gateway senden:

    filter (dstAddr like example-NAT-private-IP and isIpv4InSubnet(srcAddr, example-VPC-CIDR)) | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr| sort bytesTransferred desc
    | limit 10
  6. Führen Sie den folgenden Befehl aus, um den Datenverkehr zu und von den Instances zu identifizieren:

    filter (dstAddr like example-NAT-private-IP and isIpv4InSubnet(srcAddr, example-VPC-CIDR)) or (srcAddr like example-NAT-private-IP and isIpv4InSubnet(dstAddr, example-VPC-CIDR))| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr| sort bytesTransferred desc
    | limit 10
  7. Führen Sie die folgenden Befehle aus, um die Internetziele zu identifizieren, mit denen die Instances in der Amazon VPC am häufigsten kommunizieren.
    Für Uploads:

    filter (srcAddr like example-NAT-private-IP and not isIpv4InSubnet(dstAddr, example-VPC-CIDR)) | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr| sort bytesTransferred desc
    | limit 10

    Zum Herunterladen:

    filter (dstAddr like example-NAT-private-IP and not isIpv4InSubnet(srcAddr, example-VPC-CIDR)) | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr| sort bytesTransferred desc
    | limit 10

Verwendung von Amazon S3 oder Athena, um die Instances zu identifizieren, die Datenverkehrsspitzen verursachen

Führen Sie die folgenden Schritte aus:

  1. Öffnen Sie die Amazon-S3-Konsole oder die Athena-Konsole.

  2. Erstellen Sie eine Tabelle. Kommentieren Sie den Datenbank- und Tabellennamen, und fügen Sie dann die folgenden Filter hinzu, um nach den Top-Beritragenden in einem bestimmten Zeitraum zu suchen:
    start>= (example-timestamp-start)
    end>= (example-timestamp-end)

  3. Führen Sie den folgenden Befehl aus, um Instances zu identifizieren, die den meisten Datenverkehr über das NAT-Gateway senden:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE srcaddr like example-y.y AND dstaddr like example-NAT-private-IP group by 1,2 order by 3 desclimit 10;
  4. Führen Sie den folgenden Befehl aus, um den Datenverkehr zu und von den Instances zu identifizieren:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr like example-y.y AND dstaddr like example-NAT-private-IP) or (srcaddr like example-NAT-private-IP AND dstaddr like example-y.y) group by 1,2 order by 3 desclimit 10;
  5. Führen Sie die folgenden Befehle aus, um die Internetziele zu identifizieren, mit denen die Instances in der Amazon VPC am häufigsten kommunizieren.
    Für Uploads:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr like example-NAT-private-IP AND dstaddr not like example-y.y) group by 1,2 order by 3 desclimit 10;

    Für Downloads:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr not like example-y.y AND dstaddr like example-NAT-private-IP) group by 1,2 order by 3 desclimit 10;

Verwendung von CloudWatch Logs Insights, um die Instances zu identifizieren, die mit Internetzielen kommunizieren

Sie müssen benutzerdefinierte VPC-Flow-Protokolle verwenden, um die Internetziele zu finden, über die die Instances kommunizieren. Diese VPC-Flow-Protokolle müssen die zusätzlichen Felder pkt-srcaddr und pkt-dstaddr enthalten. Weitere Informationen finden Sie unter Datenverkehr über ein NAT-Gateway.

Beispiel für VPC-Flow-Protokolle:

${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status} ${pkt-srcaddr} ${pkt-dstaddr}

Führen Sie die folgenden Schritte aus:

  1. Öffnen Sie die CloudWatch-Konsole.
  2. Wählen Sie im Navigationsbereich Logs Insights aus.
  3. Wählen Sie aus der Dropdown-Liste die Protokollgruppe für Ihre VPC-Flow-Protokolle aus.
  4. Wählen Sie einen vordefinierten Zeitraum aus, oder wählen Sie Benutzerdefiniert, um Ihren eigenen Zeitraum festzulegen.
  5. Führen Sie den folgenden Befehl aus, um Instances zu identifizieren, die den meisten Datenverkehr über das NAT-Gateway an Internetziele senden.
    Für Upload-Verkehr:
    parse @message "* * * * * * * * * * * * * * * " as version, account_id, interface_id, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, log_status, pkt_srcaddr, pkt_dstaddr
    | filter (dstaddr like 'example-NAT-private-IP' and isIpv4InSubnet(pkt_srcaddr, 'example-VPC-CIDR'))
    | stats sum(bytes) as bytesTransferred by pkt_srcaddr, pkt_dstaddr
    | sort bytesTransferred desc
    | limit 10
    Für Download-Verkehr:
    parse @message " * * * * * * * * * * * * * * *" as version, account_id, interface_id, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, log_status, pkt_srcaddr, pkt_dstaddr
    | filter (srcaddr like 'example-NAT-private-IP' and !isIpv4InSubnet(pkt_srcaddr, 'example-VPC-CIDR'))
    | stats sum(bytes) as bytesTransferred by pkt_srcaddr, pkt_dstaddr
    | sort bytesTransferred desc
    | limit 10

Ähnliche Informationen

Beispielabfragen

Abfragen von Flow-Protokollen in Amazon VPC

Wie verwende ich Amazon Athena, um VPC-Flow-Protokolle zu analysieren?

Verwendung von AWS Cost Explorer zur Analyse von Datenübertragungskosten

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 7 Monaten