AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト – アソシエイト
Amazon Athena の概要と試験出題ポイントは?
AWSサービスの一つであるAmazon Athenaはどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-アソシエイト(SAA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
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. アーキテクチャおよび技術要素
- S3にデータを格納(CSV/Parquet/ORC等)。AWS Glue Crawlerがスキーマをスキャンし、Glue Data Catalogにテーブル定義を登録。
- Athenaコンソール / AWS SDK / JDBCからSQLクエリを実行。
- AthenaがGlue Data Catalogのメタデータを参照してS3から必要なデータのみスキャン。
- クエリ結果を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. 設定・デプロイ手順(ハンズオン例)
- S3にCSV/Parquetデータを配置。Glue Crawlerを実行してテーブル定義を自動作成。
- Athenaコンソールで「クエリエディタ」を開く。データソースに「AwsDataCatalog」を選択。
- クエリ結果の保存先S3バケットを設定(初回必須)。
- SQLを入力して「実行」(例:
SELECT * FROM my_table LIMIT 10;)。 - コスト削減: テーブルを再作成して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(サーバー管理不要・インフラゼロ)。
広告