仮想環境の構成変更で影響範囲をどう確認する?アプリケーション依存関係を可視化する方法

仮想環境では、多くの仮想マシンやアプリケーションが複雑に連携しています。そのため、仮想マシンの移行やサーバ更改、ネットワーク設定変更などを行う際に、構成変更の影響範囲を把握しにくいことがあります。

特に、どの仮想マシンがどのサーバやサービスと通信しているのか、アプリケーション間にどのような依存関係があるのかを把握できていないと、想定外のサービス停止や障害につながる可能性があります。

仮想環境を安定して運用するには、CPUやメモリなどのリソース監視だけでなく、アプリケーションやサーバ間の依存関係を可視化し、実際の通信状況から構成変更や障害の影響範囲を確認することが重要です。

この記事のポイント

  • 仮想環境でアプリケーションやサーバの依存関係を把握する重要性を解説します。
  • 仮想マシンの移行やサーバ停止など、構成変更前に確認すべき影響範囲を紹介します。
  • uObserveを活用して、実際の通信からアプリケーション依存関係を可視化する方法を紹介します。

仮想環境でアプリケーションやサーバの依存関係が見えにくい理由

仮想環境では、1つの物理ホスト上で複数の仮想マシンが稼働し、各仮想マシン上でさまざまなアプリケーションやサービスが動作しています。

さらに、アプリケーションは単独で動作しているわけではありません。データベースサーバ、認証サーバ、ファイルサーバ、外部サービスなど、複数のシステムと通信していることがあります。

このような環境では、サーバ一覧や設計時のシステム構成図だけでは、現在のアプリケーション通信やサーバ間の依存関係を把握しきれない場合があります。

  • どの仮想マシンがどのサーバと通信しているか分からない
  • 特定のサーバを停止した場合の影響範囲が分からない
  • 実際のアプリケーション依存関係が既存の構成図と一致していない
  • 仮想マシンの移行や構成変更によって、どのサービスへ影響が出るか判断しにくい
  • 障害発生時に、影響を受けているシステムやサービスをすぐに把握できない

そのため、仮想環境の運用では、設計情報だけでなく、実際に観測された通信をもとにアプリケーションやサーバ間の関係を確認することが重要です。

サービス単位で仮想マシンやサーバの関係を整理する

仮想環境の影響範囲を把握するには、個々の仮想マシンを確認するだけでなく、同じサービスを構成する仮想マシンや外部サーバをまとめて確認することが有効です。

uObserveのサービスグループでは、関心のあるVMや外部サーバなどをグループ化し、それらについて依存性マップ、カンバセーション、各ノードのヘルス状態、アラーム、ユーザエクスペリエンスなどをまとめて確認できます。

サービスグループの3つの種類

Multi-Tier
サービスグループ

任意に指定したノードをグループ化し、アプリケーションやサービスを構成する複数のサーバをまとめて確認できます。

Dynamic Multi-Tier
サービスグループ

1つまたは複数の特定したサービスを提供しているノードをグループ化できます。

Port Group
サービスグループ

特定のポートグループに属しているVMをグループ化できます。

サービス単位で対象を整理することで、単体の仮想マシンだけを見る場合と比べて、その周辺にあるサーバやアプリケーションとの関係を把握しやすくなります。

サービス単位で確認したい情報

  • 対象サービスを構成する仮想マシンや外部サーバ
  • ノード間で発生しているアプリケーション通信
  • 各ノードのヘルス状態
  • アプリケーションレスポンスタイムの状態
  • 関連するアラームやユーザエクスペリエンス

アプリケーション依存関係を可視化して影響範囲を確認する

アプリケーション依存関係を可視化すると、仮想マシン、サーバ、アプリケーション、通信先のつながりを確認しやすくなります。

uObserveでは、Application Mapでグループ内のノード間の通信を可視化できます。各ノードは点で示され、ノード間のリンクは通信を表します。また、ノードやリンクの色によって、アプリケーションレスポンスタイムに基づいたヘルス状態を確認できます。

Application Map上の依存関係の可視化

Application Map上の依存関係の可視化

たとえば、あるサーバを停止する場合、そのサーバと通信している仮想マシンやアプリケーションを事前に確認できます。これにより、サーバ停止や構成変更によって影響を受ける可能性があるシステムを把握し、関係者への事前連絡や作業計画に役立てることができます。

通信量や通信先からアプリケーションの影響範囲を確認する

依存関係を把握する際は、単に「つながっているか」だけでなく、どのノード間で、どのサービスやアプリケーションの通信が、どの程度発生しているかを確認することも重要です。

uObserveのConversationタブでは、グループ内のノード間のカンバセーションをサンキーダイアグラムと表で表示できます。通信の流れや通信量を視覚的に確認できるため、影響範囲の把握に役立ちます。

サービスグループ詳細画面 Conversationタブ

サービスグループ詳細画面 Conversationタブ

