Railway/Reference
ヘルスチェック
Railwayのヘルスチェックについて学びます。
著者: AIイノベーションズ 阿部隼也(X / Twitter)ヘルスチェック
ヘルスチェックは、デプロイされたサービスが正常に動作しており、トラフィックを受け付ける準備ができていることを確認するための重要なメカニズムです。
仕組み
サービスにヘルスチェックパスを設定すると、Railwayは新しいデプロイメントが開始された後、そのパスに定期的にHTTPリクエストを送信します。
- アプリケーションがステータスコード
200 OK
で応答した場合、デプロイメントは正常と見なされ、トラフィックの受信を開始します。 - アプリケーションが
200 OK
以外のステータスコードを返すか、タイムアウト内に応答しない場合、ヘルスチェックは失敗と見なされます。 - 一定回数の試行後もヘルスチェックが失敗し続ける場合、Railwayはデプロイメントを失敗とみなし、自動的に以前の正常なデプロイメントにロールバックします。これにより、ゼロダウンタイムデプロイが保証されます。
ヘルスチェックのタイムアウト
ヘルスチェックリクエストが応答を待つ最大時間を設定できます。この時間を超えると、リクエストは失敗と見なされます。サービスの起動時間や応答時間を考慮して、適切なタイムアウト値を設定することが重要です。
サポート
ヘルスチェックは、HTTPベースのサービスでサポートされています。TCPベースのサービスや、ボリュームがアタッチされているサービスでは、現在ヘルスチェックはサポートされていません。
ヘルスチェックの設定に関する詳細や問題については、ドキュメントを参照するか、サポートにお問い合わせください。
PR