Amazon Athena

S3 上のデータに対して標準 SQL でクエリを実行できるサーバーレス分析サービスで、インフラの管理なしにペタバイト規模のデータ分析を従量課金で実現する

概要

Amazon Athena は、S3 に保存されたデータに対して標準 SQL (Trino / Presto ベース) でクエリを実行できるサーバーレスのインタラクティブクエリサービスです。データベースやクラスターのプロビジョニングは不要で、S3 上のデータに対してスキーマを定義するだけでクエリを実行できます。CSV、JSON、Parquet、ORC、Avro など多様なデータ形式に対応し、Glue Data Catalog と統合してスキーマを管理します。AWS は Athena の料金をスキャンしたデータ量に基づく従量課金としており (2026 年 9 月時点)、単価は公式料金ページで確認できます。Parquet や ORC などの列指向フォーマットを使用すれば、必要な列だけをスキャンするためコストを抑えられます。

サーバーレス分析の仕組み

Athena はクエリを実行するたびに、必要なコンピューティングリソースを自動的にプロビジョニングし、クエリ完了後に解放します。Redshift のようにクラスターを常時稼働させる必要がないため、クエリを実行しない時間帯にはクエリ料金が発生しません。クエリの実行エンジンは Trino (旧 Presto) をベースにしており、分散処理で大規模なデータセットを高速にスキャンします。Athena のパフォーマンスを最大化するには、データの保存形式が重要です。CSV や JSON は行指向フォーマットであり、特定の列だけを取得する場合でもファイル全体をスキャンする必要があります。Parquet や ORC は列指向フォーマットであり、必要な列だけを読み取るため、スキャン量が大幅に削減されます。さらに、データをパーティション分割 (年/月/日のディレクトリ構造) すれば、WHERE 句の条件に一致するパーティションだけをスキャンするため、コストとパフォーマンスの両方が改善されます。

CloudTrail ログと VPC フローログの分析

Athena の代表的な活用シーンの一つが、AWS のログ分析です。CloudTrail のログを S3 に配信し、Athena でクエリすれば、特定のユーザーの API 呼び出し履歴、特定のリソースへのアクセスパターン、エラーが発生した API 呼び出しの一覧などを SQL で簡単に抽出できます。VPC フローログも同様に、S3 に配信して Athena で分析できます。特定の IP アドレスからの通信パターン、拒否されたトラフィックの一覧、データ転送量の多い通信先の特定などが可能です。ALB のアクセスログ、S3 のアクセスログ、CloudFront のアクセスログも Athena で分析できます。これらのログ分析では、Parquet 形式への変換とパーティション分割を事前に行うことで、スキャン量を減らしクエリコストを抑えられます。

実務での活用パターン

Athena は、データレイク上のアドホック分析に適しています。S3 をデータレイクとして、様々なソースからのデータ (アプリケーションログ、IoT データ、ビジネスデータ) を集約し、Athena で横断的に分析します。Glue の ETL ジョブでデータを Parquet 形式に変換し、Glue Data Catalog でスキーマを管理し、Athena でクエリする、というパイプラインが定番です。Amazon Quick Sight (旧 Amazon QuickSight) と連携すれば、Athena のクエリ結果をダッシュボードとして可視化できます。Azure の対応サービスは Azure Synapse Analytics のサーバーレス SQL プールで、同様に Azure Blob Storage 上のデータに SQL でクエリを実行できます。

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。

共有する