クラウド
中級

ヘルスチェック(ヘルスチェック)

サービス生存確認する定期診断。Kubernetes liveness/readiness/startup probe・AWS ELB HealthCheck・Cloudflare Health Monitoringが代表で、/healthz・/readyz エンドポイントが慣習。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
Kubernetes
probe
ELB
/healthz

概要

ヘルスチェックは、クラウド環境やコンテナ化されたサービスにおいて、アプリケーションの正常稼働を保証するための定期診断手法です。
サービスがリクエストを受け付ける前に、内部状態を確認するエンドポイント(例:/healthz、/readyz)を設置し、Kubernetes の liveness / readiness / startup probe、AWS ELB HealthCheck、Cloudflare Health Monitoring などが代表的な実装です。
これらは、障害検知と自動復旧を高速化し、稼働率を最大化するために不可欠です。

主な特徴・仕組み

  • 状態確認の頻度:10 秒から 60 秒の間隔で自動実行。
  • 応答形式:JSON でステータスコード 200 を返却することが多い。
  • Kubernetes のプローブ:
    • liveness はプロセスが死んでいないかを確認。
    • readiness はリクエストを受け付ける準備ができているかを確認。
    • startup は起動時に長時間実行され、サービスが完全に起動したかを判断。
  • ELB 健康チェック:TCP/HTTP/HTTPS で 5 秒以内に応答があるかを確認。
  • Cloudflare Health Monitoring:外部からのアクセスを監視し、応答時間やステータスコードを収集。
  • カスタムエンドポイント:/healthz(一般的な状態確認)、/readyz(準備完了確認)を実装することで、サービス固有の診断ロジックを組み込める。
  • 自動再起動:障害検知後、Kubernetes は自動で Pod を再起動し、ELB はインスタンスを除外。
  • 可視化:Prometheus などでメトリクスを集約し、Grafana でダッシュボード化。
  • スケーラビリティ:マイクロサービス全体でヘルスチェックを統一することで、全体の可用性を一元管理。
  • セキュリティ:認証付きエンドポイントを設定し、内部ネットワークからのみアクセス可能にする。

スペック/製品比較表

製品名CPUGPUメモリストレージTDPL3 キャッシュPCIe バージョン速度価格帯
Intel Core Ultra 9 285K8 コア / 16 スレッド-24GB DDR5-60001TB SSD120W32MBPCIe 5.0 x165.7GHz25000円
RTX 4090-24GB GDDR6X--450W72MBPCIe 4.0 x16-120000円
Samsung 990 Pro---2TB NVMe--PCIe 5.0 x43,440x1,44050000円
AMD Ryzen 9 7950X16 コア / 32 スレッド-64GB DDR5-48001TB SSD170W64MBPCIe 5.0 x165.7GHz30000円
NVIDIA A100-40GB HBM2--400W40MBPCIe 4.0 x16-200000円

具体例・対応製品

  • Kubernetes
    • livenessProbe:/healthz を 10 秒ごとにチェック。
    • readinessProbe:/readyz を 5 秒ごとにチェック。
    • startupProbe:起動時に 60 秒間は 30 秒ごとにチェック。
  • AWS ELB
    • HTTP 健康チェックで /healthz を 30 秒ごとに確認。
    • タイムアウトは 5 秒、失敗は 2 回連続で判定。
  • Cloudflare
    • 1 分ごとに /healthz を監視し、応答時間が 200ms を超えるとアラート。
  • 自作PC
    • Ubuntu 22.04 上で systemd の HealthCheck ユニットを作成し、curl /healthz を 15 秒ごとに実行。
  • IoT デバイス
    • ESP32 で /healthz を 5 秒ごとに HTTP GET。
  • ゲームサーバ
    • Minecraft サーバで /healthz を 1 分ごとに確認し、応答が無い場合に自動再起動。

自作PCでの選び方・注意点

  1. CPU のコア数:ヘルスチェック処理は軽量だが、同時に複数サービスを走らせる場合は 8 コア以上を推奨。
  2. メモリ容量:24GB 以上で複数プローブを同時に実行しても遅延が生じない。
  3. ストレージ速度:NVMe 990 Pro など 3,440x1,440 の読み書き速度で、ログの書き込み遅延を抑える。
  4. 電源容量:450W 以上の PSU を確保し、ヘルスチェックのための追加負荷を吸収。
  5. ネットワークカード:10GbE 以上の速度で外部監視サービスとの通信を高速化。
  6. 冷却性能:CPU と GPU の TDP が高い場合は 120W 以上の水冷を検討。
  7. OS の選択:Linux 系がプローブの設定が柔軟。Windows では PowerShell スクリプトで実装。
  8. 監視ツール:Prometheus + Grafana の組み合わせで可視化。
  9. セキュリティ:ファイアウォールで 127.0.0.1 からのみ /healthz を許可。
  10. バックアップ:設定ファイルを Git で管理し、失敗時に素早く復元。

関連用語との違い

  • ハートビート:システム全体の稼働を短周期で確認するもので、ヘルスチェックはより詳細な状態を返す。
  • ステータスページ:外部に公開される稼働情報。ヘルスチェックは内部でのみ利用されることが多い。
  • ロードバランサーのヘルスチェック:外部からの接続を管理するが、ヘルスチェックはサービス内部の状態を確認。
  • クラッシュダンプ:障害発生時に取得されるが、ヘルスチェックは障害前に予防的に検知。

よくある質問(FAQ)

  1. ヘルスチェックを設定する際に、どのエンドポイントが最適ですか?
    /healthz が一般的で、サービス全体の状態を返す。/readyz はサービスがリクエストを受け付ける準備ができているかを確認する。

  2. Kubernetes の livenessProbe と readinessProbe の違いは何ですか?
    livenessProbe はプロセスが死んでいないかを確認し、失敗すると Pod を再起動。readinessProbe はリクエストを受け付ける準備ができているかを確認し、失敗するとトラフィックを遮断。

  3. ELB の健康チェックで失敗した場合、どのように対処すべきですか?
    タイムアウトや失敗回数を調整し、必要に応じて /healthz の応答時間を短縮。ログを確認し、サービス側の問題を修正。

  4. 自作PCでヘルスチェックを実装する際のベストプラクティスは?
    systemd の ExecStartPost で curl /healthz を実行し、失敗時に自動再起動を設定。監視は Prometheus で収集し、Grafana で可視化。

  5. ヘルスチェックは 2025年 以降も重要ですか?
    はい。クラウドサービスが次世代に移行しても、サービスの可用性を保証するためにヘルスチェックは不可欠です。

まとめ

ヘルスチェックは、クラウドやコンテナ化された環境でサービスの稼働率を高めるための定期診断手法です。
Kubernetes のプローブ、AWS ELB の健康チェック、Cloudflare の監視といった実装例があり、/healthz /readyz という慣習的なエンドポイントで状態を返却します。
自作PCでも同様に、CPU 8 コア以上、24GB 以上のメモリ、NVMe 990 Pro など高速ストレージを備えた構成で、systemd などを利用してヘルスチェックを実装することで、安定稼働と障害早期検知が可能です。
次世代のクラウドインフラや 2026年 以降のマイクロサービスアーキテクチャにおいても、ヘルスチェックは不可欠な要素であり、最新の監視ツールと組み合わせることで、最高の可用性を実現できます。

この記事について
カテゴリークラウド
難易度中級
作成日2026/4/18