はじめに
Web アプリケーションを運用している時に、作成したアプリケーションコードのエラーハンドリング不足などの原因で、Web サーバーが 500 エラーを立て続けに吐くことがあるけれど、Web サーバーや Worker Process を再起動するとなぜか直る、という様なシチュエーションに陥ることが、たまにあるかと思います。そういった場合、正攻法としてはアプリケーションコードの該当部分を修正するのがベストなのですが、取り急ぎの対応策として、エラーが発生したらとりあえずサーバーを再起動する、という場当たり的対応策を人力で取られた方も多いのではないでしょうか。
Azure App Services には、そういったシチュエーションで、事前に設定した閾値を超えた場合に自動的に Worker Process を再起動 (Recycle) するための仕組み (Auto Healing / 自動復旧) が用意されています。
この記事では、Azure App Services の自動復旧機能の構成方法について、ご紹介します。
Auto Healing の設定手順
※今回ご紹介する Auto Healing 機能は現在 Preview (Beta) 版での提供です。従って、SLA 的な保証は無しなのですが、この点ご理解いただいたうえでご活用いただければと!
- まずは、設定を行いたい App Service を Azure ポータルにて開きます。
- メニューから「問題の診断と解決」を開きます。









Auto Healing が動作したことをイベントログにて確認する
Auto Healing 機能を設定した "Azure App Service Support" の画面の、"Analyze" タブ中、"Event Viewer" 機能から、イベントログの確認が可能です。
イベント ID "2299" のイベントを確認することで、Worker Process がリサイクルされたことと、その理由を確認できます。
まとめ
Preview 機能ということで、保証こそないものの、アプリケーションの実際の稼働には影響の薄い部分かつ、万が一のトラブル時に人をはりつけておかなくてもとりあえずの復旧は出来る機能であることから、うまく活用することで省エネ運用ができるのではないでしょうか?
是非、お試しくださいませ!