MagicOnionで動くサーバーアプリケーションをデプロイしていて、albのヘルスチェックを通す必要があった。C#で実装自体はやり方が書いてあって learn.microsoft.com
builder.Services.AddGrpcHealthChecks() .AddCheck("sample", () => HealthCheckResult.Healthy());
app.MapGrpcHealthChecksService();
でヘルスチェックを実装できることは分かった。ただ、公式ページにはC#でヘルスチェックを呼び出す方法はあったが、AWSのALB(厳密にはターゲットグループ)でヘルスチェックを通すためにどうすれば良いかわからなくてちょっと躓いたのでメモ
単にパスに
/grpc.sample.v1.Health/Check
と指定すればよいだけだった。grpcのヘルスチェックの実装には仕様があり、
その仕様によるとCheck()を呼び出すことでヘルスチェックができる。ターゲットグループのパスはhogehoge.co/index.htmlの /index.htmlと同等で、通常のwebアプリならヘルスチェックようのエンドポイントを用意してそれを指定すればよいが、grpcの場合は特殊な記法が指定する必要があってこのような記載になっているらしい