はじめに
AWSで環境構築するときCloud Formationを使うことは多いかと思います。
今回AthenaをStep Functionsから動かそうとした際にはまった点があるため備忘録代わりに記事にしておきます。
構成
雑にですが以下のようなもの
- Step Function
- Athena
はまったポイント
Athenaを動かす際にWorkGroupが必要となります。
自前で用意しなければ初期状態で存在しているprimaryがあり使われるようになっているかと思います。
今回は自前で用意したWorkGroupを使おうとしたところ、取り込み自体は出来るがクエリ実行時にエラーになるという状況に陥りました。
何が悪かったか
以下は問題なかったところ
- WorkGroupの作成の記載は問題なさそう(公式のドキュメントを見ても問題なさそう)
- Step Functionsでのステートマシンには権限は問題なく付いていそう
問題のあったところ
- 実際の挙動を書いていたステート部分でクエリ実行を書いていたタスク内にWorkGroupを指定できていなかったためデフォルトのprimaryを使おうとしていた(primaryへは権限付与なし)
- 今回はstartQueryExecution.syncのタスクに付与出来ていなかった
終わりに
ちゃんと関係する箇所の最初から最後まで公式のドキュメントと突き合わせて正しさの検証をする癖をつけたい。
そして、さっと書くために図も何もなしで記載しましたが気が向いたら後で更新したい。