Unselected Kid Blog

プログラミングを中心に好きなことを好きなように書くブログ

Heroku PostgreSQLをAWS RDSに変更した話

はじめに

今回は自分の運営するamazonの家具を寸法と価格から検索できる「家具サイズ検索」のDBコスト削減のためにRDSに変更したので備忘録として記事にしておきます。 これまではアドオンのHeroku Postgresを利用しており$9かかっておりRDSに移行することにしました。(RDSはdb.t2.microは100%稼働なら月額$13.03以上)

RDSの設定

下のサイトを参考にインスタンスを作成しました。画像付きで丁寧に解説してくれおり見ながら行えばすぐに終わります。
https://segment.com/docs/warehouses/postgres/

ここで気をつけるのはVPCの設定がデフォルトでなくCreate New VPCを選ぶことだけです。 あとはセキュリティグループでインラインのPostgreを0.0.0.0/0に変更します。

Herokuの設定

今までHeroku Postgres :: Databaseを使っているならバックアップして消しちゃってください。(自分の場合は既存データが不要だったので気にせず消しちゃいました) でないとコンフィグ書き換えのときにエラーが出ます。

heroku addons:destroy heroku-postgresql -a [heroku_app_name]

あとは下を参考に
Amazon RDS | Heroku Dev Center

コンフィグを書き換えるべく以下を実行してください。([user_name]、[passwd]、[host_name]、[port]、[db_name]、 [heroku_app_name]は適切な値に書き換えてください。)

heroku config:add DATABASE_URL="postgres://[user_name]:[passwd]@[host_name]:[port]/[db_name]?sslca=config/amazon-rds-ca-cert.pem" -a [heroku_app_name]

あとはrakeしたら終わりです! おつかれサマー