はじめに
Fargate で ALB を使う機会があり、ヘルスチェックを設定しました。
ヘルスチェックを実際にやったことがなかったので、調べつつやったのですが、その際に知ったこととかをまとめます。
ヘルスチェックで重要なこと
下記の記事によると、
そのヘルスチェックでどこの範囲の正常性を担保するか
これが重要なようです。
僕は、Fargate で nginx と php のコンテナを立てており、それらのヘルスチェックをする際に、はじめは nginx でヘルスチェックを行っていました。
nginx でのヘルスチェックは、下記の様に empty_gif を返すのが一般的みたいです。
location = /healthcheck.html { empty_gif; access_log off; break; }
ただ、途中で、「これだと、nginx の起動は確認できても、php のコンテナ 死んでてもわからなくない?」って思い、結果的に以下のようにしました。
Laravel を使っていたので、web.php
にヘルスチェック用のパスを作りました。
これで、php の動作確認もできるようになりました!!!
Route::get('/healthcheck', function() { return 'health ok'; });