前書き
ELBへのヘルスチェック先の準備をしていて、「ファイル管理するの面倒だなー」と思っていた際に試してみてうまくいったことのメモ。
本題
以前からnginxでのIP制限などで403を返させるための設定でreturn 403;
を使えばいいという部分は知っていたのですが、「あれステータスコード何でも返せるんじゃね?」と思って書いてみたのが以下の設定
対HealthCheck用
server {
listen 80 default_server;
server_name _;
access_log off;
location / {
return 200;
}
}
要点としては、
-
listen
時にdefault_serverを指定しているので、ヘルスチェックにありがちなIPアドレス指定のリクエストの受け皿になる -
access_log none;
を指定しているので、わりかしどうでもいいヘルスチェックのアクセスログを出さない -
location
内で全てのリクエストは200を返すことで、サーバーが死んでいないことを伝えられる
document_rootを用意する必要もないのでとりあえず差し込んでおけば、ヘルスチェックは簡単にできそうです。
補足事項
あくまで「nginxが生きているか」以上のチェックはしてくれないので、外部からのサービスチェックなどはちゃんとしましょう。