投稿日: Feb 18, 2019

Amazon Athena Workgroups がリリースされました。今後は、この新しいリソースタイプを使って、クエリ実行やクエリ履歴を、同じ AWS アカウントの下で実行されているユーザー、チーム、またはアプリケーション間で分離できるようになります。ワークグループはリソースとして機能するため、ワークグループのアクセス管理にはリソースベースのポリシーが使用できます。たとえば、Athena を使用している 2 つのチームまたは種類の異なるアプリケーションが存在する場合、それらを異なるワークグループに割り当てることでアクセスを制限することができます。また、異なるワークグループに割り当てることで、臨時の使用を予定されているレポートから分離することもできます。あるワークグループで実行中のクエリは、別のワークグループで実行中のユーザーまたはアプリケーションからは確認できません。また、ワークグループを一時的に無効化することで、ユーザーがクエリを実行したりそれらが永久に削除されたりすることを防げます。Glue Data Catalog で定義されたテーブルやデータベースのためのきめ細かなアクセス制御の場合、さらに、特定のデータベースやテーブルへのアクセスを制限することができます。 

各ワークグループでは、集計されたクエリ関連のメトリクスを AWS CloudWatch で閲覧したり、ワークグループで実行中のすべてのクエリに適用されるワークグループ設定を強制したりすることも可能です。こうした設定には、結果が保存される Amazon S3 の場所や暗号化オプションなどが含まれます。また、ワークグループで実行中のすべてのクエリに適用されるデータの使用管理を作成することにより、コスト管理を実行できます。各ワークグループで、データの使用管理に関する 2 つのカテゴリを設定します。1 つめのカテゴリは、クエリ毎にスキャンされるデータ量を設定し、実行中のクエリに適用されます。クエリが、事前定義されたしきい値を超えると、Athena がそのクエリをキャンセルします。2 つめのカテゴリは、ワークグループで実行中のクエリがスキャンするデータの集計値に関して、時間単位または日単位で複数のしきい値を設定することが可能です。スキャンされたデータの集計値がしきい値を超えると、Amazon SNS アラートをトリガーして管理者に通知するか、Lambda 関数を呼び出すか、またはワークグループを無効化しそれ以降のクエリの実行を停止するか、いずれかを選択できます。

AWS コンソール、CLI、API を使用してプロパティを作成、編集、設定したり、ワークグループにコスト管理を適用したりすることができます。デフォルトでは、すべてのクエリはプライマリのワークグループで実行されます。プライマリのワークグループを使用する場合、変更は一切不要です。新しいワークグループを作成する際に JDBC ドライバーまたは AWS SDK を使用する場合は、最新の JDBC ドライバーと SDK に更新しておく必要があります。詳細はこちら