Erstellen einer Tabelle für einen organisationsweiten Trail mit manueller Partitionierung - Amazon Athena

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
  1. Ändern Sie in der CREATE TABLE-Anweisung die LOCATION-Klausel so, dass sie die Organisations-ID enthält, wie im folgenden Beispiel:

    LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/'
  2. 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/'
  3. Fügen Sie in der ALTER TABLE-Anweisung die Konto–ID in die ADD 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')
  4. Fügen Sie in der ALTER TABLE-Anweisung die Organisations-ID, die Konto-ID und die hinzuzufügende Partition in die LOCATION-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.