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アプリケーション作成手順」を体系的に学びたい方には、以下がおすすめです。無料体験もあるので、検討する価値ありです。
【まとめ】Herokuの無料プラン(dyno)でスリープを回避する手順【方法4つ】
いかがでしたでしょうか?「無料プラン(dyno)におけるスリープとは何か?」、「スリープが発生する原因は?」、「スリープを回避する4つの方法」を解説し、以下の悩みを解決しました。
★悩み★
・無料プラン(dyno)にデプロイしたサイトの表示が時たま遅いけど理由は?
・無料プラン(dyno)のスリープを回避し、24時間稼働させる方法ってない?
・Herokuの無料プラン(dyno)でスリープを回避する手順を知りたい。
「UptimeRobot」または「Heroku Scheduler」などを利用することで、「無料プラン(dyno)にデプロイしたサイトを24時間常時起動」できます。ぜひあなたも本記事を参考に「無料プラン(dyno)でスリープを回避」を実践してください。
コメント