![見出し画像](https://assets.st-note.com/production/uploads/images/152644765/rectangle_large_type_2_e8723f0bdd7369db51bf8291158237ae.png?width=1200)
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の管理画面のセットアップ画面にリダイレクトします🙌
こうなると成功です!
![](https://assets.st-note.com/img/1724590694852-IbF9V4K6xd.png?width=1200)
これらの管理者設定をして次に進むと、、
無事TOPページが表示されました!!
![](https://assets.st-note.com/img/1725098423694-hM2QQlHRhY.png?width=1200)
(スクショ取り忘れてたのでイメージ。画像は左側に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
よっしゃあああああああああ!!!!
![](https://assets.st-note.com/img/1724665397175-vta5jaKPQ1.png?width=1200)
v10はチャートの色をカラーコードで指定できるようになってるのが最高!!!
他にもチャート周りの設定の自由度がv8と比べて良くなってる感じです。
![](https://assets.st-note.com/img/1724666210597-aOVAPqIRq9.png?width=1200)
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さんの言葉です。
お読みいただきありがとうございました。
金山雄星
この記事が気に入ったらサポートをしてみませんか?