見出し画像

OSSのBIツールRedashをセルフホスティングする方法

公式ドキュメントのこちらを参考にセットアップしていきます

Redashの説明はこちら


EC2インスタンスの設定&Redash

AMI( Amazonマシーンイメージ)が用意されていますので、そちらを利用します。

※こちらに用意されているAMIイメージはRedashの最新バージョン(2024年8月現在)であるv10ではなく、v8であるため、セットアップ完了後にアップデート対応を行います。

EC2を建てる

  • インスタンスタイプ
    4GB以上のRAMのインスタンスでないと、後の工程でエラーが発生しますのでご注意を。
    私は「t3.medium」を使用しております。今の所問題なく動作しております。(インスタンスの停止は必要ですかが、後から変更可能です)

  • キーペアを作成
    ED25519を指定します(RSAよりこっちのほうが強力らしいので)
    .pemの秘密鍵ファイルがダウンロードされます。
    SSH接続する時に使うので大切に保管してください。
    (具体的には.sshディレクトリに移動させてchmod 600でパーミッションを変更する)

  • セキュリティグループの設定
    HTTPS
    HTTP
    SSH
    を許可する

ElasticIPを取得
(一応、ElasticIPを取得せずにEC2の前にELBを置いてエイリアスをRoute53でルーティングする方法もありそうですが。。Route53でEC2のエイリアスも指定できたらいいんですが!)

インスタンスを起動!!

AWSのコンソールの EC2/インスタンス/ で作成したインスタンスは確認できます。

5分くらい待つとインスタンスのステータスが「実行中」、ステータスチェックが「合格しました」になると、準備完了です。

自動的に割り当てられた IP アドレスをコピーして、ブラウザに貼り付けると、、

Redashの管理画面のセットアップ画面にリダイレクトします🙌
こうなると成功です!

これらの管理者設定をして次に進むと、、
無事TOPページが表示されました!!


(スクショ取り忘れてたのでイメージ。画像は左側にnavバーがあるv10のものです。みなさんは上部にnavがあるはず。)

SSHで接続してみる

管理者設定ができたらRedashを実行しているEC2インスタンスに、SSHでアクセスしてみましょう。

EC2を設定した際にダウンロードしたキーファイルを指定し、sshします。
Host情報はAWSコンソールのEC2の「接続」タブにあるものをコピペで使えます。

ユーザー名はubuntuを使いますので注意⚠

ssh -i <キーファイルを置いたパス>/redash.pem ubuntu@ec2-<ElasticIPアドレス>.<EC2のあるリージョン>.compute.amazonaws.com

v8からv10にアップデート


上述のとおり、用意されているAMIイメージはRedashの最新バージョン(2024年8月現在)のv10ではなく、v8であるため、セットアップ完了後にアップデート対応を行う必要があります。

アップデートはこの手順通りにやれば意外とあっさりできました〜
opt/redash/docker-compose.ymlを書き換える感じですね

https://github.com/getredash/redash/releases/tag/v10.0.0


よっしゃあああああああああ!!!!


v10はチャートの色をカラーコードで指定できるようになってるのが最高!!!
他にもチャート周りの設定の自由度がv8と比べて良くなってる感じです。

HTTPS対応

HTTPのまま使っていると、セキュリティ的にリスクがあるので、必ずHTTPS対応させましょう。
HTTPのままだと、ユーザーがフリーWi-FiからRedashを使った場合に盗聴できてしまいます。あとは通信事業者に覗き見られる可能性も。

(必要に応じて)Route53でドメインの設定

弊社ではサブドメインを使ってredashをホスティングするため、先程取得したElasticIPを指定したAレコードを作成しました。

あとはこれに沿ってHTTPS設定することでできました!
https://gist.github.com/arikfr/64c9ff8d2f2b703d4e44fe9e45a7730e

example.redashapp.com を忘れずすべて、上記で設定した自分のドメインに変更してください。

この辺は公式ドキュメント通りであっさりできました。

Email周りの設定

正直これが一番苦戦しました、、

Redashはユーザー招待やパスワードリセットにメールを使うので、Emailの設定ができていないとまともには使えないのです。

基本は公式ドキュメント「Mail Configuration」の通りです

AWSのSESを使います。

サンドボックス環境では使えませんので、AWSのコンソールからすこし理由を書いて本番利用の申請をする必要があります。

Redashで使っているドメインで認証しました。

envファイルにこれらを設定したら無事メールが届きました!

REDASH_MAIL_SERVER=email-smtp.ap-northeast-1.amazonaws.com
REDASH_MAIL_PORT=587
REDASH_MAIL_USE_TLS=True
REDASH_MAIL_USERNAME=<SESより>
REDASH_MAIL_PASSWORD=<SESより>
REDASH_MAIL_DEFAULT_SENDER=noreply@<redashをホストしているドメイン>
REDASH_HOST=https://<redashをホストしているドメイン>


最後に

なにを隠そう、私がITの世界に入るきっかけとなったのは某スキマバイトベンチャーで働かせてもらっているときに、データ分析担当としてRedashでクエリを叩きまくったことで、データを可視化して事業に活用する面白さや可能性を感じたからです。
私はRedashが大好きです。

BIツールの利用料はおしなべてべらぼうに高いなかで、OSSで提供されているRedashは貴重な存在だと考えます。
Redashの活用はSQLが書けるのが前提とはなりますが、今はChatGPTをはじめとするLLMをつかえばSQLも書けるので、それは問題ではなくなってきていると思われます。

今こそRedashを使いこなして、
Make Your Company Data Driven.するときではないでしょうか!

Redash生みの親のArik Fraimovichさんの言葉です。

お読みいただきありがとうございました。

金山雄星

この記事が気に入ったらサポートをしてみませんか?