困っていたこと
以前はAthenaクエリの出力先S3バケットを指定せずに実行した場合は、デフォルトのバケットが自動作成されてクエリ結果を保存をしていました。
しかし、先日確認したところS3バケットは作成されず下記のエラーが出ていたため調査してみました。
結論
2024年現在は、クエリ結果を保存する場所を指定する必要があります。
公式ドキュメントから引用
これまで Athena では、クエリ結果の場所の値を指定せずにクエリを実行し、クエリ結果の場所の設定がワークグループによって上書きされなかった場合は、Athena がデフォルトの場所を作成していました。デフォルトの場所は aws-athena-query-results-MyAcctID-MyRegion でした。MyAcctID はクエリを実行した IAM プリンシパルの Amazon Web Services アカウント ID で、MyRegion はクエリが実行されたリージョン (us-west-1 など) です。
今後は、以前に Athena を使用したことがないアカウントがあるリージョンで Athena クエリを実行する前に、クエリ結果の場所を指定するか、クエリ結果の場所の設定を上書きするワークグループを使用しなければならなくなります。Athena はデフォルトのクエリ結果の場所を作成しなくなりましたが、以前に作成されたデフォルトの aws-athena-query-results-MyAcctID-MyRegion の場所は引き続き有効で、使用を継続できます。
おわりに
仕様がいつ変わったのかが気になるところです。
2023年の半ばまではS3バケットが自動作成される仕様だったみたいなので最近なんでしょうか。。。
ブログを漁っていると2024年以前は「バケット指定不要」2024年以降は「バケット指定必要」な記事が多かった気がするのでそのあたりでしょうか。(公式ドキュメントがいつ更新されたのか知りたい)
短いですが今回はここまでです。