Amazon Web Services ブログ

Athena のプロビジョンドキャパシティのご紹介

4月28日、Amazon Athena クエリを実行するためのキャパシティをプロビジョニングする機能をリリースしました。

Athena は、標準 SQL クエリを使用して Amazon Simple Storage Service (Amazon S3) データレイクおよび 30 の異なるデータソース (オンプレミスのデータソースや他のクラウドシステムを含む) 内のデータを簡単に分析できるようにするクエリサービスです。Athena はサーバーレスであるため、管理するインフラストラクチャはなく、(今日まで) 実行するクエリについてのみ料金が発生します。今日より、クエリ専用のキャパシティと、極めて重要なクエリの優先順位付け、制御、およびスケールを実行するための新しいワークロード管理機能を使用できます。プロビジョニングしたキャパシティについての料金のみをお支払いいただきます。

AWS が提供する新しいサービスや機能の 90% は、お客様からの直接のフィードバックに基づいています。Athena のお客様の多くから、大量のクエリを実行するとキューイングが時々発生し、一部のアプリケーションやビジネスプロセスが遅くなることがあるというお声をいただきました。一般的に、これを回避するには、重要度の低いクエリ、インタラクティブなクエリ、または探索的なクエリよりも、ミッションクリティカルなクエリを優先するクエリの優先順位付けメカニズムを作成します。この優先順位付けメカニズムは、最も優先度の高いクエリを最初に実行するのに役立ちますが、Athena の外部でコードやビジネスプロセスを構築して維持する必要があります。お客様からは、Athena のコストを予測するのが困難であるというお声も寄せられています。Athena ではスキャンされたデータ量に応じて料金がかかりますが、データセットのサイズ、ユーザークエリの構成、データの保存形式によってデータ量が異なるため、多くの場合、料金を予測するのは困難です。

このようなフィードバックを受けて、本日、専用のクエリ処理能力を大規模にプロビジョニングする機能をリリースします。プロビジョンドキャパシティにより、クエリを実行するための一連の専用コンピューティングリソースをプロビジョニングできます。この常時稼働のキャパシティにより、ビジネスクリティカルなクエリをほぼゼロのレイテンシーで処理でき、キューイングも発生しません。コスト、同時実行、クエリの優先順位など、ワークロードのパフォーマンス特性を制御できます。他の AWS のサービスのプロビジョンドキャパシティと同様に、実際の使用量ではなく、プロビジョニングされたキャパシティについてのみ料金がかかります。プロビジョンドキャパシティにより、Athena の請求額が予測可能になり、ユーザークエリが月次予算内に抑まるようにする必要がなくなります。請求モデルについては、以下で詳しく説明します。

舞台裏では、Athena は、稼働している各 AWS リージョンで大規模なコンピューティングプールを維持しています。これは、お客様の間で論理的に分割された 1 つの大きなコンピューティングプールと考えることができます。Athena でキャパシティを予約すると、そのキャパシティはお客様専用として保持されます。プロビジョニングしたキャパシティで実行するクエリと、Athena のマルチテナントのオンデマンドキャパシティで実行するクエリを選択できます。プロビジョニングしたキャパシティは複数のクエリで共有できます。ビジネス要件の変化に応じて、いつでもキャパシティユニットをさらに追加できます。また、少なくとも 8 時間が経過した後に、プロビジョンドキャパシティを調整することもできます。

キャパシティの単位は Data Processing Unit (DPU) です。1 つの DPU は 4 つの vCPU と 16 GB の RAM に相当します。プロビジョニングできる最小キャパシティは、8 時間で 24 DPU です。Athena 用のこの新しいプロビジョンドキャパシティは、クエリの量を問わずあらゆるユーザーに理想的ですが、プロビジョンドキャパシティの使用を開始するのに適切なタイミングは、Athena で 1 か月あたり 100 USD 以上を支出するようになったときです。

必要な DPU の数は、目標と分析パターンによって異なります。例えば、クエリをキューに入れずにすぐに開始する必要がある場合は、同時実行クエリのピーク需要を満たすのに十分な DPU をプロビジョニングする必要があります。ピーク需要よりも少ない数の DPU をプロビジョニングすることは可能ですが、キューイングが発生する可能性があります。この場合、クエリはキューに保持され、キャパシティが使用可能になったときに実行されます。固定予算内でクエリを実行することを目標としている場合は、AWS 料金見積りツールを使用して、予算に見合う DPU の数を決定できます。最後に、データサイズ、ストレージ形式、クエリ構造が、クエリに必要な DPU の数に影響することに留意してください。データの圧縮、パーティショニング、列形式への変換を実行することで、クエリのパフォーマンスを向上させることができます。Athena のドキュメントには、複数のクエリを同時に実行するために必要となり得るキャパシティを判断するためのガイドラインが記載されています。

