出力先のS3なしでAthenaのクエリを実行が可能になった
株式会社モリサワでは分析のためのツールの一つとしてAthenaを利用しています。これまでAthenaを利用するにあたっては出力先のS3バケットを指定する必要がありました。そのため出力先のS3バケットの管理が必要でした。具体的にはS3に対する権限の付与や、不要な課金を避けるためにライフサイクルポリシーを設定して古いクエリ結果を定期的に掃除する必要がありました。
今回発表された機能によってクエリ結果をS3ではなくAWSが管理するストレージに保存できるようになりました。これを利用すれば出力先のS3バケットを指定せずに、Athenaのクエリを実行でき、S3の管理が不要になります。
AWSマネージド ワークグループを使うための設定
Athenaのコンソール上に Athena マネージド
という項目が追加されており、ここから設定を行うことができます。
これまではワークグループの設定においては出力先のS3バケットを指定する項目がありました。
また設定を変更するためにワークグループを再作成する必要はなく、 Athena マネージド
のワークグループに移行することができました。移行の結果、コンソールでは クエリ結果の場所
がS3バケットではなく Athena マネージドストレージ
となっています。
AWSマネージド ワークグループの制限
クエリ結果の保持期間は24時間
クエリ結果が保持されるのは24時間で、それを超えるとクエリ結果は削除されます。通常の利用では問題ないと思いますが、それ以上にクエリ結果を保持したい場合は従来の設定を使ってS3に出力する必要があります。
クエリ結果の再利用は出来ない
これまでの設定であったクエリ結果の再利用(キャッシュ)機能は利用できません。(ボタンはあるが押せない)
クエリ結果のコンソールからのダウンロードは200MBまで
クエリ結果のダウンロードをコンソールから行えるのは200MBまでです。それ以上になるとダウンロードはできません。ただサンプルのダウンロードはできるようです。Athenaから分析者が一度データをダウンロードして、pandasで分析する...みたいな利用の場合は少し困るかもしれません。一方でCLI経由でクエリ結果を取得する場合は、200MBを超えても問題なく取得することができます。
CTASクエリは実行できない
他にもS3バケットを指定していない仕様上、Selectの結果から新しいテーブルをS3に作成する CTASクエリは実行できません。
まとめ
一部の機能に制限はありますが、Athenaのクエリを実行するためにS3バケットを用意する必要がなくなり、S3の管理が不要になりました。これにより、Athena利用にあたってのハードルが下がり、またより低コストでAthenaを利用できるようになりました。
Discussion