0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ヘルスチェックについて

Posted at

ヘルスチェックとは?

  • サーバーやソフトウェア、システムが正常に作動しているかを、外部から監視確認する仕組み

何をチェックするのか?

  • 死活監視 (Ping): サーバーがネットワーク的に疎通可能か。

  • ポート監視 (Port Check): 特定のポート(例: 80番 for Web)でサービスが待ち受けているか。

  • プロセス監視: 必要なプロセス(例: httpd, nginx)が起動しているか。

  • HTTP/S監視: Webサーバーが正常なレスポンス(例: ステータスコード200)を返すか。

  • DB監視: データベースに接続し、簡単なクエリ(例: SELECT 1;)が成功するか。

  • リソース監視: CPU、メモリ、ディスク使用率がしきい値を超えていないか。

どう設定するのか?

  • チェック間隔 (Interval): どのくらいの頻度でチェックするか。(例: 30秒に1回)

  • タイムアウト (Timeout): 応答を何秒待つか。(例: 5秒)

  • しきい値 (Threshold): 何回連続で失敗/成功したら状態を切り替えるか。(例: 3回連続失敗で「異常」と判断)

AWSにおけるヘルスチェック

  • 自分で立てたサーバーや、それに類するリソースの面倒を見る必要があるサービスにはヘルスチェックの仕組みが存在する
    • No
      • S3/Lambda/SQS/SNS
    • Yes
      • EC2/ECS/EKS/ELB/RDS/Route53

Webサーバーのヘルスチェック手法

① 死活監視 (Ping)

  • 方法: サーバーのIPアドレスに対してPingコマンドを送り、応答があるかを確認します。

  • わかること: ネットワーク的にサーバーが到達可能か。OSが最低限起動しているか。

  • 限界: Webサーバーのソフトウェア(Apache, Nginxなど)が停止していても成功してしまうため、これだけでは不十分です。

② ポート監視 (Port Check)

  • 方法: Webサーバーが使用するポート(HTTPなら80番, HTTPSなら443番)に対して接続を試みます。

  • わかること: Webサーバーのプロセスが起動し、リクエストを待ち受けているか。

  • 限界: プロセスは生きていても、内部的な問題でエラーページしか返せない状態(例: DB接続エラー)は検知できません。

③ HTTP監視 (HTTP Status Check)

  • 方法: /や/healthのような特定のパスにHTTPリクエストを送り、返ってきたステータスコードが正常(200 OKなど)であるかを確認します。

  • わかること: Webアプリケーションがリクエストを処理し、正常な応答を返せているか。最も一般的で効果的な手法です。

④ コンテンツ監視 (Content Check)

  • 方法: HTTP監視に加え、レスポンスの内容に特定の文字列(例: Success, OK)が含まれているかまで確認します。

  • わかること: ページが正しく表示され、期待通りのコンテンツが生成されているか。よりアプリケーションの内部ロジックに近い部分まで確認できます。

DBサーバーのヘルスチェック手法

① 死活監視 (Ping) & ポート監視

  • 方法: Webサーバーと同様に、Pingでの疎通確認と、DBが使用するポート(MySQLなら3306番など)への接続確認を行います。

  • わかること: ネットワーク的な到達可能性と、DBプロセスの起動状態。

② 接続・認証監視 (Connection Check)

  • 方法: 実際にデータベースにユーザー名とパスワードを使って接続を試みます。

  • わかること: データベースが接続を受け付け、認証機能が正常に動作しているか。

③ クエリ実行監視 (Query Check)

  • 方法: データベースに接続後、SELECT 1;のようなシステムに負荷をかけない簡単なSQLクエリを実行し、正常な結果が返ってくるかを確認します。

  • わかること: データベースエンジンが完全に機能しており、クエリを処理できる状態か。最も確実なDBのヘルスチェック手法です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?