記事を書いていたゲームコミュニティ(Lobi)事業部の自称データエンジニアの池田です。今回も、redashについて記事を書いていきたいと思います。redashは様々な種類のデータソースにアクセスできる、OSSの素晴らしいダッシュボードツールです。今後もビジネスインテリジェンスの現場でのダッシュボードツールの選択肢として利用され続けることでしょう。私の所属するゲームコミュニティ事業部でも、以前本ブログで事例紹介したようにredashを使用し続けております。techblog.kayac.comさて、このredashですが、2017年10月頃よりある問題が囁かれ続けていました。変更した設定を管理する手段がないなにかの拍子に現在のEC2インスタンスが失われると、復元作業が大変そのredashの動いているEC2インスタンスは俗に、秘伝のタレのようなインスタンスと呼ばれていました。秘伝のタレのように継ぎ足しで設定してきたためアップデート失敗のリスクを考え、メジャーバージョンのアップグレードは見送られv1.0.3の状態のままで運用されていました。このまま、v1.0.3を使い続けるしかないのか?と思ってはいてもメジャーバージョンが2つ3つどころか、4つ以上先を行っている状況はなんとかしたい。いう問題をゲームコミュニティ事業部のredashは抱えていました。v1.0.3からv7.0.0へゲームコミュニティ事業部では様々な業務にredashを使っており、アクセス分析にも活用しています。分析的な業務を行うSQLでは、通常のSQLとは異なり多数のWITH句や副クエリを活用します。v7.0.0ではクエリの部分実行が可能になったため、WITH句や副クエリの部分だけ実行して結果を確かめられるため非常に重宝することが予想できました。いう背景もあり、重い腰を上げてv1.0.3からv7.0.0へのアップグレードを行うことを決意しました。念のためのバックアップ秘伝のタレとなったredashインスタンスは、設定を管理していない関係でアップグレードの拍子に壊れるともとに戻せなくなってしまいます。AWSコンソールから作業前に既存のインスタンスのAMIを取得し、これをバックアップとしました。手順はこのリンクのものをそのまま行いました。Studioこれは大事な作業です。後にこのAMIが私を救ってくれました。依存パッケージのinstallに失敗したようだ。pythonの知識と格闘してpythonのパッケージ管理ツールpipをアップグレードを行いました。マイグレーションで失敗するので一度v4.0.1を経由する古すぎたPythonをアップグレードして、再実行すると以下のようなエラーメッセージが出ます。http://sqlalche.me/e/f405)redashで使っているPostgreSQL関係のマイグレーションで失敗したようです。検索して探してみるとジャストミートな解決策を見つけました。Qiitaありがとうございます!記事の内容を参考にupgradeスクリプトをコピーして以下のように改変し、一度v4.0.1にアップグレードするようにします。Enjoy.無事にv4.0.1になりました。Enjoy.無事にv7.0.0にアップグレードできました。完璧ではなかったアップグレード、そしてECS化の流れアップグレード翌日、事件が発生する。既存の運用クエリが動かないとの報告を受ける。SpreadSheetを採用しており、シート上の値を読み取って、その値に従って様々な情報を取得してくるクエリが日常化していた。QueryRunnerが読み込まれていない状態であったのだ。v1.0.3を利用できる状態にした。バックアップとして取得していたAMIが役に立った瞬間である。QueryRunnerが読まれていないのかを調べた。パッケージのバージョンが原因のようであった。このパッケージのバージョンアップを試みると、osのアップデートやら別の関連パッケージのアップデートやらと芋づる式に問題が発生する状況になっていった。@handlenameさんによって起動だけはされていた。ECSが参照しているRDSへデータを移行するという形になった。完成し、秘伝のタレと化したインスタンスに別れを告げることができました。ECS化の恩恵、らくらくv8.0.0にアップグレード!先日の2019-10-27にv8.0.0がリリースされました。ECSのtask-difinitionという形でredashの設定を管理できるようになった今ではv7.0.0=>v8.0.0へのアップグレードもたやすく行えました。Requestにしてreviewできるのです。v1.0.3をなんとかアップグレードし、その過程でECSに乗り換えるという内容でした。今回のredashアップグレードを通して痛感したことは以下です。runnerの暴走に対する修正が入りました。ECSになるまでTweet関連記事2019-12-22NuxtJS製のWebサービスをECSに移行したはなしSREチームの長田です。対応を追加したSREチームの藤原です。Colabによる分析環境ゲームコミュニティ事業部のデータエンジニア(β版)の池田です...2019-12-02runc脆弱性に対応するためにうっかりECSからFargateにしましたこんにちは、ソーシャルゲーム事業部ゲーム技研チームの谷脇で...2018-12-04絶対に真似してはいけない。闇のRedash入門Lobi事業部データエンジニア(自称)の池田です。(1)月別アーカイブ検索スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。