Eco dyno 時間
最終更新日 2023年04月27日(木)
Table of Contents
Eco dyno はアカウント内のアプリを実行するための経済的な方法です。Eco dyno プランでは、Eco dyno 時間の月単位のプールが提供されます。このプールはアカウント内のすべての Eco dyno で共有されるため、5 ドルの均一な月額料金で複数のアプリを実行することが可能です。Eco dyno は dyno 時間を節約するために、アイドル状態が一定期間続いた後で自動的にスリープします。
個人アプリのみが Eco dyno を使用できます。個人アプリとは、Heroku Team や Enterprise Team の一部ではないアプリのことです。
プランの情報
Eco dyno プランでは、月あたり 1000 dyno 時間が 5 ドルで提供されます。この dyno 時間プールは、アカウント内のすべての Eco dyno で共有されます。
Eco dyno プランは毎月の第 1 日目に常に更新されます。
第 1 日目以降に Eco をサブスクライブしても、その月は満額の 5 ドルが課金されます。プランはいつでもサブスクライブ解除できます。
Eco dyno プランのサブスクライブ
Eco dyno をスケールアップするには Eco dyno プランをサブスクライブする必要があります。アカウントの Billing
ページからサブスクライブできます。
Eco dyno 時間プール
Eco dyno をスケールアップする前に、アプリ所有者は Eco dyno プランをサブスクライブする必要があります。プランをサブスクライブすると、現在の月に 1000 dyno 時間がただちに与えられます。
アプリが eco
dyno を使用するように設定されていて、以下のすべてに該当する場合、アプリによって Eco dyno 時間が積極的に消費されます。
- トラフィックを受信できる (休眠状態)ではない) Eco Web dyno がある。
- 実行中の Eco Worker dyno がある。
- 実行中の One-off Eco dyno がある。たとえば、CLI または Heroku Scheduler で開始されたものなど。
Eco dyno 時間は移動できません。アプリケーションを別のアカウントに移動すると、そのアプリを元のアカウントで使用していたときの使用量は、翌月にリセットされるまでそのままになります。
ユーザーが所有して Eco dyno を使用する個人アプリとパイプラインが dyno 時間を消費します。レビューアプリ、Heroku CI、またはパイプラインのその他の部分で使用される Eco dyno が、Eco dyno 時間の使用にカウントされます。
たとえば、今月はレビューアプリで 1 つの Eco dyno が 5 秒間実行し、ステージングアプリで別の Eco dyno が 7 分間実行したとします。当月の dyno 時間プールには、999 時間 52 分 55 秒残っています。
自分が別の誰かのアプリまたはパイプラインの共同作業者である場合、Heroku では、自分ではなくアプリ所有者の Eco dyno 時間に対して dyno 使用量がカウントされます。そのアプリの Eco dyno をスケールアップする前に共同作業者として Eco をサブスクライブする必要はなく、アプリ所有者がサブスクライブを行います。
dyno のスリープ
アプリに Eco Web dyno があり、その dyno が 30 分間 Web トラフィックを受信しない場合、その dyno は休眠状態になります。 Web dyno が休眠状態になることに加えて、Worker Eco dyno がある場合はこれも休眠状態になります。
Eco Web dyno は休眠中、Eco dyno 時間を消費しません。
休眠状態の Web dyno が Web トラフィックを受け取り、アカウントに dyno 時間がある場合、dyno はしばらく遅延した後で再びアクティブになります。
Eco Worker dyno のみを利用するアプリは Web リクエストに応答しないため、休眠状態にはなりません。Worker dyno は 24 時間年中無休で実行可能であるため、時間のプールを消費します。
場合によっては、Pingdom や New Relic などの監視によって Web dyno が休眠状態になるのを阻止されることがあります。heroku logs -t
を実行してアプリのログを表示し、このケースに該当している場合はこれらのサービスをオフにしてください。
残っている Eco dyno 時間
その月の Eco dyno 時間を使い切ると、そのアカウントの Eco dyno はその月が終わるまで強制的に休眠状態になります。追加の dyno 時間を購入することはできません。アプリを稼動させる必要がある場合、Basic dyno ($0.01/hr) にアップグレードできます。
CLI を使用して、アカウントの Eco dyno 時間の残量を表示できます。 Eco dyno を使用するいずれかのアプリで heroku ps
を実行します。
$ heroku ps -a example-app
650 eco dyno hours (65%) used
350 hours remaining
=== web (Eco): bundle exec puma -C config/puma.rb (1)
web.1: idle 2022/11/28 15:51:45 -0700 (~ 22h ago)
あるいは、ダッシュボードの Billing
page でも、残っている時間を確認できます。統計情報は日次で更新されます。
通知
Eco dyno 時間割り当ての 80% 以上を使用すると、アプリ全体の Eco dyno 使用を調整できるように、アカウントの使用について警告するメール通知が送信されます。
アカウントの割り当ての使用が 100% に達すると、2 回目の通知が送信され、この時点でアプリケーションの dyno はその月が終わるまで休眠状態になります。 これにともない、Eco dyno を使用するすべてのアプリには、その月が終わるまでアクセスできなくなります。
Eco dyno プランのサブスクライブ解除
ダッシュボードの Billing
page で、Eco dyno プランのサブスクライブを解除することができます。
プランをキャンセルすると、次のようになります。
- 現在の月末まで、残った時間のプールを引き続き使用できます。
- 時間がなくなったら、その月の最後まで、すべての Eco dyno が休眠状態になります。
- 翌月は、Eco dyno プランを再びサブスクライブしない限りすべての Eco dyno スケールが 0 になります。
- サブスクライブ解除したのと同じ月に Eco を再びサブスクライブした場合、以前の使用量が保持されるため、翌月まで再び課金されることはありません。
Eco dyno の使用の管理
- 使用していないアプリをスケールダウンし、One-off dyno が実行されたままでないことを確認します。
- 重要なアプリは Basic dyno にアップグレードしてください
- New Relic、Pingdom などの pinger や監視は、意図せずにアプリを起動したままにすることがあるため、これらをオフにします。