ひとことで言うと
S3上のデータに対して、インフラを持たずにSQLで即座に問い合わせる対話型クエリサービスです。Glue Data Catalogをメタデータストアとして使います。
要するに、倉庫の前で開くその場限りの受付窓口です。データをどこかに運び込む必要はなく、置いてある場所(S3)のまま調べられます。ただし「窓口」であって「常設の分析基盤」ではないので、複雑な結合や恒常的な処理にはRedshiftやEMRの方が向きます。
なぜ生まれたか
| Athena以前 | Athena導入後 |
|---|---|
| S3上のデータを調べるにはクラスタを立ててロードする前処理が要った | サーバーレスでデータをロードせず、その場から標準SQLで問い合わせられる |
| インフラの構築・管理が調査の前段で必要だった | 数クリックでテーブル定義するだけで即座にクエリできる |
何に使うか
| 用途 | 使い方 | 関連ドメイン |
|---|---|---|
| GenAIアプリの監査ログ分析 | CloudTrailログ・VPC Flow LogsをAthenaでSQL調査 | D3.3, D5.2 |
| RAG取り込み前のS3データの簡易確認 | Glue Data Catalog経由でアドホックに件数・欠損を確認 | D1.3 |
| BIツール連携 | JDBC/ODBC経由でAmazon Quickなどからレポート化 | D4.3 |
| Apache Spark実行 | Athenaのノートブック上でSparkアプリを実行 | D1.3 |
試験でどう問われるか
| 問われ方 | 正解に寄る条件 | 引っかけ |
|---|---|---|
| 「S3に溜めたログをその場でSQL調査したい。インフラは持ちたくない」 | Athena(サーバーレス・アドホック) | Redshift(データウェアハウスの構築・運用が要る、常時稼働のコストもかかる) |
| 「Bedrock Knowledge Basesで自然言語から構造化データに問い合わせたい」 | クエリエンジンはAmazon Redshift(Provisioned/Serverless)。データストアがGlue Data Catalogでも同じ | Athenaが実行すると誤答する(Knowledge Bases構造化データストアの実行エンジンはAthenaではなくRedshiftに固定) |
| 「多数の巨大テーブルを結合する複雑な定型レポートを毎日回したい」 | Redshift(結合最適化されたウェアハウス) | Athenaで済ませようとする(アドホック向けで、複雑な結合の常用には最適化されていない) |
「Glue Data Catalogが絡む=Athena」という短絡は罠です。 Bedrock Knowledge Basesの構造化データストアは、ストレージとしてGlue Data Catalog(AWS Lake Formation経由)を選べますが、自然言語をSQLに変換して実行するクエリエンジンは常にAmazon Redshiftです。Athenaはこのワークフローには登場しません。
実務でどう使うか
| 実務上のポイント | 内容 |
|---|---|
| 課金モデル | クエリした分だけ課金され、常時起動するクラスタのような固定費はかからない |
| ワークグループ | チームやユースケースごとにクエリのアクセス範囲やコストを分離できる |
| SageMaker Unified Studio連携 | AthenaとRedshiftの両方に対応。Amazon Q generative SQLで自然言語からSQLを生成できるが、Knowledge BasesのGenerateQueryとは別機能 |
取り違えやすいもの
| 迷う相手 | 切り分けの一言 |
|---|---|
| Amazon Redshift | Athenaはアドホック・サーバーレス。Redshiftは常時稼働のウェアハウスで、大規模結合クエリに最適化。Bedrock Knowledge Basesの構造化データ検索エンジンはRedshift側 |
| Amazon EMR | Athenaは標準SQLの問い合わせに特化。EMRはSpark・Hadoopなどカスタムコードでの大規模データ処理向け |
| AWS Glue Data Catalog | Data Catalogはメタデータの置き場。Athenaはそのメタデータを使ってS3データを実際にSQLで検索する側 |
想起チェック
Q1. Bedrock Knowledge Basesの構造化データストアで、自然言語の質問をSQLに変換して実行するのはどのサービス?
Amazon Redshift(Provisioned または Serverless)です。データストアにGlue Data Catalogを選んでいても、クエリエンジンはAthenaではなくRedshiftに固定されます。
Q2. S3上のログをその場でアドホック調査したいだけなのに、常時稼働のRedshiftクラスタを組むべき?
不要です。 その場限りのSQL調査は、インフラを持たないAthenaの方が適しています。Redshiftは複雑な結合や継続運用のレポーティングに向きます。