また、通信情報をCSVやPDFでダウンロードできるため、構成変更前の確認資料や、障害対応時の報告資料としても活用しやすくなります。

仮想環境の構成変更前に確認すべきポイント

仮想マシンの移行やサーバ停止など、仮想環境の構成変更を行う場合は、変更対象だけでなく、その周辺にあるアプリケーションやサーバとの依存関係も確認する必要があります。

たとえば、仮想マシンの移行、ネットワーク設定変更、サーバ停止、アプリケーション更新などを行う場合、変更対象が他のシステムとどのように関係しているかを事前に確認しておくことが重要です。

構成変更前に確認したいポイント

  • 変更対象の仮想マシンがどのサーバと通信しているか
  • 変更対象に依存しているアプリケーションやサービスがないか
  • 通信先のサーバやサービスに影響が出ないか
  • 変更前後で通信関係に変化がないか
  • 想定していないサーバやサービスとの通信が発生していないか

uObserveでは、Multi-Tierサービスグループを利用することで、協調してサービスを提供する一群のサーバノードをTierごとに整理できます。たとえば、ロードバランサ、Webサーバ、データベースサーバ、その他のサーバ群のように分けて表示することで、サービス構成を把握しやすくなります。

Multi-Tierサービスグループ

Multi-Tier サービスグループ

このようにアプリケーションを構成するサーバをTierごとに整理しておくことで、構成変更時にどの範囲まで影響を確認すべきか判断しやすくなります。

依存先サーバやクライアントまで調査範囲を広げる

構成変更や障害調査では、最初に把握している範囲だけでは情報が不足することがあります。

たとえば、ある仮想マシンを確認した結果、その仮想マシンがアクセスしているサーバ群や、その仮想マシンへアクセスしているクライアント群も確認したい場合があります。

uObserveでは、Application Map上の既存ノードをもとに、そのノードが依存しているサーバやクライアントをサービスグループへ追加できます。これにより、調査対象の周辺にある関連ノードへ範囲を広げながら確認できます。

Multi-Tierサービスグループへのノード追加

Multi-Tierサービスグループ ノード追加

影響範囲を段階的に広げて確認することで、システム構成図に記載されていない通信関係や、これまで把握できていなかった依存先を見つける手がかりになります。

アプリケーション通信全体から依存関係を把握する

個別のサービスグループだけでなく、監視対象で観測されているアプリケーション通信全体から、依存関係や問題のある通信を確認したい場合もあります。

uObserveのアプリケーション解析では、監視している通信内で観測されたアプリケーション通信に着目し、複数の切り口から状態を確認できます。

アプリケーション解析で確認できる主な情報

依存するサービス
依存性マップや、カンバセーション情報をサンキーダイアグラムで確認できます。
トポロジーマップ
アプリケーション通信をホスト、クラスタ、クラウド、ポートグループ、vAppなどの単位でクラスタリングして表示できます。
テーブル
観測されたアプリケーション通信の情報を、クライアント、サービス、仮想マシン、ホスト、クラスタなどの単位で切り口を変えて確認できます。
アラーム
アプリケーションパフォーマンスに関するアラームの一覧を確認できます。

これらの情報を組み合わせて確認することで、特定のサービスだけでなく、アプリケーション通信全体の依存関係やトポロジー、ヘルス状態を把握しやすくなります。

また、問題が発生している通信を特定した後に、依存性マップやトポロジーマップを確認することで、どのサーバやサービスが関係しているのか、影響がどの範囲まで及ぶ可能性があるのかを確認しやすくなります。

アプリケーション依存性マップでサーバ間の相互依存関係を確認する

アプリケーション解析の依存するサービスタブでは、アプリケーション依存性マップや、カンバセーション情報のサンキーダイアグラムを表示できます。

アプリケーション依存性マップでは、uObserveが通信を観測したノードと、それらの間のアプリケーション通信が可視化されます。アプリケーションレスポンスタイムに問題がある場合は、ノードや矢印がヘルス状態に応じた色で表示されるため、問題のある通信を見つけやすくなります。

アプリケーション依存性マップ

アプリケーション依存性マップ

ノードや通信を示す矢印をクリックすると、詳細情報を確認できます。これにより、どのノード間で問題が発生しているのか、どのアプリケーション通信が影響しているのかを把握しやすくなります。

サンキーダイアグラムでサーバ間の通信量と通信経路を確認する

アプリケーション依存関係を確認する際には、通信の有無だけでなく、どの通信経路にトラフィックが集中しているかを把握することも重要です。

uObserveのカンバセーション サンキーダイアグラムでは、クライアント側ノード、サーバ側ノード、サービスやアプリケーションの関係を視覚的に確認できます。帯の太さはトラフィック量を示し、色はネットワークヘルス状態を示します。

カンバセーション サンキーダイアグラム

カンバセーション サンキーダイアグラム

通信量が多い経路やヘルス状態が悪化している通信を確認できるため、構成変更前の影響確認だけでなく、障害調査時に優先して確認すべき通信を判断する際にも役立ちます。

