1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

herokuでrailsアプリを本番運用する

Posted at

herokuのプラン

Free(無料プラン)

herokuは一応無料プランもあるが、30分間トラフィックがない場合自動的にシャットダウン(スリープ)してしまうため、本番環境としては使えない。基本的にはhobbyプランに入る。

Hobby

  • sleepしないで使える
  • 独自ドメインを使える

Dynoについて

Dynoとは、Herokuアプリケーションが実際に実行されるプラットフォームのことです。その実体は、Amazon EC2の巨大インスタンス上で動作する軽量Linuxコンテナです。ベースとなるOSはUbuntuであり、ユーザーの作成したアプリケーションはすべてDyno上で実行されます。大きな特徴として、Dynoのファイルシステムは揮発性であることが挙げられます。例えば、ブラウザからアップロードしたファイルをDynoのディスク上に保存しても、そのファイルはDynoがシャットダウンした際に失われます。

 Dynoは常にHerokuのDynoManagerによって監視されており、毎日1度は再起動されます。データを保存する際には必ずHeroku Postgresなどの外部ストレージを利用します。また、DynoはHerokuの課金のための単位でもあり、DynoのサイジングをどのようにするかはHerokuを運用する上で大きなポイントになります。

SSH設定について

Herokuで公開したアプリケーションには、デフォルトで https://xxxxx.herokuapp.com/ というURLが割り当てられ、そこからアプリケーションにアクセスします。このURLは先頭が(httpでなく)httpsとなっていますが、これは説明は省略しますがざっくり言うと「安全な」通信が行なわれるということを意味します。しかし実際にサービスを運用するときには、このデフォルトのURLではなく独自に他サービスで取得したドメインを使うのが普通です。Herokuでは独自のドメインさえ持っていれば、どの料金プランでも無料でデフォルトのURLから独自のhttpで始まるURLに置き換えて公開することが可能ですが、SSLアドオンを利用することで、Hobby以上の有料プランであればhttpsで始まる独自URLも無料で設定することができます

定期実行はcronではなくHeroku Scheduler

Heroku Scheduler

定期的に実行する処理は普通cronを使用することが多いと思うがherokuでは上記のアドオンがある。実行頻度は Daily/Hourly/Every 10min から選択することができる。

railsの設定方法

DBはpostgres

railsはpostgresがherokuはmysqlがデフォルトなのでaddonでpostgresを入れる。

そのままではheroku本番のDBの中身は見れない

本番のDBをみるためにはposticoで接続する。

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?