yynsmk's tech blog

何でもできる=何にもできない

ヘルスチェックについてよくわかってなかったので勉強しました

はじめに

Fargate で ALB を使う機会があり、ヘルスチェックを設定しました。
ヘルスチェックを実際にやったことがなかったので、調べつつやったのですが、その際に知ったこととかをまとめます。

ヘルスチェックで重要なこと

下記の記事によると、

そのヘルスチェックでどこの範囲の正常性を担保するか

これが重要なようです。

blog.xcir.net

僕は、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';
});

参考リンク

norm-nois.com