はじめに
Herokuの無料プランが終了するので、ためしにRailsアプリからSupabaseのデータベース(PostgreSQL)に接続してみました。
そのときの話は以前こちらのブログに書いています。
ただし、無料版のSupabaseは1週間使用しないと自動停止します(paused状態になる)。
この記事では停止状態のSupabaseを再開する手順を説明します。
自動停止に至るまで
5日間アクセスがないとSupabaseから「もうすぐ自動停止するよ」という通知メールが届きます。
Hi Junichi Ito,
To save on cloud resources I just did a scan of all our projects and identified those which have been inactive for more than 5 days.
Your project (プロジェクト名) was one of those and it is scheduled to be paused in a couple of days (you can unpause it from the dashboard at any time)
If you want, you can upgrade your project to Pro to avoid future pausings, and this can be done from the project's billing settings.
Happy Hacking!
さらにその2日後、「1週間アクセスがないから停止したよ」という通知メールが届きます。
Hi Junichi Ito,
To save on cloud resources we're currently pausing free-tier projects that are inactive for more than 7 days.
Your project (プロジェクト名) has been paused - we keep the data available and you can unpause it at any time from the dashboard.
Note that you can avoid project pausing by upgrading to Pro for $25 per project from your project's billing settings.
Happy Hacking!
自動停止状態になると当然RailsからDBにアクセスすることはできません。
停止したSupabaseを再開する
Supabaseにログインし、プロジェクトの管理画面を開くと次のようにプロジェクトが停止状態であることが表示されています。
"Restore project"ボタンをクリックして、プロジェクトを再開します。
これで完了!・・・と思いきや、「DBのサイズに応じてリストア(再開)には数分から数時間かかるよ」というメッセージが表示されます。
リストアが完了すると、その旨メッセージが表示されます。
ただ、僕が試したときはこのメッセージが表示されても、まだしばらくDBにはアクセスできませんでした。
僕のDBはテスト用に作ったごく小さいサイズのものですが、
- リストア完了のメッセージが表示されるまで2〜3分
- その後Railsアプリからアクセスできるようになるまで2〜3分
ぐらいかかりました。
個人的な感想
無料版のHerokuのアプリが停止したときは、ブラウザからそのアプリにアクセスするだけで数十秒から1分後ぐらいにアクセスできるようになりますが、Supabaseの場合は管理画面へのアクセスが必要な上、再開までに最低でも5〜6分はかかるので、Herokuほど気軽にスリープさせられないな、という印象です。
となると、「Supabaseを使うならスリープしないように、定期的にたたき起こさなきゃ!」と思う人が出てくるかもしれません。
しかし、僕が想像するに、Supabaseの無料枠はあくまでお試し用という位置づけなんだと思います。
「永遠に無料で使いたい」という気持ちだけで「定期的にたたき起こす」みたいなことをやっていると、SupabaseもそのうちHerokuのように無料枠がなくなってしまうような気がします。
便利なwebサービスが無料で永遠に使い続けられるというのはふつうに考えればどこかおかしな話なので、自分が「嬉しくない顧客」と見なされないよう、節度を持った使い方をしていく必要があるんじゃないかなーと考える今日この頃です。
あわせて読みたい
Herokuの無料プラン終了に関していくつかブログ記事を書いています。
これまでHerokuの無料プランを利用していた人は参考にしてみてください。