トポロジーマップで仮想環境全体の通信関係を把握する

仮想環境の規模が大きくなると、個々のノード間の通信だけでは全体像を把握しにくくなります。

uObserveのトポロジーマップでは、アプリケーション通信をホスト、クラスタ、クラウド、ポートグループ、vAppなどの単位でクラスタリングして表示できます。

アプリケーション解析 トポロジーマップタブ

アプリケーション解析 トポロジーマップタブ

全体の通信関係を整理して確認できるため、どのホストやクラスタに関連する通信なのか、構成変更や障害の影響がどの範囲まで及ぶ可能性があるのかを把握しやすくなります。

障害発生時にアプリケーションやサーバへの影響範囲を確認する

アプリケーション依存関係の可視化は、構成変更前だけでなく、障害発生時の影響範囲確認にも役立ちます。

あるサーバや仮想マシンで問題が発生した場合、その対象だけを確認するのではなく、通信しているアプリケーションや依存先サーバまで確認する必要があります。

依存関係が見えていない状態では、障害が発生している対象だけを確認してしまい、関連するサービスへの影響を見落とす可能性があります。

障害発生時に確認したいポイント

  • 障害が発生している仮想マシンやサーバ
  • その対象と通信しているアプリケーションやサービス
  • 影響を受けている可能性がある通信先サーバ
  • アプリケーションレスポンスタイムが悪化しているサービス
  • 障害発生前後で変化した通信関係

uObserveでは、問題のある仮想マシンがクライアントとして通信しているサーバ群を確認できます。通信先サーバの応答が遅いことが、解析対象の仮想マシンやアプリケーションの応答遅延につながっている可能性もあるためです。

問題のある仮想マシンから通信先サーバの応答状態を確認する

問題のある仮想マシンから通信先サーバの応答状態を確認

影響範囲を早く把握できると、原因調査だけでなく、関係者への連絡や復旧優先度の判断もしやすくなります。

仮想環境の構成変更や影響範囲を確認する流れ

uObserveを活用して構成変更や障害の影響範囲を確認する場合は、たとえば以下の流れで調査できます。

  1. 対象となる仮想マシンやサーバを確認する
  2. Application Mapで通信先やアプリケーション依存関係を確認する
  3. Conversationやサンキーダイアグラムで通信量と通信経路を確認する
  4. Multi-Tierサービスグループでサービスを構成するサーバ群を整理する
  5. 必要に応じて依存先サーバやクライアントまで調査範囲を広げる
  6. トポロジーマップでホストやクラスタを含めた全体の通信関係を確認する
  7. 構成変更や障害によって影響を受ける可能性がある範囲を整理する

実際のアプリケーション通信をもとに順番に確認することで、構成図だけでは把握しにくい依存関係や影響範囲を確認しやすくなります。

よくある質問:仮想環境の依存関係と影響範囲

仮想環境のアプリケーション依存関係とは何ですか?

仮想マシンやサーバ、アプリケーション、データベースなどが、通信を通じてどのように相互に関係しているかを示したものです。依存関係を把握することで、サーバ停止や構成変更を行った際に、どのシステムへ影響する可能性があるのかを確認しやすくなります。

仮想マシンの移行やサーバ停止前に何を確認すべきですか?

対象の仮想マシンやサーバがどのシステムと通信しているか、対象に依存するアプリケーションがないか、通信先への影響がないかを確認することが重要です。設計時の構成図だけでなく、現在の通信状況を確認することで想定外の影響を把握しやすくなります。

アプリケーション依存関係を可視化するメリットは何ですか?

構成変更前の影響確認、障害発生時の影響範囲確認、システム構成図との差異確認などに活用できます。また、これまで把握していなかった通信先や依存先を確認する手がかりにもなります。

まとめ

仮想環境では、複数の仮想マシン、アプリケーション、サーバが相互に連携しています。そのため、仮想マシンの移行やサーバ停止などの構成変更を行う際には、対象システムだけでなく、関連するアプリケーションや通信先まで含めて影響範囲を確認することが重要です。

特に、以下のような場面では、アプリケーション依存関係の可視化が役立ちます。

  • 仮想マシンやサーバの停止前に影響範囲を確認したい場合
  • 仮想環境の構成変更による影響を事前に把握したい場合
  • 障害発生時に関連するアプリケーションやシステムを確認したい場合
  • 既存のシステム構成図と実際の通信状況に差がないか確認したい場合
  • 把握していない通信先や依存関係を確認したい場合

uObserveを活用することで、実際の通信をもとに仮想環境のアプリケーション依存関係を可視化し、構成変更や障害対応時の影響範囲把握を支援できます。

関連する技術記事

仮想環境の依存関係や影響範囲を可視化したい方へ

uObserveの資料・無償評価版をご用意しています。仮想基盤やアプリケーションの関係を可視化し、仮想マシンの移行や構成変更、障害対応時の影響範囲を把握したい場合は、お気軽にご相談ください。