ワークグループを使用してクエリのアクセスとコストを制御する - Amazon Athena

ワークグループを使用してクエリのアクセスとコストを制御する

Athena ワークグループを使用して、ワークロードの分離、チームアクセスの制御、設定の強制、クエリメトリクスの追跡、コストの制御を行えます。

ワークロードを分離する

ワークグループを使用してワークロードを分離できます。たとえば、2 つの独立したワークグループを、1 つはレポート生成などの自動スケジュールされたアプリケーションのため、もう 1 つはアナリストによるアドホック使用のために作成できます。

チームによるアクセスの制御

ワークグループは IAM リソースとして機能するため、リソースレベルのアイデンティティベースのポリシーを使用して、ワークグループにアクセスしてクエリを実行できるユーザーを制御できます。組織内の 2 つの異なるチームのクエリを分離するには、チームごとに個別のワークグループを作成します。各ワークグループには、アカウント内のすべてのクエリではなく、そのワークグループ内のクエリについて独自のクエリ履歴と保存されたクエリのリストがあります。詳細については、「IAM ポリシーを使用してワークグループのアクセスを制御する」を参照してください。

設定を強制する

オプションで、ワークグループで実行されるすべてのクエリに対して、同じワークグループ全体の設定を適用できます。これらの設定には、Simple Storage Service (Amazon S3) にあるクエリ結果、予測されるバケット所有者、暗号化、クエリ結果バケットに書き込まれたオブジェクトのコントロールが含まれます。詳細については、「[Override client-side settings (クライアント側設定の上書き)]」を参照してください。

クエリメトリクスの追跡、クエリイベント、コストの管理

各 Athena ワークグループのクエリメトリクス、クエリイベント、コストを追跡するには、次の機能を使用できます。

  • クエリメトリクスの発行 — ワークグループのクエリメトリクスを CloudWatch に発行します。Athena コンソールでは、各ワークグループのクエリメトリクスを表示できます。CloudWatch では、カスタムダッシュボードを作成して、これらのメトリクスにしきい値およびアラームを設定できます。詳細については、Athena で CloudWatch クエリメトリクスを有効にするおよびCloudWatch による Athena クエリメトリクスのモニタリングを参照してください。

  • Athena 使用状況メトリクスのモニタリング – CloudWatch グラフとダッシュボードで現在のサービス使用状況を表示し、アカウントのリソースをどのように使用しているかを確認します。詳細については、「CloudWatch による Athena 使用状況メトリクスのモニタリング」を参照してください。

  • クエリイベントのモニタリング – Amazon EventBridge を使用して、クエリの状態に関するリアルタイムの通知を受信します。詳細については、「EventBridge を使用して Athena クエリ イベントをモニタリングする」を参照してください。

  • データ使用量制御の設定 – Athena では、クエリごとおよびワークグループごとのデータ使用量の制御を設定できます。Athena は、クエリが指定されたしきい値を超えたときにクエリをキャンセルするか、ワークグループのしきい値を超えたときに Amazon SNS アラームをアクティブ化します。詳細については、「クエリごとおよびワークグループごとのデータ使用量の制御を設定する」を参照してください。

  • コスト配分タグの使用 – 請求およびコストマネジメントコンソールを使用して、ワークグループにコスト配分タグを付けます。ワークグループでのクエリの実行に関連するコストが、対応するコスト配分タグによりコストと使用状況レポートに表示されます。詳細については、「AWS Billingユーザーガイド」の [Using user-defined cost allocation tags] をご参照ください。

  • キャパシティ予約の使用 – 指定したデータ処理ユニットの数でキャパシティ予約を作成し、1 つ以上のワークグループを予約に追加できます。詳細については、「クエリ処理キャパシティを管理する」を参照してください。

AWS ビッグデータブログ投稿「Amazon Athena ワークグループを使用したクエリの分離とコストの管理」も参照してください。この記事では、Athena ワークグループを使用してワークロードを分離し、ユーザーアクセスを制御し、クエリの使用量とコストを管理する方法が紹介されています。

考慮事項と制約事項

Athena でワークグループを使用するときは、次の点に注意してください。

  • 各アカウントにはプライマリワークグループがあります。デフォルトでは、ワークグループを作成していない場合、アカウントのすべてのクエリはプライマリワークグループで実行されます。プライマリワークグループは削除できません。デフォルトのアクセス許可では、認証されたすべてのユーザーがこのワークグループにアクセスできます。

  • ワークグループにアクセスすると、そのワークグループの設定、メトリクス、およびデータ使用量の制御制限を表示できます。設定およびデータ使用量の制御制限を編集できる追加のアクセス許可を持つことができます。

  • クエリを実行すると、現在のワークグループでクエリが実行されます。コンソールのワークグループでクエリを実行するか、JDBC または ODBC ドライバーを介して API オペレーション、コマンドラインインターフェイス、またはクライアントアプリケーションを使用してクエリを実行できます。

  • Athena コンソールのクエリエディタでは、各ワークグループ内で最大 10 個のクエリタブを開くことができます。ワークグループを切り替えると、クエリタブは最大 3 つのワークグループに対して開いたままになります。

  • アカウントのAWS リージョンあたり最大 1000 個のワークグループを作成できます。

  • ワークグループを無効にできます。ワークグループを無効にすると、ワークグループを再度有効にするまで、ワークグループ内でクエリが実行されなくなります。

  • 保存されたクエリを含むワークグループを削除しようとすると、Athena が警告を表示します。他のユーザーがアクセスできるワークグループを削除する前に、そのユーザーがクエリの実行に使用できる別のワークグループにアクセスできることを確認してください。