AWS認定資格 WEB問題集&徹底解説

ソリューションアーキテクト – アソシエイト

Amazon Athena の概要と試験出題ポイントは?

AWSサービスの一つであるAmazon Athenaはどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-アソシエイト(SAA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

Amazon Athena 徹底解説 | AWS認定試験の頻出ポイントまとめ

1. サービス概要

Amazon Athenaは、S3に保存されたデータをサーバーレスSQLで直接クエリできるインタラクティブなクエリサービスです。インフラのプロビジョニングや管理が不要で、クエリを実行するだけで分析を開始できます。

Apache Presto(Trino)エンジンをベースにしており、CSV・JSON・Parquet・ORC・Avroなどの標準フォーマットを標準サポート。スキャンしたデータ量に対してのみ課金されるため、コスト効率の高い分析が可能です。

2. 主な特徴と機能

2.1 サーバーレスSQL分析

  • S3のデータに対してANSI SQL(SELECT/JOIN/GROUP BY等)を実行。
  • テーブル定義はAWS Glue Data Catalogで管理(スキーマのメタデータを集中管理)。
  • クエリ結果はS3バケットに自動保存。

2.2 コスト最適化テクニック

  • 列指向フォーマット(Parquet/ORC): CSVに比べてスキャンデータ量を大幅削減(最大90%減)→コスト削減・クエリ高速化。
  • データ圧縮: Snappy・GZIP等の圧縮でスキャンデータ量とストレージコストを削減。
  • パーティション: S3プレフィックスをパーティション(年/月/日等)で構造化してクエリ対象データ量を削減。
  • クエリ結果キャッシュ: 同一クエリの再実行時に前回結果を再利用(追加課金なし)。

2.3 Federated Query(フェデレーテッドクエリ)

Lambda を使ったデータソースコネクターにより、S3以外のデータソース(RDS・DynamoDB・Redshift・CloudWatch Logs等)に対してもSQLクエリが可能。S3データとRDBのJOINも実現。

2.4 Athena for Apache Spark

Apache SparkのコードをAthena上でサーバーレスに実行できます。機械学習前処理・複雑なデータ変換をSQLと組み合わせて実施。

2.5 Workgroup(ワークグループ)

ユーザー/チームごとにクエリコスト上限・結果の保存先・暗号化設定を分離管理。コスト管理とセキュリティポリシーの適用に使用。

3. アーキテクチャおよび技術要素

  1. S3にデータを格納(CSV/Parquet/ORC等)。AWS Glue Crawlerがスキーマをスキャンし、Glue Data Catalogにテーブル定義を登録。
  2. Athenaコンソール / AWS SDK / JDBCからSQLクエリを実行。
  3. AthenaがGlue Data Catalogのメタデータを参照してS3から必要なデータのみスキャン。
  4. クエリ結果をS3に保存→QuickSightやBIツールへ連携。

代表的なデータレイクアーキテクチャ: S3(ストレージ)+ Glue(ETL/カタログ)+ Athena(クエリ)+ QuickSight(可視化)。

4. セキュリティと認証・認可

  • IAMポリシー: Athenaの実行権限とS3バケットへのアクセス権限を組み合わせて制御。
  • 暗号化: クエリ結果をS3に保存する際にSSE-S3/SSE-KMS/CSE-KMSで暗号化。転送中はTLS。
  • Lake Formation統合: 列・行レベルのアクセス制御をLake Formationで実現。テーブルの特定カラムのみを特定ユーザーに公開。

5. 料金形態

  • クエリ課金: スキャンしたデータ量(GB)に対して課金(5TBあたり固定)。Parquet/ORC利用でスキャン量を削減してコスト最適化。
  • 無料利用枠: なし。
  • Athena for Apache Sparkは別途Spark DPU時間に課金。

6. よくあるアーキテクチャ・設計パターン

  • サーバーレスデータレイク分析: S3 + Glue Crawler + Athena + QuickSightのフルサーバーレスBI基盤。ETLサーバー・DWH不要でコスト大幅削減。
  • CloudWatch Logsの分析: CloudWatch Logs → S3(エクスポート) → Athenaで過去ログをアドホック分析。
  • ALBアクセスログ分析: ALBアクセスログをS3に保存してAthenaでIPアドレス別リクエスト数・エラー率を分析。
  • Cost & Usage Report(CUR)分析: AWSコストレポートをS3に出力しAthenaでコストの内訳を詳細分析。

7. 設定・デプロイ手順(ハンズオン例)

  1. S3にCSV/Parquetデータを配置。Glue Crawlerを実行してテーブル定義を自動作成。
  2. Athenaコンソールで「クエリエディタ」を開く。データソースに「AwsDataCatalog」を選択。
  3. クエリ結果の保存先S3バケットを設定(初回必須)。
  4. SQLを入力して「実行」(例: SELECT * FROM my_table LIMIT 10;)。
  5. コスト削減: テーブルを再作成してParquet形式に変換 + パーティションを追加。

8. 試験で問われやすいポイント

8.1 AthenaのコアコンセプT

  • Q: Athenaの課金方式は?
    A: スキャンしたデータ量(GB)に課金。Parquet/ORC列指向フォーマット・圧縮・パーティション活用でスキャン量を削減しコストを最適化できる。
  • Q: AthenaでS3データのテーブル定義を管理するサービスは?
    A: AWS Glue Data Catalog(メタデータストア)。GlueCrawlerでスキーマを自動検出。

8.2 コスト最適化

  • Q: AthenaのクエリコストをCSVと比べて最も削減できる方法は?
    A: Parquet/ORC形式(列指向)+ 圧縮(Snappy/GZIP)+ パーティション。スキャン量を90%以上削減できる。

8.3 Federated Query

  • Q: AthenaでS3以外のデータソース(RDS・DynamoDB)もクエリするには?
    A: Athena Federated Query(Lambdaベースのデータソースコネクター)を使って複数データソースを横断的にクエリ。

8.4 サーバーレスデータレイク

  • Q: サーバーレスでS3のログ・CSVをSQLで分析する最もシンプルな構成は?
    A: S3 + Glue Data Catalog + Amazon Athena(サーバー管理不要・インフラゼロ)。