ITインフラを仮想化基盤上に構築する例が増えている。構築時に物理環境の設定を流用するのはトラブルの種だ。3つの事例から陥りがちなトラブルの解決方法を紹介する。

 近年、仮想化基盤上にITインフラを構築するのが一般的になってきた。これに伴い、従来ネットワーク装置が提供してきたファイアウォールや負荷分散などの機能を仮想化基盤上で実現したいという要求が増えている。だが、仮想化基盤の活用は一筋縄ではいかない。今回は、仮想アプライアンスの導入時に発生した3つのトラブル事例から仮想化基盤でネットワーク機能を構築・運用する際のポイントを解説する。

初期設定が合わない

 最初の事例は、ファイアウォール機能を提供する仮想アプライアンスを導入後、エンド・ツー・エンドで通信できなくなったというものだ。仮想アプライアンスの一部機能も動作不能な状態に陥った。しかし、仮想アプライアンスは、物理アプライアンスで動作実績がある設定となっており、インスタンスも正常に起動していた。

 原因の調査に当たっては、まず仮想レイヤー2スイッチを疑った。仮想アプライアンスは以前の環境で動作していた設定だったので、物理環境にはなかった の仕様が怪しいと考えた。

 仕様を確認すると、初期設定に問題があることが分かった。レイヤー2スイッチは、パケットに含まれる送信元や宛先のMACアドレスを参照して中継する。導入した仮想スイッチは、スイッチとつながっていないMACアドレスがパケットに含まれていると、破棄してしまう仕様だった。

 導入した仮想アプライアンスがブリッジモードになっていたことも問題だった。パソコンから送られたパケットの送信元MACアドレスは、仮想アプライアンスが中継する際に仮想アプライアンスのMACアドレスに書き換えるはずである。ところが、ブリッジモードに設定されていると、送信元のMACアドレスを書き換えない。そのため、仮想スイッチは自身が接続していない機器からパケットを受信したと判断し、破棄していたのだ。

 仮想アプライアンスの一部機能が動作しなくなったのも仮想スイッチの仕様によるものだった。導入した仮想アプライアンスは、二重化構成を実現するために、マルチキャストパケットを送信していた。だが、仮想スイッチと接続しているノードがマルチキャストアドレスを保持することは無い。仮想スイッチは宛先が自身とつながっていないと判断し、パケットを破棄していた。結果として、仮想アプライアンスが送信したパケットは受け取るべき相手に届かない。応答が無いため一部機能が正しく動かなかった。

 トラブルは、仮想スイッチの設定を変更して解決した。接続していないMACアドレスがパケットに含まれていても中継できるようにしたわけだ。ただし、設定を変更すると同じ仮想スイッチ配下に収容した別の仮想マシン宛てのパケットも流入する。マルチテナント環境では、セキュリティーレベルの低下を招く可能性がある。設定変更前に仮想スイッチにつながっている仮想マシンの情報を調べ、影響範囲を確認することが肝要だ。

図 仮想環境で発生したトラブル
仮想スイッチの動作が想定と違っていた
[画像のクリックで拡大表示]

この先は有料会員の登録が必要です。「日経コンピュータ」定期購読者もログインしてお読みいただけます。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら