現場実践|AWSデータ分析サービス

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

「AWSでデータ分析基盤を作りたい」「S3に溜まったログをSQLで分析したい」——AWS Glue(ETL)・Amazon Athena(S3のSQL分析)・QuickSightを組み合わせたサーバーレスデータ分析基盤の構築を解説します。

読了目安:約18分更新日:2026年3月

💡 S3→Glue→Athena→QuickSightのスタックはサーバー管理不要で構築できるAWSのデータ分析基盤の定番構成。従来のデータウェアハウスより大幅にコストが低く、インフラエンジニアでも構築できます。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

AWSデータ分析基盤(Glue/Athena/QuickSight)の構築を複数案件で担当してきた立場から解説します。

1. S3→Glue→Athenaの全体アーキテクチャ

1
データをS3に蓄積
CloudFrontのアクセスログ・ALBのアクセスログ・アプリケーションログをS3の特定バケット(データレイク)に蓄積する。パーティション設計(年/月/日)でクエリコストを削減する。
2
Glue Crawlerでスキーマを自動検出
Glue CrawlerをS3バケットに向けて実行するとデータの構造(スキーマ)を自動検出してGlue Data Catalogに登録する。
3
AthenaでS3のデータをSQLクエリ
AthenaはGlue Data Catalogに登録されたテーブルをSQLでクエリできる。データはS3に残したままSQL分析が実現する。料金はスキャンデータ量課金(1TB当たり約650円)。

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以下になりコスト最適化できる

キャリアの疑問、一緒に解決しませんか?

Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※AWS Glue・Athenaの料金・機能はAWSにより変更される場合があります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営