■ほぼ毎月1回のペースで,マイクロソフトから各種のセキュリティ・パッチ(修正プログラム)が提供されている。これらを運用中のシステムに適用する場合,不具合が起こらないことを事前に確認することが重要である。
■しかし,このテストをマニュアル作業で実施するのは結構時間がかかる。そこで,パッチ適用時の動作確認テストを大幅に自動化する方法を紹介する。

(Jason Fossen)


 サービス・パックを含む各種のパッチ(修正プログラム)は,Windowsシステムに適用する前に必要十分なテストを実施し,システムの機能や処理性能に悪影響がないかどうかを確認することが重要である。

 しかし,様々な製品やバージョンに対するパッチが存在することを考えると,できる限りパッチのテストを自動化する必要がある。この記事では,パッチを検証するときのテスト環境を構築する方法と,最小限の手作業でパッチを自動的にテストするための方法を紹介する。

仮想マシンでテスト環境を構築する
 テスト環境は,自社のWindowsドメイン/フォレスト環境の縮図となるように構成する必要がある。しかし,実際に多数のサーバーやクライアント・マシンを用意するのはコスト面で無理があるだろう。

 この問題を解決するには,「VMware Workstation」(国内ではネットワールドなどが販売)やマイクロソフトの「Virtual PC 2004」といった仮想マシン・ソフトを使い,1~2台のテスト機上で多数のコンピュータをシミュレーションする方法が現実的である(図1)。これらの仮想マシン同士はネットワークを介して相互に通信できるため,実際のWindowsドメイン/フォレストのような環境を構成できる。


図1●仮想的なテスト環境を用意する
VMwareやMicrosoft Virtual PCなどの仮想マシン・ソフトを使ってテスト機上に仮想環境を作り,複数のWindowsサーバーやWindowsクライアントを起動して,疑似的なドメイン/フォレストを構築する。

 テスト環境をうまく運用するには,最低でもPentium 4プロセッサ,2Gバイト・メモリー,120Gバイトのディスク容量を備えたマシンを2台はそろえたいところだ。複数の仮想マシンを同時に動かすため,特にメイン・メモリーとCPUについては十分なスペックが求められる。ディスク容量については,いずれ作成するであろう多数の仮想マシン用に備える必要がある。

 テスト環境は,LAN上で使われている各OSのインスタンスを最低でも1つは用意した状態で開始し,必要に応じてサービス・パックのバージョンや構成が異なる仮想マシンを追加する。これらにExchange ServerやSQL Serverなどのサーバー・アプリケーションをインストールしよう。

 理想的なテスト環境は,実在するドメイン,信頼関係,DNSゾーン,GPO(グループ・ポリシー・オブジェクト)と同じ構成であることが望ましい。ただし,テスト環境で使うドメインやDNSゾーンなどの名前は,現実のドメインで使っている名前と少し違っているほうがよい。仮想のテスト環境と現実のドメインを相互運用させる必要が生じた場合に備えるためだ。

 グループ・ポリシー管理コンソール(GPMC)というツールを使って,実運用中のGPOをテスト環境に読み込んできてもよい。実際のサーバーの「システム状態*」をコピーして,テスト環境における該当仮想マシンに復元することもできる。アカウントの数をできる限り少なくすることで,Active Directoryデータベースを小規模にとどめておこう。

 ドメインをテスト環境に再現することに加え,パッチ配布ツールもインストールしよう。SUS(Microsoft Software Update Services)やSMS(Microsoft Systems Management Server),カスタム・スクリプト,サード・パーティ製品などである。これらのパッチ配布ツールを使って,実際にテスト環境へパッチを適用してみてほしい。

 通常はパッチをグループ単位のマシンでテストし,グループ単位で展開することになる。重要なパッチはすぐにテストして,インターネットに接続されているサーバーに適用したいところだが,さほど重要ではないパッチを1つずつ当てていくのは非現実的である。

 幸い,マイクロソフトは現在,重要なパッチを毎月第2水曜日にまとめてリリースしている。管理者は,このサイクルに合わせてテストをスケジュールすればよい。

パッチ適用時のテストを実施する
 テスト環境が稼働したら,新しいパッチのテストを開始できる。テストは次のような3段階で実施する(図2)。


図2●同じ動作検証テストをパッチ適用の前後で実行して不具合を検出
テスト結果として出力された2つのテキスト・ファイルを比較し,もし違いが見つかればパッチ適用後に不具合が発生していることが分かる。テキストの比較にはツールを利用できる。

 第1段階では,パッチ適用前のテスト環境に対して,各種ツールを組み合わせたバッチ処理により様々な動作検証を実施し,その結果をテキスト・ファイルに出力しておく。第2段階ではテスト環境にパッチを当て,同じテストを再度実行してその結果を別のテキスト・ファイルに出力する。

 第3段階では2つのテスト結果(テキスト・ファイル)を比較する。2つのテキスト・ファイルの内容は,全く同じでなければならない。何か違いがある場合は,パッチを当てた後でシステムの何かが変わったことを意味している。その原因は後で詳しく調べる必要がある。



あなたにお薦め

今日のピックアップ

日経クロステック Active注目記事

おすすめのセミナー

セミナー一覧

注目のイベント

おすすめの書籍

書籍一覧

日経BOOKプラスの新着記事

日経クロステック Special

経営

クラウド

アプリケーション/DB/ミドルウエア

運用管理

サーバー/ストレージ

クライアント/OA機器

セキュリティ