先日公開した FeedlyGraph のホスティングを移行した。
乗り換えた経緯
Heroku の無料枠を超えたことがきっかけ。
アプリケーションは問題なかったが、問題は DB。
Postgress は 10k rows までが無料枠だった。
(よく確認してなかった。容量制限だろうと油断した)
サービスの性質上、Feedly購読者数のレコードが毎日ガンガン増えるため、1ヶ月足らずで突破していた。
Heroku の DB を有料で使うとすると、$9 / 10k rows か、$50 / month が候補。
流行ってないプライベートプロジェクトでそれほどのコストをかけるのはつらい。
少し気になっていた Sqale を調べてみると、月額940円で DBは2GBついてくる。
ということで Sqale に移行することに。
移行でやったこと
アプリケーションを修正
Gemfile を修正。
移行前(Heroku)
group :production, :staging do gem 'pg', '0.15.1' gem 'rails_12factor', '0.0.2' end
移行後(Sqale)
group :production, :staging do gem 'mysql2' end
database.yml を修正。
移行前(Heroku)
Rails 初期状態なのでカット。
移行後(Sqale)
production: adapter: mysql2 encoding: utf8 username: { username } password: { password } database: { database_host } host: mysql001.sqale.jp
DB の移行
Heroku 上の Postgres をエクスポート
pgAdmin3 を使って接続し、ローカルにエクスポートした。
pgAdmin: PostgreSQL administration and management tools
Sqale 上の mysql にインポート
Qiita の記事を参考にデータを加工。
PostgreSQLのデータをMySQLに移行する - Qiita
あとは ssh で Sqale 上のマシンに接続。
mysql で直接 SQLを読み込ませてインポート。
Cron
Heroku の Scheduler でやっていたタスクを Cron に移行した。
Sqale - Sqale の特長
NewRelic
特に変更なし。
Heroku 上でアドオン削除すると何か起きそうで不安だったけど、問題なし。
ドメイン
ドメインの割り当てを Heroku のサーバから Sqale のサーバに変更。
自宅からは 5分くらいで変わっていた。
2日くらいしたら Heroku を削除しても大丈夫なはず。
最後に
極力無料の範囲内でやるつもりだったけど、少しコストをかけてでもサービスを続けたほうが問題が起きて勉強になる気がするので続けてみる。
元は取れないだろうけど、お世話になることだし、Sqale の広告でも入れてみようか。
ペパボの教科書 インターネットサービスではじめる、あたらしい自分
- 作者: paperboy&co.
- 出版社/メーカー: ホーム社
- 発売日: 2013/11/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る