Redash の複数台構成化その2(Redis を別インスタンスにする)

以下の記事の続きです。

ariarijp.hatenablog.com

前置き

前の記事で Redash と PostgreSQL を別インスタンスで動作させる環境ができていることを前提とします。

Redis を別インスタンスにする

PostgreSQL に比べ、Redis を別インスタンスにすることは性能に大きく影響を与えるものではないと思いますが、Redash に全部入り状態になっているミドルウェアから別インスタンスに切り出しやすいこともあり、この記事では Redis を別インスタンスにする方法を紹介します。

Redis のインスタンスを Redash インスタンスから参照できるネットワーク内に配置し、Redash の設定を変えていきます。

Redis インスタンスの設定は割愛しますが、Redash インスタンスからアクセスできるようになっていることを前提とします。

  • プライベート IP 192.168.33.101

Redis のバージョンは デフォルトの Ubuntu 16.04 でインストールできる 3.0.6 としています。

設定を書き換える

/opt/redash/.env で定義されている REDASH_REDIS_URL を、以下のように書き換えます。

export REDASH_REDIS_URL=redis://192.168.33.101:6379/0

これで Redis が準備できました。

Redash を再起動して、Redash にアクセスし、何かクエリを実行してみましょう。

クエリが実行できたら、Redash インスタンス上の Redis は停止しても問題ありません。

既存環境を使用する場合の注意点

既存の Redash の Redis を別インスタンスにする場合は、実行中またはキューに入っているクエリが実行されない、正常終了しないなどの問題が起きる可能性が考えられます。

作業前にキューに何も入っていない、または再実行などで問題を回避できることを確認したうえで対応するのがよいでしょう。

まとめ

簡単でしたが、Redash で使用する Redis を別インスタンスにする手順を紹介しました。

次回は Redash の worker プロセスを別インスタンスで実行する方法を紹介する予定です。