Athena

【VPC外リージョンサービス / ENIでVPC接続】

Athena は、サーバーレス クエリエンジン であり、S3 上のデータを SQL / Presto / Trino 準拠 の構文で直接分析できるサービスです。

構造化 / 半構造化データ対応 のため、CSV、JSON、Parquet など多様なデータ形式をそのまま扱うことができます。

メタデータは Glue Data Catalog に登録され、スキーマ管理やテーブル定義を自動化できます。また、分割・圧縮・カラム型フォーマット を活用することで、クエリ実行時のスキャンデータ量を最小限に抑え、スキャンデータ量に基づく従量課金制 によりコストを大幅に削減できます。

セキュリティ面では IAM / KMS / VPCエンドポイント に対応しており、アクセス制御・暗号化・プライベートネットワーク経由での安全なクエリ実行が可能です。

クエリ結果は S3 に保存され、実行ログは CloudWatch Logs / S3 に出力されます。

QuickSight と連携して可視化を行ったり、Glue, Redshift, Lambda, Lake Formation などのサービスと統合してデータレイク構築や高度な分析基盤を実現できます。

重要用語

分割・圧縮・カラム型フォーマット
関連サービス
Lake Formation

ユースケース

S3データレイクへのSQLクエリS3に保存されたCSV/JSON/Parquetなどのファイルに対して、サーバーレスでSQLクエリを実行し、簡単に集計や抽出を行う。
アドホックな調査・トラブルシュートアプリケーションログやアクセスログに対して、その場でクエリを書いてエラー発生状況や特定ユーザーの操作履歴を調査する。
BIツール連携のためのクエリエンジンQuickSightや外部BIツールからAthenaをデータソースとして接続し、S3上のデータを直接参照してレポートやダッシュボードを作成する。

ベストプラクティス

データのパーティション分割日付や地域でパーティションを切り、スキャン量とコストを削減する。
圧縮・カラムナフォーマットParquetやORCで保存し、クエリ性能を向上させる。
クエリ結果の管理結果出力先バケットとライフサイクルを適切に設定する。

高可用性・バックアップ・リトライ

高可用性・バックアップ・リトライ設計のポイント
【デフォルト】AWS内部で冗長化
 ・コントロールプレーン
 ・クエリ実行エンジン
 ・データソース層(S3)
 ・メタデータカタログ(Glue Data Catalog)
 ・クエリ結果保存先(S3)
 ・サービスエンドポイント
【自動リトライ】
 障害、一時的なエラー、タイムアウト時に、クエリの自動再実行

セキュリティ

関連サービス設定内容
KMS(データの暗号化と鍵の安全管理)【クエリ結果のS3出力データの暗号化が必要】
 独自KMSキーを使うことを推奨(鍵操作、監査)
Secrets Manager(機密情報の安全管理)-
SSM Parameter Store(設定情報の一元管理)パラメータ(Parameter)の作成が推奨
 クエリ先のS3パスや環境固有設定
CloudTrail(操作履歴の記録・監査・追跡)【自動記録】
作成・更新・削除・設定変更は自動記録される。(コントロールプレーンAPI)
データ操作は追跡できない(データプレーンAPI)
Config(リソースの構成状態・設定変更を記録)【Configが有効な場合】
ワークグループ/結果出力先/暗号化設定の変更履歴・準拠評価
GuardDuty(脅威を自動検出)【GuardDutyが有効な場合】
クエリ実行・設定変更のAPI異常検知

ログ・監視

ログ出力先ログの種類
S3クエリ結果
CloudWatch Logs優先の原則
標準メトリクス
メトリクス名説明
EngineExecutionTime実行エンジン時間
QueryQueueTimeキュー滞留時間
TotalExecutionTime全体実行時間
QueryCancelledキャンセルクエリ数
QueryFailed失敗クエリ数
QuerySuccessful成功クエリ数
ProcessedBytesスキャンデータ量

制限値(固定値/ハードリミット/ソフトリミット)

固定値制限値
クエリ結果の場所S3バケット(必須)
パーティション数/テーブル1,000,000(読み取り)、20,000(メタデータ)

ハードリミット制限値
クエリ文字列の長さ256 KB
DMLクエリタイムアウト30分
DDLクエリタイムアウト600分(10時間)

ソフトリミット制限値
アクティブDMLクエリ数/アカウント25(us-east-1等)、20(ap-northeast-1等)
アクティブDDLクエリ数/アカウント25(us-east-1等)、20(ap-northeast-1等)

AWS CLIのサンプルコード

CloudFormationのサンプルコード

Terraformのサンプルコード

料金計算

課金項目説明
スキャンデータ量クエリでスキャンされたデータ量(TB単位)
DDLDDLクエリは無料
料金計算ツール

公式ページ

AWSドキュメント Athena