Redashを使ってみる
Redashとは?
Connect and query your data sources, build dashboards to visualize data and share them with your company
SQLをエンジニアの方で用意しておくと、Bizサイドの方達がそのSQLを実行してデータを出力できる仕組みです。
Bizサイドとしては、データ集計作業をエンジニアに頼まなくても自分たちのタイミングで実施できるようになり、
エンジニアの方では、わざわざダッシュボードなどを自分で作らなくても、Bizサイドが欲しいデータを提供できるツールになります。
環境を用意する
今回は、AWSの環境上にRedashを用意します。環境の構築手順は以下の通り。
- EC2インスタンスを準備する
- RDSの設定をする
- Redashの初期設定を行う
- Dashboardを作成する
1. EC2を準備する
今回はRedash AMIを使用します。
RedashのサイトでAMIを選択します。

次に、EC2のインスタンスタイプを選択します。

メモリ2GiBのインスタンスを選択すると、メモリが足りず、502 Bad Gateway になってしまうので注意が必要です。
VPCなどの設定が終わると、Redashのインストールは完了です。(めっちゃ簡単です)
2. RDSの設定を行う
ここでは既存のデータベースを使用するので、割愛します。
3. Redashの初期設定を行う
1で作成したEC2にブラウザからアクセスします。

※ログインの初期設定は、ID:admin、パスワード:passwordになります。
ログインすると、以下のページが表示されるので、“1. Connect a Data Source" を選択

データソースを選択します。ものレボでは、RDSを使用しているので、MySQL(Amazn RDS)を選択します。

データベースの接続情報を入力します。

Createを押して接続できれば設定は完了です。
Dashboardを作成する
Create -> Queryからクエリの登録ができます。

開いたページでSQLを入力し、保存するだけで使用できます。

次に、Create -> Dashboardをクリックして新しいダッシュボードを作成します。

次に、作成するダッシュボードの名称を入力します。

次に、右下の Add Widget から先程登録したSQLを選択し、登録すれば完了です。



画面右上の “Done Editing" で編集を完了すれば、ダッシュボードの出来上がりです。

作成完了!

まだあまり使っていませんが、かなり簡単に集計表が作成できるので、中々の便利さを感じている今日この頃です。
おまけ
Redashインストール時に詰まった所や詰まりそうな所を備忘録がてら記載しておきます。
- ネットワーク、セキュリティグループの設定
- EC2のセキュリティグループの設定で、Public InternetからHTTP、HTTPS、SSHを許可しておく必要がある
- MySQLのセキュリティグループの設定で、VPC内部のネットワーク上でTCP 3306を許可しておく必要がある
- EC2の準備完了後、パブリックアドレスがしばらく使用できない
- 当たり前だが、DNSの設定が行き渡るまでアドレスがしばらく使用できない。せっかちな人は設定不良と間違えてしまう場合があるので注意
- EC2のインスタンスタイプ
- t2.microだとメモリが不足しており、動かない。502 Bad Gateway が発生するため、デバッグに苦労しがち。今回は、t3.smallで構築