AWS Glue・Athena入門|S3のデータをSQL分析するサーバーレスデータ基盤の構築

※本記事にはプロモーション(広告)を含みます。
AWS Glue・Athena入門|S3のデータをSQL分析するサーバーレスデータ基盤の構築
「AWSでデータ分析基盤を作りたい」「S3に溜まったログをSQLで分析したい」——AWS Glue(ETL)・Amazon Athena(S3のSQL分析)・QuickSightを組み合わせたサーバーレスデータ分析基盤の構築を解説します。
💡 S3→Glue→Athena→QuickSightのスタックはサーバー管理不要で構築できるAWSのデータ分析基盤の定番構成。従来のデータウェアハウスより大幅にコストが低く、インフラエンジニアでも構築できます。
1. S3→Glue→Athenaの全体アーキテクチャ
2. Athenaでよく使うクエリ例
-- ALBアクセスログからエラー率を時間帯別に集計
SELECT
date_trunc('hour', from_iso8601_timestamp(time)) AS hour,
COUNT(*) AS total_requests,
COUNT(CASE WHEN elb_status_code >= 500 THEN 1 END) AS error_5xx,
ROUND(COUNT(CASE WHEN elb_status_code >= 500 THEN 1 END) * 100.0 / COUNT(*), 2) AS error_rate_pct
FROM alb_access_logs
WHERE year = '2026' AND month = '04'
GROUP BY 1
ORDER BY 1;3. Glue ETLジョブで変換処理
生データの形式変換・クレンジング・集計処理はGlue ETLジョブ(PythonまたはSpark)で行います。「JSON形式のログをParquet形式に変換してS3に書き戻す」という処理でAthenaのクエリコストを大幅に削減できます(ParquetはJSONの10〜100倍クエリ効率が高い)。
4. Athenaのコスト最適化
- Parquet形式への変換:JSON/CSVをParquetに変換するだけでスキャン量が削減されてコストが1/10以下になるケースがある
- パーティションの活用:WHERE句でパーティションキー(年/月/日)を指定することでスキャン対象を限定してコストを削減する
- ワークグループでコスト管理:部門別のワークグループを作成してクエリごとのスキャン量上限を設定する
- S3→Glue Crawler→Athena→QuickSightがAWSのサーバーレスデータ分析基盤の定番構成
- AthenaはS3のデータをSQLでクエリ。パーティション活用とParquet変換でコストを大幅に削減する
- Glue ETLジョブでJSON→Parquet変換するとAthenaのスキャン量が1/10以下になりコスト最適化できる
キャリアの疑問、一緒に解決しませんか?
Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
資格取得後のキャリアに、AI活用という選択肢を
資格取得の先に現場でのIT効率化を任される場面が増えます。職場のルーティン業務にAIをどう組み込めるか、無料のセルフ診断(4問・約3分)でヒントが得られます。
この記事を読んでいる方へのおすすめ:
本記事はInfra Academy編集部が各ベンダー・技術標準の公式ドキュメントをもとに作成しています。 インフラ・クラウド技術に関する最終判断は実際の環境・バージョンで検証のうえ実施してください。 情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。 編集ポリシーはこちら
この記事で学んだスキルをさらに深めたい方へ
AWS・クラウド技術をさらに深く学びたい方に。試験対策から実践まで網羅した参考書を活用しましょう。
Amazonアソシエイトプログラムを利用しています。




