あるデータエンジニアリングチームは、複数の開発チームが Amazon Athena を使ってアドホッククエリを実行する環境を管理しています。 次の要件を満たす実装を検討しています。 ・各開発チームのクエリが誤って大量のデータをスキャンしないよう、1クエリあたりのスキャン量を 10 GB に制限したい ・チームごとの Athena コストを個別に追跡したい ・チームメンバーがクライアント側の設定で制限を回避できないよう制御したい 最も適切な実装方法はどれですか?
Amazon Athena のワークグループ機能を使うと、チームごとにクエリ実行環境を分離できます。BytesScannedCutoffPerQuery でクエリごとのスキャン上限を定義し、EnforceWorkgroupConfiguration を true にすることで、クライアント側の設定による上書きを防ぎ制限を強制できます。ワークグループ単位で CloudWatch メトリクスが記録されるため、チームごとのコスト追跡も容易です。 選択肢Bは、IAM ポリシーに Athena のクエリスキャン量を直接制限する条件キーは存在しないため不正解です。 選択肢Cは、Budgets と Lambda の組み合わせではリアルタイムで個々のクエリを確実に制限できず、要件を満たしません。 選択肢Dは、CloudWatch アラームは事後通知には有効ですが、クエリの実行を事前に阻止する手段にはなりません。