CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 環境を再現できるように、 CloudFormation のテンプレートも公開しています。 要件と経緯 他社から大量のイベントデータを HTTP GET で受け取って、それを集計したい! という要件が出てきたのが発端でした。 本当なら Kinesis Data Streams などリアルタイム処理も試してみたかったのですが、 とても納期が短かったので、経験のあった CloudFront と Athena で簡単に実現しました。 仕組みとデータフローは、こんな流れです。 他社システムから