仕組み
使用を開始するには、3 段階のプロセスを経る必要があります。AWS マネジメントコンソールの Athena ページに移動し、左側のナビゲーションメニューで [Capacity Reservations] (キャパシティ予約) を選択します。
(このデモで使用されているコンソールは、新しい Cloudscape オープンソースデザインシステムに基づいていますが、お客様の AWS アカウントでは引き続き従来のデザインで表示される場合があります。)

コンソールの Athena のキャパシティ予約のランディングページ

ページの右上にある [Create capacity reservation] (キャパシティ予約を作成) ボタンを選択します。

[Create capacity reservation] (キャパシティ予約を作成) ページで、[Capacity reservation name] (キャパシティ予約名) とプロビジョニングする DPU の数を入力します。

Athena のキャパシティ予約 - 予約を作成

[Review] (確認) を選択して選択内容を確認し、[Create capacity reservation] (キャパシティ予約を作成) を選択して予約を作成します。しばらくすると、キャパシティ予約のステータスが ✅ [Active] (アクティブ) になります。

Athena のキャパシティ予約 - ステータス

3 つ目の最後のステップでは、ワークグループを作成し、そのワークグループをプロビジョンドキャパシティに割り当てます。ワークグループは、ユーザー、チーム、アプリケーション、またはワークロードを分離して、各クエリまたはワークグループ全体が処理できるデータ量に制限を設定したり、コストを追跡したりできるようにする Athena のメカニズムです。

割り当てられたワークグループに属するクエリは、プロビジョニングしたキャパシティで実行されます。複数のワークグループが同じ Athena エンジンバージョンを使用している限り、それらのすべてのワークグループでキャパシティを共有できます。下図に示すように、このコンセプトはキャパシティ割り当てポリシーに現れています。これは、ワークグループ全体でのキャパシティの割り当て方法を定めます。これにより、ビジネスニーズに応じて、キャパシティを増減してクエリを柔軟に実行できます。

Athena のキャパシティ予約 - 共有ワークグループ

ワークグループを作成するには、Athena ページの [Workgroups] (ワークグループ) セクションに移動します。その後、[Create workgroup] (ワークグループを作成) を選択します。

Athena のキャパシティ予約 - ワークグループを作成

予約で選択した分析エンジンが、ワークグループの分析エンジンと一致することを確認します。

Athena のキャパシティ予約 - 分析エンジンを選択その後、先ほど作成したキャパシティ予約に戻り、[Add workgroups] (ワークグループを追加) を選択して、先ほど作成したワークグループを追加します。

Athena のキャパシティ予約 - ワークグループを追加

これで完了です! 設定の準備ができたので、クエリを実行できます。既存のクエリは、変更されずにプロビジョンドキャパシティで実行されます。クエリを実行する際に、先ほど作成したワークグループを選択していることを確認します。クエリエディタの右上にあるワークグループを選択するか、AWS コマンドラインで --work-group 引数を使用します。例:

aws athena start-query-execution --work-group AWSNewsBlog

Athena のキャパシティ予約 - ワークグループを選択

利用可能なリージョンと料金
冒頭で説明したように、プロビジョニングした DPU の数と期間に応じて料金がかかります。最短期間は 8 時間で、その後からは 1 分単位で料金が課金されます。プロビジョンドキャパシティはいつでも解放できます。最短期間内のキャンセルについては、最短期間分の料金が全額請求され、現在実行中のクエリがすべて終了するとすぐにキャパシティの割り当てが解除されます。

プロビジョンドキャパシティに割り当てられたワークグループから実行されるクエリは、スキャンされるデータ量について請求されるわけではありません。使用量ではなく、プロビジョンドキャパシティに応じてお支払いいただくため、実質的には固定料金です。キャパシティに余剰がある場合は、プロビジョニングした DPU の数を減らすか、ワークグループを追加して余剰キャパシティを消費できます。

通常どおり、Athena の料金ページですべての詳細をご覧いただけます。

Athena のプロビジョンドキャパシティは、現在、米国東部 (オハイオ、バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (シンガポール、シドニー、東京)、および欧州 (アイルランド、ストックホルム) の AWS リージョンでご利用いただけます。

今すぐ Athena のキャパシティをプロビジョニングしましょう!

— seb

原文はこちらです。