Renderとは
Renderは簡単にアプリなどのサービスを公開できるホスティングサービスです。
利用できる言語や機能も豊富でありながら、価格も抑えられた良いサービスです。
無料プランについて
Renderには複数のプランが存在していますが、無料プランでも豊富な機能が利用できます。
詳細は公式サイトのhttps://render.com/pricing をご覧いただければと思いますが、簡単なサイトの公開であれば、無料プランでも十分対応できます。
少し難点なのは無料プランの場合、DBが3ヶ月でリセットされてしまうという点です。DBを利用しないサービスであったり、とりあえずプロトタイプを作ってみるという場合には問題ないのですが、サービスを長期間維持し続けるためには結構痛手です。
DBを無料プランで使い続ける方法
有料プランに変更するという手もあるかと思いますが、ここでは無料プランを利用したまた、DBも維持し続ける方法について記載しようと思います。
私たちのプロジェクトではDBeaverというツールを利用しているため、そちらをもとに解説していきます。他のDBツールを利用していてもあまり差はないと思います。
大まかな流れはこんな感じです。
- DBのダンプファイルを作る
- RenderでDBを削除する
- Renderで新しいDBを作成する
- ダンプファイルを使用し、新しいDBでデータを復元する
DBのダンプファイルを作る
- DBeaverでRenderのDBに接続
a. Host:Renderの管理画面 > Connections > Hostnameに.singapore-postgres.render.com
を付加したもの(DBのゾーンが異なる場合はそこだけ変更)
b. Database:Renderの管理画面 > Connections > Database
c. ユーザー名:Renderの管理画面 > Connections > Username
d. パスワード:Renderの管理画面 > Connections > Password - DBeaverで(追加したデータベース) > データベース > (追加したデータベース)を右クリックし、ツール > バックアップを選択
- publicを選択
- Output folder patternに任意のフォルダを設定し、開始を押下
- ファイルが出力されたことを確認する
DBに外部から接続する場合には、Hostnameの後ろに{リージョン}-postgres.render.com
をつける必要があるので、お忘れなく
RenderでDBを削除する
これはRenderの管理画面から簡単にできるで割愛。
Renderで新しいDBを作成する
こちらもRenderの管理画面から簡単にできるので割愛。
RegionやSQLのバージョンなどは元のものと揃えてください。
ダンプファイルを使用し、新しいDBでデータを復元する
- DBeaverでRenderの新しいDBに接続します
a. ホスト名やDB名が変わっていますので、そこだけ変更をお忘れなく - その後DBeaverで(追加したデータベース) > データベース > (追加したデータベース)を右クリックし、ツール > リストアを選択
- バックアップしたファイルを選択し、リストアを開始する
- モーダルが出た場合はOKを押す
その他
- SQLのバージョンはRenderとローカルで同じものを利用した方が良いです
- RenderにデプロイするアプリのDB接続に必要な情報はenvファイルなどの環境変数で保持しておき、DBの更新時に環境変数を更新する形にすると楽です(環境変数の更新はRenderの管理画面から行えます)
- ソースコードを変更してデプロイすることもできますが、少し面倒なので
- 正式にリリースしているサービスの場合は、作業開始前にメンテナンスモードへの切り替えを行なってください