クエリ処理キャパシティの管理 - Amazon Athena

クエリ処理キャパシティの管理

キャパシティ予約を使用して、Athena で実行するクエリ専用の処理キャパシティを確保することができます。キャパシティ予約を使用することで、ワークロード管理機能で重要な相互作用ワークロードの優先順位付け、制御、スケーリングを便利に行えます。たとえば、キャパシティを追加して同時に実行できるクエリの数を増やしたり、そのキャパシティを使用できるワークロードを制御したり、ワークロード間でキャパシティを共有したりすることがいつでも可能です。キャパシティは Athena によって完全に管理され、必要な限り保持されます。セットアップは簡単で、SQL ステートメントを変更する必要はありません。

クエリの処理キャパシティを確保するには、キャパシティ予約を作成し、必要なデータ処理ユニット (DPU) の数を指定し、予約に 1 つ以上のワークグループを割り当てます。

キャパシティ予約を使用する際に、ワークグループは重要な役割を果たします。ワークグループによって、クエリを論理的グルーピングに整理できます。キャパシティ予約によって、キャパシティをワークグループに選択的に割り当て、各ワークグループのクエリの動作と請求方法を制御できます。ワークグループの詳細については、「ワークグループを使用してクエリのアクセスとコストを制御する」を参照してください。

ワークグループを予約に割り当てると、割り当てられたワークグループに送信するクエリに優先順位を付けることができます。たとえば、時間的制約のある財務報告クエリに使用されるワークグループにキャパシティを割り当てて、それらのクエリを別のワークグループ内の重要度の低いクエリから隔離することができます。これにより、重要なワークロードに対して安定したクエリ実行が可能になり、他のワークロードは独立して実行できます。

キャパシティ予約とワークグループを組み合わせて使用すると、さまざまな要件に対応することができます。例としていくつかのシナリオを以下に挙げます。

  • 隔離 — 重要なワークロードを隔離するには、1 つの予約に 1 つのワークグループを割り当てます。割り当てられたワークグループのクエリのみが、選択した予約の処理能力を使用します。

  • 共有 — 複数のワークロードは 1 つの予約からキャパシティを共有できます。たとえば、特定の複数ワークロードの月次コストを予測できるようにするには、1 つの予約に複数のワークグループを割り当てます。割り当てられたワークグループがその予約のキャパシティを共有します。

  • 混合モデル — キャパシティ予約およびクエリ単位の請求を同じアカウントで同時に使用できます。たとえば、運用アプリケーションをサポートするクエリを確実に実行するには、それらのクエリのワークグループをキャパシティ予約に割り当てます。クエリを運用ワークグループに移動する前に開発するとき、予約に関連付けされていない別のワークグループを使用するため、クエリ単位の課金を使用します。

DPU について

キャパシティはデータ処理ユニット (DPU) で測定されます。DPU は、Athena がユーザーに代わってデータにアクセスして処理するために使用するコンピューティングリソースとメモリリソースです。1 つの DPU では、4 個の vCPU と 16 GB のメモリが使用できます。指定する DPU の数によって、同時に実行できるクエリ数が決まります。例えば、DPU 256 個の予約では、DPU 128 個の予約の約 2 倍の同時クエリ数に対応できます。

アカウントとリージョンごとに、最大合計 1,000 個の DPU で最大 100 個のキャパシティ予約を作成できます。リクエストできる DPU の最小数は 24 個です。ユースケースに 1,000 個を超える DPU が必要な場合は、athena-feedback@amazon.com までご連絡ください。

キャパシティ要件の見積もりについては、「キャパシティ要件の特定」を参照してください。料金については、「Amazon Athena の料金」を参照してください。

考慮事項と制約事項

  • この機能には、Athena エンジンバージョン 3 が必要です。

  • 1 つのワークグループは一度に 1 つの予約に割り当てることができ、1 つの予約には最大 20 のワークグループを追加できます。

  • Spark 対応のワークグループをキャパシティ予約に追加することはできません。

  • 予約に割り当てられているワークグループを削除するには、まず予約からワークグループを削除します。

  • プロビジョニングする DPU の最小数は 24 個です。

  • アカウントとリージョンごとに、最大合計 1,000 個の DPU で最大 100 個のキャパシティ予約を作成できます。

  • キャパシティのリクエストは保証されないため、完了するまでに最大 30 分かかる場合があります。

  • 1 件の予約あたりの最低請求期間は 1 時間です。1 時間が経過すると、キャパシティは 1 分単位で請求されます。料金については、「Amazon Athena の料金」を参照してください。

  • リザーブドキャパシティを別のキャパシティ予約、AWS アカウント、AWS リージョン に転送することはできません。

  • キャパシティ予約の DDL クエリは DPU を消費します。

  • プロビジョニングされたキャパシティで実行されるクエリは、DDL と DML のアクティブなクエリ制限にはカウントされません。

  • すべての DPU が使用中の場合、送信されたクエリはキューに入れられます。このようなクエリは拒否されず、オンデマンドキャパシティにも送られません。

  • DPUConsumed CloudWatch メトリクスは予約ごとではなく、ワークグループごとに対応します。そのため、ワークグループをある予約から別の予約に移動すると、そのワークグループが最初の予約に属していたときのデータが DPUConsumed メトリクスに含まれます。Athena の CloudWatch メトリクスの使用に関する詳細については、「CloudWatch メトリクスによる Athena クエリのモニタリング」を参照してください。

  • 現在、この機能は以下の AWS リージョン で利用できます。

    • 米国東部 (バージニア北部)

    • 米国東部 (オハイオ)

    • 米国西部(オレゴン)

    • アジアパシフィック (シンガポール)

    • アジアパシフィック (シドニー)

    • アジアパシフィック (東京)

    • 欧州 (アイルランド)

    • 欧州 (スペイン)

    • 欧州 (ストックホルム)

    • 南米(サンパウロ)