Tuesday 27 March 2012

Heroku でフリーのデータベースを利用

Herokuでアプリケーションをデプロイする際に魅力的なことの一つは、スケーリングが簡単ということです。小規模のアプリケーションであればデータベースを使用してもカスタムドメインを利用しても無料でデプロイできます。データの容量が大きくなってくればHerokuでスタンダードで用意されているオプションは割高なので、例えばAmazon S3のファイルサーバを利用したり、同じくAmzaonのデータベースサーバを利用する。まあリソースを拡大する前にアプリケーションのオプティマイゼーションをすることが前提ですが…。

私が今回作成しているアプリケーションはアジャイルでとにかく最低限のスペックのものをすぐに公開して必要なものを追加していくスタイルなので、データベースも無償のもので事足ります。

ただ少し困ったのは Heroku のドキュメンテーションを探しても全然 Basic の shared データベースを追加する方法が見つかりませんでした。簡単すぎることなので載せないのか、あまり無償のリソースの情報は載せたくないのか分からないですが…。結局 Herokuの addons のページで探し、Heroku Shared PostgreSQL のページでコマンド:

$ heroku addons:add heroku-shared-postgresql:basic

を見つけて解決しました。このコマンドを少し間違えて

$ heroku addons:add heroku:postgresql

として実行をしてしまうと、Herokuの一番最低価格の dedicated DB に契約してしまいます。最低限のプランはRoninで、最低といえども月に200 USDなので、ちょっとした間違いだと結構痛いです。

あとは

$ heroku pg:promote newdatabasename --app myapp

で新しく追加したデータベースがデフォルトで使用されるようになります。

これに結構時間を使ってしまいました。

No comments:

Post a Comment