プローブとは

プローブは、コンピュータネットワーク上で、特定の機器やサービスが利用可能であるか、または正常に稼働しているかを確認するために送信されるデータパケットのことです。

プローブの概要と目的

プローブ(Probe)は、ネットワークやシステムの「健康状態」を診断するための「調査」や「探査」の役割を果たします。

これは、ネットワーク機器(ルーター、スイッチなど)、サーバー、あるいは特定のアプリケーションサービスに対して定期的に送信され、その応答から対象の状態を判断します。プローブが成功的に応答を受け取れない場合、システムに障害が発生したと見なされます。

主な目的は、システムやネットワークの監視とトラブルシューティングです。これにより、障害を早期に発見し、サービスの可用性を維持することができます。

プローブの主要な種類と動作

プローブは、その目的や使用されるプロトコルに応じていくつかの種類に分けられます。

1. ICMPプローブ

  • 概要:
    • Internet Control Message Protocol (ICMP) を使用して、ネットワーク機器の応答性をテストします。
  • 動作:
    • pingコマンドが典型的な例です。特定のIPアドレスに対してICMPエコーリクエストを送信し、相手からのエコーリプライが返ってくるかを確認します。
  • 目的:
    • ネットワーク上のホストが生存しているか、また通信が可能かをシンプルに確認します。

2. TCP/UDPプローブ

  • 概要:
    • Transmission Control Protocol (TCP)User Datagram Protocol (UDP) を使用して、特定のポートが開いているか、サービスが応答しているかを確認します。
  • 動作:
    • サーバーの特定のポート(例:ウェブサーバーのポート80や443)に対して接続を試み、その応答を待ちます。
  • 目的:
    • 特定のサービス(例:HTTP、SSH、FTP)が稼働しているかを確認します。これにより、OSレベルでは稼働しているものの、サービスそのものがダウンしている、といった状況も検知できます。

3. HTTPプローブ

  • 概要:
    • HTTPリクエストを送信して、アプリケーションレベルのサービスの状態を確認します。
  • 動作:
    • ロードバランサや監視ツールが、ウェブアプリケーションの特定のURL(例:/healthz)にリクエストを送り、HTTPステータスコード(200 OKなど)をチェックします。
  • 目的:
    • サーバーが稼働しているだけでなく、アプリケーションが正常に動作し、データベースや他の依存サービスと接続できているか、といったより詳細な健全性を判断します。

プローブの活用例

プローブは、現代の分散システムやクラウド環境において不可欠な技術です。

  • ロードバランサのヘルスチェック:
    • ロードバランサは、プローブを使って背後のサーバー群の状態を監視し、応答がないサーバーをトラフィックの振り分け先から自動的に外し、健全なサーバーにのみリクエストを送ります。
  • コンテナオーケストレーション:
    • Kubernetesのようなコンテナ管理システムは、プローブを使用してコンテナの生死や健全性を判断し、異常なコンテナを自動的に再起動させたり、新しいコンテナに置き換えたりします。
  • 監視ツール:
    • NagiosやZabbixなどの監視ツールは、プローブを定期的に実行し、システムの応答時間を測定したり、異常を検知した場合に管理者に通知したりします。

プローブは、システムの可視性を高め、障害対応を自動化することで、サービスの信頼性と可用性を向上させる重要な役割を担っています。

関連用語

ロードバランサー | 今更聞けないIT用語集
コンテナ | 今更聞けないIT用語集
クラウドソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。