🏃

ECS に Redash を構築する

2023/02/26に公開

概要

ECS に Redash を構築する手順についてまとめる。
外観が分かるので、まずは https://redash.io/help/open-source/setup/ を眺めると良い。 AMI についての記述もあるため、EC2 に構築する場合にも役立つ。

インフラ

  • RDS
    • Redash が管理用に利用する DB (Data Source とは別物)
  • Redis
    • Redash が管理用に利用する DB (Data Source とは別物)
  • ECS
  • ALB
    • ヘルスチェックには /ping を使う

task definition

containerDefinitions

コンテナと command の一覧。QUEUES は環境変数

name command QUEUES 用途
server server なし WebUI を提供する
scheduler scheduler なし Redis に job を入れる
adhoc_worker worker queries 都度実行されるクエリを処理する
scheduled_worker worker scheduled_queries, schemas スケジューリングされたクエリを処理する
worker worker periodic emails default その他の処理を実行する

Image

全て同じイメージ
https://hub.docker.com/r/redash/redash

環境変数

全てのコンテナに適用する

Setup

Redash を起動する前に RDS の migration を実行する。

  1. task definition を用意する
    • task definition をベースに修正する
    • containerDefinition は 1つで良い
    • command を create_db に変更する
  2. タスクを実行する

Redash の起動

ECS Service (or Task) を実行する。
うまく設定できていれば、Redash の setup ページが表示される。
管理者用のアカウントを作成すれば Redash を利用できる。

その他

Discussion