【方法4つ】Herokuの無料プラン(dyno)でスリープを回避する手順


Herokuの無料プランの提供は、2022年11月28日で終了しました。
 

★悩み★
・無料プラン(dyno)にデプロイしたサイトの表示が時たま遅いけど理由は?
・無料プラン(dyno)のスリープを回避し、24時間稼働させる方法ってない?
・Herokuの無料プラン(dyno)でスリープを回避する手順を知りたい。


こういった「悩み」に答えます。

 

★本記事の内容★
① Herokuの無料プラン(dyno)における「スリープとは何か?」を解説
② Herokuの無料プラン(dyno)でスリープを回避する手順を解説



これからご紹介する「【方法4つ】Herokuの無料プラン(dyno)でスリープを回避する手順」を実践したことで、筆者は10分以内で「Herokuの無料プラン(dyno)でスリープを回避させることに成功(常時起動を実現)」しました。

記事の前半では「Herokuの無料プラン(dyno)における『スリープとは何か?』」を解説します。記事の後半では「Herokuの無料プラン(dyno)でスリープを回避する4つの方法」を紹介します。

この記事を読み終えることで、「Herokuの無料プラン(dyno)でデプロイしたサイトを24時間スリープなし(常時起動)で稼働できる」状態になります。
 

★Herokuとは★
Herokuは、「データとアプリのプラットフォーム」を提供するクラウドサービスです。Herokuを使用することで、Pythonなどで開発したWebアプリケーションを簡単に全世界へ公開できます。
Herokuの特徴(メリットとデメリット)やユースケースを知りたい方には、以下の記事がオススメです。
>> 【要点】Herokuとはを解消!初心者向けに特徴から使い方まで解説


 

Herokuの無料プラン(dyno)における「スリープとは何か?」を解説


Herokuの無料プラン(dyno)における「スリープとは何か?」に関して解説します。
 

無料プラン(dyno)を使うと発生する「スリープとは何か?」を説明しますね。



Herokuの無料プラン(dyno)で発生する「スリープ」とは、以下のことです。
 

★Herokuの無料プラン(dyno)で発生する「スリープ」とは?★
□ 発生原因
無料プラン(dyno)でデプロイしたアプリに対して、30分間アクセスがなかった場合、スリープ状態になります。

□ 問題
スリープ状態になると、次回アクセス時のレスポンスが遅れます。

□ 事例
無料プラン(dyno)でデプロイしたサイトの表示が著しく遅くなります。(通常時だと3秒だったものがスリープ時だと数10秒になることも)

参照:無料プラン(dyno)のスリープについて(公式サイト)



上記の「Herokuの無料プラン(dyno)で発生する『スリープ』」を防ぐ方法として、以下があります。
 

★Herokuの無料プラン(dyno)で発生する『スリープ』を防ぐ方法★
無料プラン(dyno)でデプロイしたアプリに対して、30分間アクセスがない状態にしない。すなわち、20分間隔ぐらいで、無料プラン(dyno)でデプロイしたアプリにアクセスすれば、「スリープ」を抑止できます。



以上が、「Herokuの無料プラン(dyno)における『スリープとは何か?』を解説」となります。
 

Herokuの無料プラン(dyno)でスリープを回避する手順


「Herokuの無料プラン(dyno)でスリープを回避する手順」に関してご紹介します。

★Herokuの無料プラン(dyno)でスリープを回避する4つの方法★
回避方法①:UptimeRobot(外部サービス)を利用
回避方法②:Heroku Schedulerを利用
回避方法③:Heroku の Custom Clock Processesを利用
回避方法④:自端末(Linuxマシン)のcronを利用



上記の方法で、「Herokuの無料プラン(dyno)でスリープを回避」できます。
 

上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2021年内



以降で、上記「Herokuの無料プラン(dyno)でスリープを回避する4つの方法」の各回避方法に関してご説明します。
 

回避方法①:UptimeRobot(外部サービス)を利用

「回避方法①:UptimeRobot(外部サービス)を利用」に関して解説します。
 

死活監視ウェブサービスである「UptimeRobot」を利用することで、スリープを回避できます。もちろん、無料で利用できます。ただし、アカウント作成が必要です。



UptimeRobotの使い方に関しては、以下の記事をご覧ください。
 



以上が、「回避方法①:UptimeRobot(外部サービス)を利用」となります。
 

回避方法②:Heroku Schedulerを利用

「回避方法②:Heroku Schedulerを利用」に関して解説します。
 

Herokuの1つの機能である「Scheduler」を利用することで、スリープを回避できます。もちろん、無料で利用できます。ただし、クレジットカードの登録が必要です。



Heroku Scheduler の使い方に関しては、以下の記事をご覧ください。
 



以上が、「回避方法②:Heroku Schedulerを利用」となります。
 

回避方法③:Heroku の Custom Clock Processesを利用

「回避方法③:Heroku の Custom Clock Processesを利用」に関して解説します。
 

Herokuの1つの機能である「Scheduler」を利用することで、スリープを回避できます。もちろん、無料で利用できます。ただし、プログラムの作成が必要です。



Heroku の Custom Clock Processes の使い方に関しては、以下の記事をご覧ください。
 



以上が、「回避方法③:Heroku の Custom Clock Processesを利用」となります。
 

回避方法④:自端末(Linuxマシン)のcronを利用

「回避方法④:自端末(Linuxマシン)のcronを利用」に関して解説します。
 

Linuxの「cron機能(crontab)」を利用することで、スリープを回避できます。もちろん、無料で利用できます。ただし、Linuxを常時起動しておく必要があります。



cron機能(crontab)の使い方に関しては、以下の記事「ステップ3:Dynamic DO!.jpのDNSを定期的に更新」をご覧ください。
 



以上が、「回避方法④:自端末(Linuxマシン)のcronを利用」となります。
 

スリープの回避方法として4つの方法を紹介しました。お手軽さ的に「UptimeRobot」または「Heroku Scheduler」の利用をお勧めします。



ちなみに、「Herokuを用いたWebアプリケーション作成手順」を体系的に学びたい方には、以下がおすすめです。無料体験もあるので、検討する価値ありです。

TechAcademy「Webアプリケーションコース」(無料体験あり)


 

【まとめ】Herokuの無料プラン(dyno)でスリープを回避する手順【方法4つ】


いかがでしたでしょうか?「無料プラン(dyno)におけるスリープとは何か?」、「スリープが発生する原因は?」、「スリープを回避する4つの方法」を解説し、以下の悩みを解決しました。
 

★悩み★
・無料プラン(dyno)にデプロイしたサイトの表示が時たま遅いけど理由は?
・無料プラン(dyno)のスリープを回避し、24時間稼働させる方法ってない?
・Herokuの無料プラン(dyno)でスリープを回避する手順を知りたい。



「UptimeRobot」または「Heroku Scheduler」などを利用することで、「無料プラン(dyno)にデプロイしたサイトを24時間常時起動」できます。ぜひあなたも本記事を参考に「無料プラン(dyno)でスリープを回避」を実践してください。

コメント