[レポート]ANT375-R1:Amazon Athena Workgroupsを使ってグループごとのAthena利用を管理 #reinvent

2018.12.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

記事はAWS re:Invent 2018のChalk Talk「ANT375-R1 - [REPEAT 1]Manage Queries, and Audit Usage & Control Costs at Scale on Amazon Athena」のレポートです。

ベータ提供されている Amazon Athena Workgroups を使うこと、グループ単位で、アクセス可能なデータベース、メトリクス、利用費などを管理できるようになります。

複数部署が同じAWSアカウントを利用しているようなケースで非常に有用です。

この Chalk Talk では、この機能が詳細に解説されました。

セッションについて

スピーカー

Roy Hasson - Global Business Development Manager - Analytics & Data Lakes

概要

Amazon Athena is easy to use. Once adopted, it can quickly proliferate throughout an organization. In this session, learn how to segregate query workloads, monitor usage for auditing and tuning purposes, and control query costs of your Athena deployment.

資料

Amazon Athena Workgroups について

Amazon Athena Workgroups を使うと

  • Athena ログのS3 出力先
  • メトリクス
  • KMS 鍵

などをグループ単位で制御出来ます。

クエリー履歴もグループ個別で履歴が残ります。

Workgroups のメトリクスについて

Workgroups のメトリクスは Athena の画面で提供され、Workgroup 単位で表示されます。

CloudWatch では、従来どおりの、AWS アカウント全体としてのメトリクスが表示されます。

コストの管理

Athena はスキャン量に応じて課金されます。

そのため、利用費削減のためには

  • パーティショニング
  • データ圧縮(Parquet など)

が重要です。

とはいえ、意図せずスキャン量の多い SQL が呼び出されることがあります。

特に、Athena の場合、簡単に扱える SQL 実行環境と容量実質無制限の S3 ストレージのコンボにより、その傾向は顕著です。

そのような SQL に立ち向かうため、Amazon Athena Workgroups では

  • クエリー単体で、スキャン量がしきい値を超えると SQL をキャンセル(スキャンされた分は請求されます)
  • (利用費削減のため)一定時間内に、スキャン量が一定量を超えると通知

といったことが可能です。

アクセス制御について

Workgroups はあくまでも Athena を利用する単位を制御するものです。

データソースへのアクセスコントロールは AWS Glue Data Catalog が担当します。

Restrict access to your AWS Glue Data Catalog with resource-level IAM permissions and resource-based policies | AWS Big Data Blog

最後に

Amazon Athena Workgroups は

  • 部門別利用費管理者
  • クソクエリ警察官

待望の機能です。