New Relicサービスを使って、Herokuのスリープを回避する!

New Relicサービスを使って、Herokuのスリープを回避する!Heroku

HerokuでWebアプリケーションを立ち上げた場合に、無料枠で作成すると30分でサービスがスリープします。
その後アクセスすると、ページが開くまでに時間がかかってしまいます。
スリープを回避しておけば、いつアクセスしてもすぐにレスポンスが返ってくるようになります。

今回はNew Relicというサービスを使用して、スリープしてしまうのを回避する方法を紹介します。

無料のHerokuに割り当てられる時間やスリープについて

2021年9月現在で、Herokuに登録すると初めは無料で550時間割り当てられます。

デプロイしたHerokuが稼働することで時間が減っていきます。
複数デプロイして、それぞれ稼働すると、合算した稼働時間が割り当てられている時間から減っていきます。
この時間は毎月消費した分、回復して割り当てられます。

時間がなくなるとアクセスできなくなります。
スリープすると、そこからは消費されなくなります。

1ヶ月は720時間(30日 × 24時間 = 720時間)になるので、登録した状態でスリープなしで稼働すると、時間がなくなってしまいまいます。
クレジットカードを登録しておくと、使用できる時間が1000時間まで増えます。

なので、スリープを回避して無料枠のまま使う場合はクレジットカードを登録しておいた方がいいです。
登録していない場合は、月の後半で動かなくなってしまいます。

クレジットカードを登録する場合は、Herokuにログインして「Account Settings」のメニューから、Billingタブを選んで登録することができます。

New Relicに登録して回避する

New Relicはシステムパフォーマンスを管理するツールです。
無料で使用することができます。公式サイトは下記になります。
Deliver more perfect software
Work smarter and solve problems faster with a unified view of your software and systems.

今回はNew Relicから、Herokuにデプロイしたアプリケーションにpingを投げてスリープするのを回避します。

New Relicのアカウントを登録する

New Relicのトップページから「Sign up」ボタンをクリックして、ユーザーを作成します。

ユーザー名とメールアドレスを入力します。
New Relicのアカウント登録(サインアップ画面)

メールを送信したという画面になるので、メールをチェックします。
New Relicのアカウント登録(メール送信完了画面)

メールのリンクをクリックすると、パスワード入力画面になるのでパスワードを入れて、「Save Password」ボタンをクリックします。
New Relicのアカウント登録(パスワード入力画面)

後はデータセンターをアメリカまたはヨーロッパから選びます。「Save」ボタンをクリックすると登録完了です。
New Relicのアカウント登録(データセンターを選ぶ)

New Relicを使って、Herokuにpingを投げる

登録後に下記のような画面になりますが、無視して大丈夫です。
New Relicの登録後

https://one.newrelic.comに移動します。
下記のような画面になるので、「add more data」をクリックします。

New RelicでAdd more dataを選択

「Simulate traffic」の「New Relic Synthetics」を選択します。
Simulate trafficを選択

「Availability」を選択します。
Availabilityを選択

わかりやすい名前と、スリープを回避したいHerokuのURLを入力します。
入力したら「Select Locations」ボタンをクリックします。
Select Locationsを選択

Loactionを選んで、「Save monitor」ボタンをクリックすると設定完了です。
Save monitorでモニタリングを開始する

設定完了後、ダッシュボードの「Synthetic monitors」から対象を選択すると下記のようにSuccess rate(成功率)が表示されて、動いていることが確認できます。
New RelicでSuccess rateを確認

これでHerokuのアプリケーションに対して、15分おきにpingを飛ばしてくれるのでスリープしなくなります。

終わりに

以上で、Herokuがスリープしないように設定が完了しました、簡単に設定ができたかと思います。

Heroku側では、「Account Settings」のメニューから、Billingタブから消費した時間を確認することができます。
何時間かおきに確認すると、減っていっているのがわかります。

コメント

タイトルとURLをコピーしました