Amazon QuickSight で既存の Athena データソースのワークグループだけを変更してみる
いわさです。
Amazon QuickSight でデータセットを作成する時に、データソースとして Athena を使うことが出来ます。
Athena データソースを構成する際には QuickSight 側から Athena ワークグループを指定する形になります。
そしてワークグループはクエリの分離や暗号化、あるいは使用量の制限など様々な要件から設計を行うことが出来ます。
運用していく中でひとつだったワークグループを複数に分けたくなることがあります。
そうした時に QuickSight でデータソースとして構成済みだった場合に変更可能なのか、影響が出ないのかが気になったので試してみました。
Athena のワークグループ
検証の背景としては色々と複雑な要件があったりするのですが、今回は Athena のワークグループを2つ用意し、あるワークグループを使って QuickSight アセット一式(データソース・データセット・分析・ダッシュボード)を作成後にもう一つのワークグループへの変更を行ってみます。
ワークグループの違いを先に検証するため、片方のワークグループでは 10 MB のデータ制限を設定しました。
Athena のクエリエディタで試しにワークグループを指定してみます。ちなみに QuickSight のデータストアでの利用にあたって、クエリ結果先の指定が明示的にされている必要がありますのでご注意ください。
こちらは制限のあるワークグループ。
こちらは制限のないワークグループで同一のクエリを実行しました。6.71 GB のスキャンが発生しています。
6 分かかっているので QuickSight のダイレクトクエリだとタイムアウトが発生するので気をつけなければいけませんね。
QuickSight からワークグループを指定する
QuickSight で新規データセットを作成します。
新規データセット作成時に Athena データソースを選択することで新規データソースの作成が可能です。
その時に Athena ワークグループを選択する形となります。
今回はタイムアウトが発生しないようなカスタムクエリでデータセット作成を行いました。
データセット作成後にそのまま、分析とダッシュボードも作成しました。
ワークグループだけ変えてみる
ダッシュボード作成後に、Athena ワークグループを変更したくなった場合を想定し、変更出来るか試してみます。
困りやすい点ではあるのですが、そもそも QuickSight にはデータソースのメニューは存在しません。データセット・分析・ダッシュボードは存在します。
どこから既存データソースの設定を変更するのかというと「新しいデータセット」の作成画面から変更することが出来ます。
データセット作成時は新規データソースの作成を行うことが多いと思いますが、既存データソースから作成も可能です。
その際に「既存データソースから」でデータソースを選択します。
既存データソースに関する設定変更もこちらから可能です。
データセットの作成ダイアログに「データソースの編集」ボタンがありまして、こちらから設定変更が可能です。
Athena データソースの場合はワークグループの変更くらいが可能なのですが、例えば RDBMS などであればエンドポイントや認証情報なども設定変更出来るので編集したい時はたまにあるかもしれません。
ちなみに Athena データソースだとコンソールから変更出来るのはワークグループの変更くらいなのですが、API だとロールも指定出来ます。
データソースの更新後、次のようにデータセット作成のフローに移動するのですが、データソースの変更自体は完了しているのでデータセット作成自体はキャンセルしても良いです。
データソース設定を変更後データセットの SPICE を更新してみます。
Athena のクエリエディタで新しいワークグループのクエリ履歴を確認してみると、QuickSight からの SPICE 更新クエリが発行されていることが確認出来ました。
そして、ダッシュボードの表示も正常に確認することが出来ました。データソースの設定を変更しても SPICE 更新やダッシュボード表示には影響なしで切り替えが出来ますね。
さいごに
本日は Amazon QuickSight で既存の Athena データソースのワークグループだけを変更してみました。
データソースの設定変更の流れがちょっとわかりにくいですが、変更出来ましたね。
そのため、運用後にワークグループの再設計が発生した場合でも対応出来ることが確認出来ました。
ワークグループ以外に、認証情報のローテーションなどでデータソースの更新を行いたい時などにも参考にしてください。