こんにちは、タイミーSREチームの宮城です。
今回は弊社がRedashをFargateで構築/運用している話を紹介します。
背景
タイミーでは、CSやセールスのKPI策定から毎月の事業数値に至るまで、Redashが様々な用途で活用されています。
Fargateで構築する以前はEC2上のdocker-composeで運用されていましたが、以下の課題がありました。
- オートスケールできないため、クエリが詰まってCPUが100%になってサービスが停止する。
- セットアップしたエンジニアが退社しており、インフラ構成図やノウハウの共有、IaCによる管理ができていない。
- クエリやダッシュボードなどのデータの定期的なバックアップができていない。
- v7系からv8系へのアップデートがしたいが、アップデートによる影響範囲がわからず恐怖感がある。
- 事業に大きく関わるサービスなのにも関わらず、モニタリングやアラートができていない。
上記をFargateに移行することで解決することができました。
Redashで利用するミドルウェアに関しては下記コンポーネントを使い、全てをterraformで管理しています。
- PostgreSQL -> RDS
- Redis -> ElastiCache
それぞれの構成の紹介
ここからは、それぞれの構成をTerraformのソースコードやタスク定義のJSONなどを交えつつ説明していきます。
続きを読む