

# クエリごとおよびワークグループごとのデータ使用量の制御を設定する
<a name="workgroups-setting-control-limits-cloudwatch"></a>

 Athena では、クエリごとの制限とワークグループごとの制限の 2 つのタイプのコスト制御を設定できます。ワークグループごとに、クエリごとの制限を 1 つとワークグループごとの制限を複数設定できます。
+ **クエリごとの制御制限**は、クエリごとにスキャンされるデータの合計量を指定します。ワークグループで実行されるクエリが制限を超えると、キャンセルされます。ワークグループに作成できるクエリごとの制御制限は 1 つだけであり、その中で実行される各クエリに適用されます。変更する必要がある場合は、制限を編集します。詳細なステップについては、「[クエリごとにデータ使用量の制御を作成するには](#configure-control-limit-per-query)」を参照してください。
+ **ワークグループ全体のデータ使用量の制御制限**は、指定された期間中にこのワークグループで実行されるすべてのクエリに対してスキャンされるデータの合計量を指定します。ワークグループごとに複数の制限を作成できます。ワークグループ全体のクエリ制限を使用すると、ワークグループで実行されているクエリによってスキャンされたデータの時間単位または日単位の集計に複数のしきい値を設定できます。

  スキャンされたデータの合計量がしきい値を超えた場合に、Amazon SNS トピックに通知をプッシュできます。これを実行するには、制限を超えたときに管理者が通知を受けるように、Amazon SNS アラームと Athena コンソールでのアクションを設定します。詳細なステップについては、「[ワークグループごとにデータ使用量の制御を作成するには](#configure-control-limit-per-workgroup)」を参照してください。Athena が CloudWatch コンソールから発行する任意のメトリクスに対してアラームとアクションを作成することもできます。たとえば、失敗した多くのクエリに対してアラートを設定できます。このアラートは、数が特定のしきい値を超えた場合に管理者への E メールをトリガーできます。制限を超えた場合、アクションが指定されたユーザーに Amazon SNS アラーム通知を送信します。

  実行できるその他のアクションは、以下のとおりです。
  + Lambda 関数を呼び出す。詳細については、「*Amazon Simple Notification Service デベロッパーガイド*」で「[Amazon SNS 通知を使用した Lambda 関数の呼び出し](https://docs.aws.amazon.com/sns/latest/dg/sns-lambda-as-subscriber.html)」を参照してください。
  + ワークグループを無効にして、さらにクエリが実行されないようにする。この手順については、「[ワークグループを有効または無効にします。](workgroups-enabled-disabled.md)」を参照してください。

クエリごと、ワークグループごとの制限は相互に独立しています。指定したどちらかの制限を超えた場合にアクションが実行されます。複数のユーザーが同じワークグループで同時にクエリを実行した場合、各クエリは指定された制限を超えないものの、スキャンされたデータの合計がワークグループごとのデータ使用制限を超える可能性があります。この場合、Amazon SNS アラームがユーザーに送信されます。

## クエリごとのデータ使用量の制御を作成する
<a name="create-a-per-query-data-usage-control"></a><a name="configure-control-limit-per-query"></a>

**クエリごとのデータ使用量の制御を作成するには**

クエリごとの制御制限は、クエリごとにスキャンされるデータの合計量を指定します。ワークグループで実行されるクエリが制限を超えると、キャンセルされます。キャンセルされたクエリの料金は、[Amazon Athena の料金表](https://aws.amazon.com/athena/pricing/)に従って請求されます。
**注記**  
キャンセルされた、または失敗したクエリの場合、Athena が既に部分的な結果を Amazon S3 に書き込んでいる可能性があります。このような場合、Athena は結果が保存されている Amazon S3 プレフィックスから部分的な結果を削除しません。部分的な結果がある Amazon S3 プレフィックスを削除する必要があります。Athena は、Amazon S3 マルチパートアップロードを使用して Amazon S3 データを書き込みます。クエリが失敗した場合にはマルチパートアップロードを中止するように、バケットライフサイクルポリシーを設定することが推奨されます。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[マルチパートアップロードを使用したオブジェクトのアップロードとコピー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)」を参照してください。
特定の条件下では、Athena がクエリ実行を自動的に再試行することがあります。ほとんどの場合、これらのクエリは正常に完了し、クエリ ID は `Completed` とマークされます。これらのクエリは、最初の試行時に既に部分的な結果を書き込んでいる可能性があり、不完全なマルチパートアップロードになる恐れがあります。

ワークグループに作成できるクエリごとの制御制限は 1 つだけであり、その中で実行される各クエリに適用されます。変更する必要がある場合は、制限を編集します。

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) で Athena コンソールを開きます。

1. ナビゲーションペインで、**[Global networks (グローバルネットワーク)]** を選択します。

1. リストからワークグループ名を選択します。

1. **[実行コントロール]** タブで、**[コントロールの編集]** を選択します。

1. **[データスキャン制限]**の値を編集します。
   + 10 MB (最小) から 7 EB (最大) までの範囲で値を指定します。
   + ドロップダウンリストから単位の値（**Kilobytes KB** や **Exabytes EB** など）を選択します。
**注記**  
デフォルトのアクションでは、制限を超えた場合はクエリをキャンセルします。この設定は変更できません。

1. 変更を今すぐ適用するには **[保存]** を選択します。

## ワークグループごとのデータ使用量アラートを作成または編集する
<a name="create-a-per-workgroup-data-usage-alert"></a><a name="configure-control-limit-per-workgroup"></a>

**ワークグループごとのデータ使用量アラートを作成または編集するには**

ワークグループで実行されているクエリが特定の期間内に指定された量のデータをスキャンする際、複数のアラートしきい値を設定できます。アラートは Amazon CloudWatch アラームを使用して実装され、ワークグループ内のすべてのクエリに適用されます。しきい値に達すると、Amazon SNS から指定したユーザーに E メールを送信できます。しきい値に達した場合でも、クエリは自動的にキャンセルされません。

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) で Athena コンソールを開きます。

1. コンソールのナビゲーションペインが表示されない場合は、左側の展開メニューをクリックします。

1. ナビゲーションペインで、**[Global networks]** (グローバルネットワーク) を選択します。

1. リストからワークグループ名を選択します。

1. **[Edit]** (編集) を選択して、ワークグループの設定を編集します。

1. 下にある **[Workgroup data usage alerts - optional]** (ワークグループのデータ使用量アラート - オプション) までスクロールし、展開します。

1. **[Add alert]** (アラートの追加) を選択します。

1. **[Data usage threshold configuration]** (データ使用量のしきい値の設定) については、次のように値を指定します。
   + **[Data threshold]** (データのしきい値) については、数値を指定し、ドロップダウンリストから単位の値を選択します。
   + **[Time period] (期間) については**、ドロップダウンリストから期間を選択します。
   + **[SNS topic selection]** (SNS トピックの選択) については、ドロップダウンリストから Amazon SNS トピックを選択します。または、**[Create SNS topic]** (SNS トピックの作成) を選択して [Amazon SNS コンソール](https://console.aws.amazon.com/sns/v2/home)に直接移動し、Amazon SNS トピックを作成して、Athena アカウントのユーザーの 1 人にサブスクリプションをセットアップします。詳細については、「*Amazon Simple Notification Service デベロッパーガイド*」の「[Amazon SNS の使用開始](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)」を参照してください。

1. 新しいアラートを作成する場合は **[Add alert]** (アラートを追加) を選択し、既存のアラートを保存する場合は **[Save]** (保存) を選択します。