수동 분할을 사용하여 조직 전체 추적을 위한 테이블 생성 - Amazon Athena

수동 분할을 사용하여 조직 전체 추적을 위한 테이블 생성

Athena에서 조직 전체 CloudTrail 로그 파일에 대한 테이블을 생성하려면 수동 분할을 사용하여 Athena에서 CloudTrail 로그용 테이블 생성의 단계를 따르되, 다음 절차에 설명된 대로 수정하세요.

조직 전체 CloudTrail 로그에 대한 Athena 테이블을 생성하려면
  1. CREATE TABLE 문에서 다음 예시와 같이 조직 ID를 포함하도록 LOCATION 절을 수정합니다.

    LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/'
  2. PARTITIONED BY 절에서 다음 예시와 같이 계정 ID에 대한 항목을 문자열로 추가합니다.

    PARTITIONED BY (account string, region string, year string, month string, day string)

    다음 예시는 결합된 결과를 보여줍니다.

    ... 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. ALTER TABLEADD PARTITION 절에서 다음 예시와 같이 계정 ID를 포함합니다.

    ALTER TABLE table_name ADD PARTITION (account='111122223333', region='us-east-1', year='2022', month='08', day='08')
  4. ALTER TABLELOCATION 절에서 다음 예시와 같이 조직 ID, 계정 ID 및 추가할 파티션을 포함합니다.

    LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/us-east-1/2022/08/08/'

    다음 예시 ALTER TABLE 문은 결합된 결과를 보여줍니다.

    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/'

대규모 조직에서는 이 방법을 사용하여 각 조직 계정 ID에 대한 파티션을 수동으로 추가하고 유지 관리하는 것이 번거로울 수 있습니다. 이러한 시나리오에서는 Athena가 아닌 CloudTrail Lake를 사용하는 것을 고려하세요. CloudTrail Lake는 이러한 시나리오에서 다음과 같은 이점을 제공합니다.

  • 전체 조직의 로그를 자동으로 집계합니다.

  • 파티션 또는 Athena 테이블을 설정하거나 유지 관리할 필요가 없습니다.

  • CloudTrail 콘솔에서 쿼리를 직접 실행합니다.

  • SQL 호환 쿼리 언어를 사용합니다.

자세한 내용은 AWS CloudTrail 사용 설명서Working with AWS Lake를 참조하세요.