Skip to content
shunter1112 edited this page Aug 26, 2013 · 1 revision
デフォルトではメンテナンスモードのページはスタイルが適応されていません。もしカスタムデザインが必要な場合、[カスタムエラーページ](/articles/error-pages)を確認してください。

もし、大きなマイグレーションを伴うデプロイをしていたり、一定時間の間アプリケーションに対するアクセスを不可にする必要がある場合、メンテナンスモードでのHerokuのビルドを利用することができます。これは、あなたにOne-off Dynoの実行を許可しながらも、全ての訪問者に対して静的なページを表示させることができます。

使い方

以下のように有効化します :

:::term
$ heroku maintenance:on
Enabling maintenance mode for myapp... done

アプリケーションの準備が一度整ったならば、メンテナンスモードを以下のように無効化することができます :

:::term
$ heroku maintenance:off
Disabling maintenance mode for myapp... done

また、いつでもアプリケーションのメンテナンスステータスを確認することができます :

:::term
$ heroku maintenance
off

カスタマイズ

また、エラーページを使って、メンテナンスモードに入るときに表示する自分のコンテンツを作る事が出来ます。

使うためには、MAINTENANCE_PAGE_URLを設定してください :

:::term
$ heroku config:set MAINTENANCE_PAGE_URL=http://s3.amazonaws.com/your_bucket/your_maintenance_page.html

完全な詳細はエラーページのドキュメントを確認してください。

Dynoの実行

メンテナンスモードの有効化、または無効化は、通常Dynoの実行を変えることはありません。Web Dynoはその前の状態同様動き続けますが、ルータによってリクエストがブロックされることによってHTTPリクエストを受信しなくなります。Worker Dynoなどの別のタイプのDynoもまた、動き続けます。

いくらかの場合、メンテナンスモードが有効の時にDynoの数を減らしたいと思うかもしれません。例えば、マイグレーション中にバックグラウンドのプロセスが動いていないことが必要なデータベースのマイグレーションを実行している場合などです。heroku scaleを使ってDynoの数を減らす事が出来ます :

:::term
$ heroku maintenance:on
Enabling maintenance mode for myapp... done
$ heroku scale worker=0
Scaling worker processes... done, now running 0

もし、メンテナンスモードを有効化した後にDynoの数を減らす場合、アプリケーションに対するトラフィックを戻す前に、Dynoの数を元に戻すのを忘れないでください。

heroku runを使って、メンテナンスモードが有効な間でも普通にOne-off Dynoを実行することができます。

Clone this wiki locally