Free dyno 時間
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
Last updated 27 May 2020
Table of Contents
すべての Heroku アカウントには Free dyno 時間のプールが割り当てられています。 アプリが free
dyno を使用するように設定されていて、以下のすべてに該当する場合、アプリによって Free dyno 時間が積極的に消費されます。
- トラフィックを受信する (休眠状態ではない) Web dyno がある。
- 実行中の Worker dyno がある。
- 実行中の One-off dyno がある (CLI またはスケジューラから開始された One-off dyno など)。
dyno のスリープ
アプリに Free Web dyno があり、その dyno が 30 分間 Web トラフィックを受信しない場合、その dyno は休眠状態になります。
Free Web dyno は休眠中、Free dyno 時間を消費しません。
休眠状態の Web dyno が Web トラフィックを受信すると、少しの遅延を経て Web dyno は再び有効になります (アカウントで Free dyno 時間が利用可能であることを前提としています)。
Worker dyno は Web リクエストに応答しないため、休眠状態にはなりません。Worker dyno は 24 時間年中無休で実行可能であるため、時間のプールを消費します。
場合によっては、Pingdom や New Relic などの監視によって Web dyno が休眠状態になるのを阻止されることがあります。heroku logs -t
を実行してアプリのログを表示し、このケースに該当している場合はこれらのサービスをオフにしてください。
使用
Free dyno 時間プール
アカウントには、月ごとに 550 時間の基本の Free dyno 時間が割り当てられています。この基本の時間のほかに、クレジットカードで認証を行っているアカウントには、月単位の Free dyno 割り当てに 450 時間が追加されます。 つまり、アカウントをクレジットカードで認証しているユーザーには、月ごとに合計で 1000 Free dyno 時間が割り当てられます。使用された Free dyno 時間は移動できません。使用済みの時間があるアプリケーションを別のアカウントに移動すると、そのアプリを元のアカウントで使用していたときに使用した部分は、翌月にリセットされるまでそのままになります。
その月の Free dyno 時間を使い切ると、そのアカウントの無料のアプリはその月が終わるまで強制的に休眠状態になります。
Free dyno 時間の確認
CLI を使用して、Free dyno 時間の残量を表示できます。 これを行うには、無料アプリのいずれかで heroku ps
を実行します。
$ heroku ps -a <app name>
650 free dyno hours (65%) used
350 hours remaining
=== web (Free): bundle exec puma -C config/puma.rb (1)
web.1: idle 2016/05/16 15:51:45 -0700 (~ 22h ago)
または、毎日リフレッシュされる Heroku Dashboard の請求ページで最新の残量を表示することもできます。
通知
Free dyno 時間割り当ての 80% 以上を使用すると、アプリ全体の Free dyno 使用を調整できるように、アカウントの使用について警告するメール通知が送信されます。
アカウントの割り当ての使用が 100% に達すると、2 回目の通知が送信され、この時点でアプリケーションの dyno はその月が終わるまで休眠状態になります。 これにともない、Free dyno を使用するすべてのアプリには、その月が終わるまでアクセスできなくなります。これは、有料アプリ (お使いの場合) には影響しません。有料アプリは引き続き使用できます。
Free dyno 使用の管理
- 使用していないアプリをスケールダウンし、One-off dyno が実行されていないことを確認します。
- 重要なアプリは Hobby dyno にアップグレードしてください。
- New Relic、Pingdom などの pinger や監視は、意図せずにアプリを起動したままにすることがあるため、これらをオフにします。