AWS Global Accelerator Flow-Logs abfragen - Amazon Athena

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.

AWS Global Accelerator Flow-Logs abfragen

Sie können AWS Global Accelerator damit Beschleuniger erstellen, die den Netzwerkverkehr über das globale Netzwerk an optimale Endpunkte weiterleiten. AWS Weitere Informationen zu Global Accelerator finden Sie unter Was ist. AWS Global Accelerator

Mit Global-Accelerator-Flow-Protokollen können Sie Informationen zum Datenverkehr über die IP-Adresse zu und von Netzwerkschnittstellen in Ihren Accelerators erfassen. Flow-Protokolldaten werden in Amazon S3 veröffentlicht, wo Sie Ihre Daten abrufen und anzeigen können. Weitere Informationen finden Sie unter Flow-Protokolle in AWS Global Accelerator.

Sie können Athena verwenden, um Ihre Global-Accelerator-Flow-Protokolle abzufragen, indem Sie eine Tabelle erstellen, die ihren Speicherort in Amazon S3 angibt.

So erstellen Sie die Tabelle für Global-Accelerator-Flow-Protokolle
  1. Kopieren Sie die folgende DDL-Anweisung in die Athena-Konsole. Diese Abfrage gibt ROW FORMAT DELIMITED an und lässt die Angabe von a aus SerDe, was bedeutet, dass die Abfrage die verwendet. LazySimpleSerDe Bei dieser Abfrage werden Felder durch ein Leerzeichen beendet.

    CREATE EXTERNAL TABLE IF NOT EXISTS aga_flow_logs ( version string, account string, acceleratorid string, clientip string, clientport int, gip string, gipport int, endpointip string, endpointport int, protocol string, ipaddresstype string, numpackets bigint, numbytes int, starttime int, endtime int, action string, logstatus string, agasourceip string, agasourceport int, endpointregion string, agaregion string, direction string ) PARTITIONED BY (dt string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LOCATION 's3://DOC-EXAMPLE-BUCKET/prefix/AWSLogs/account_id/globalaccelerator/region/' TBLPROPERTIES ("skip.header.line.count"="1");
  2. Ändern Sie den LOCATION-Wert so, dass auf den Amazon-S3-Bucket verwiesen wird, der Ihre Protokolldaten enthält.

    's3://DOC-EXAMPLE-BUCKET/prefix/AWSLogs/account_id/globalaccelerator/region_code/'
  3. Führen Sie die Abfrage in der Athena-Konsole aus. Nach Beendigung der Abfrage wird die Tabelle aga_flow_logs von Athena registriert, so dass Sie die darin enthaltenen Daten für Abfragen nutzen können.

  4. Erstellen Sie Partitionen zum Lesen der Daten, wie in der folgenden Beispielabfrage. Diese Abfrage erstellt eine einfache Partition für ein angegebenes Datum. Ersetzen Sie die Platzhalter für Datum und Standort.

    ALTER TABLE aga_flow_logs ADD PARTITION (dt='YYYY-MM-dd') LOCATION 's3://DOC-EXAMPLE-BUCKET/prefix/AWSLogs/account_id/globalaccelerator/region_code/YYYY/MM/dd';

Beispielabfragen für Flow-Logs AWS Global Accelerator

Beispiel – Liste der Anforderungen, die eine bestimmte Edge-Position durchlaufen

In der folgenden Beispielabfrage werden Anforderungen aufgeführt, die durch die LHR-Edgeposition übergeben wurden. Mit dem Operator LIMIT lässt sich die Anzahl der im gleichen Schritt abzufragenden Protokolle einschränken.

SELECT clientip, agaregion, protocol, action FROM aga_flow_logs WHERE agaregion LIKE 'LHR%' LIMIT 100;
Beispiel – Liste der Endpunkt-IP-Adressen, die die meisten HTTPS-Anforderungen empfangen

Verwenden Sie die folgende Abfrage, um zu sehen, welche Endpunkt-IP-Adressen die höchste Anzahl von HTTPS-Anforderungen empfangen. Diese Abfrage zählt die Anzahl der vom HTTPS-Port 443 empfangenen Pakete, gruppiert sie nach IP-Zieladresse und gibt die Top 10 IP-Adressen aus.

SELECT SUM(numpackets) AS packetcount, endpointip FROM aga_flow_logs WHERE endpointport = 443 GROUP BY endpointip ORDER BY packetcount DESC LIMIT 10;