Erstellen einer Tabelle für einen organisationsweiten Trail mit manueller Partitionierung
Um eine Tabelle für organisationsweite CloudTrail-Protokolldateien in Athena zu erstellen, führen Sie die Schritte unter Erstellen einer Tabelle für CloudTrail-Protokolle in Athena mithilfe der manuellen Partitionierung aus, nehmen jedoch die im folgenden Verfahren genannten Änderungen vor.
Erstellen Sie eine Athena-Tabelle für organisationsweite CloudTrail-Protokolle wie folgt
-
Ändern Sie in der
CREATE TABLE-Anweisung dieLOCATION-Klausel so, dass sie die Organisations-ID enthält, wie im folgenden Beispiel:LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/' -
In der
PARTITIONED BY-Klausel fügen Sie einen Eintrag für die Konto-ID als Zeichenfolge hinzu, wie im folgenden Beispiel veranschaulicht:PARTITIONED BY (account string, region string, year string, month string, day string)Das folgende Beispiel zeigt das Ergebnis beider Aktionen:
... PARTITIONED BY (account string, region string, year string, month string, day string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/' -
Fügen Sie in der
ALTER TABLE-Anweisung die Konto–ID in dieADD PARTITION-Klausel ein, wie im folgenden Beispiel veranschaulicht:ALTER TABLE table_name ADD PARTITION (account='111122223333', region='us-east-1', year='2022', month='08', day='08') -
Fügen Sie in der
ALTER TABLE-Anweisung die Organisations-ID, die Konto-ID und die hinzuzufügende Partition in dieLOCATION-Klausel ein, wie im folgenden Beispiel veranschaulicht:LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/us-east-1/2022/08/08/'Die folgende
ALTER TABLE-Beispielanweisung zeigt das Ergebnis beider Aktionen:ALTER TABLE table_name ADD PARTITION (account='111122223333', region='us-east-1', year='2022', month='08', day='08') LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/111122223333/CloudTrail/us-east-1/2022/08/08/'
Beachten Sie, dass es in einer großen Organisation umständlich sein kann, diese Methode zum manuellen Hinzufügen und Verwalten einer Partition für jede Unternehmenskonto-ID zu verwenden. In einem solchen Szenario sollten Sie CloudTrail Lake anstelle von Athena verwenden. CloudTrail Lake bietet in einem solchen Szenario die folgenden Vorteile:
-
Aggregiert automatisch Protokolle für eine gesamte Organisation
-
Erfordert keine Einrichtung oder Wartung von Partitionen oder einer Athena-Tabelle
-
Abfragen werden direkt in der CloudTrail-Konsole ausgeführt
-
Verwendet eine SQL-kompatible Abfragesprache
Weitere Informationen finden Sie unter Arbeiten mit AWS-CloudTrail Lake im AWS CloudTrail-Benutzerhandbuch.