はじめに
Windowsサーバのパッチ管理・運用(1)ではパッチ管理・運用を行う上での準備フェーズについて主に触れました。第二回の本コラムでは、三つのフェーズの内、第二段階である検証フェーズについて詳しく述べます。
検証フェーズとは
検証フェーズでは、準備フェーズで用意した資料をもとに実際の作業について検証環境を用いてリハーサルするフェーズとなります。このリハーサルには大きく二つのメリットがあります。
一つは実際のスケジュール感を把握できることです。準備フェーズではスムーズに完了すると予想していた作業が、実際に作業をすると想定以上に時間がかかった、ということは珍しくありません。検証フェーズにてリハーサルを行うことで、本番フェーズ前により現実的なタイムスケジュールを確認することができます。
もう一つは準備フェーズで気づけなかった不明点の洗い出しです。準備フェーズでは、実作業において想定外の事象が発生しないように可能な限り綿密に手順を作成します。しかし、現実にはそれでも想定外のアクシデントが発生します。表示されると思っていなかったポップアップや、今まで見たことの無いプルダウン選択肢が突然現れたり、といった事象がこちらに該当します。本番と全く同じ検証環境でこれらのリハーサルを行うことで、これらの不明点に事前に遭遇し、対処法を準備することができます。
検証の準備
準備フェーズと一部重複する内容となりますが、検証フェーズの前に下記の四つの準備を行います。
- 準備フェーズで作成した手順書を再確認します。検証フェーズとはいえ実作業なので、実施前には手順の再確認が済んでいる状態が望ましいでしょう。
- 適用するパッチの確認を行います。その作業によってどのような変更が施されるのか、事前に把握する必要があります。
- 不具合のあるパッチを排除します。2のパッチ確認と関連する事項でもありますが、パッチの中には不具合やバグの含まれるものが存在します。それはWindowsの月次更新であっても例外ではありません。事前に対象のパッチを調査することで不具合の有無を確認し、不具合のあるパッチが適用されないように事前に備えます。
- メンテナンス実行の周知を行います。検証環境であっても、利用者への周知は徹底すべきです。こちらについては、詳しくは第一回コラムをご確認いただけますと幸いです。
検証の実作業
検証の実作業については下記のように進めます。
① バックアップの取得
メンテナンス作業で万が一の事態が発生した場合でも問題なく対処できるようにバックアップを準備します。(仮想環境の場合はスナップショット でもよい。)
② パッチ適用前のサービス確認
対象サーバでパッチ適用前のサービス状態をテキスト形式などで取得します。パッチ適用後にも同様に取得し、パッチ適用前後で差が無いことを確認します。パッチ適用前後に差があった場合は、サーバのサービス状態を正しい状態へ戻します。
③ サービスの停止
対象サーバで動作中のサービスの中には、パッチ適用と干渉するものも存在します。影響が考えられるサービスは事前に停止させます。
④ パッチのインストール
最新のパッチを確認し適用します。不具合の含まれるパッチが事前にわかっている場合はこの段階で問題のパッチを除外します。
⑤ 再起動
パッチインストールが完了したのち、サーバ再起動を行います。再起動のタイミングは事前に作成した手順を遵守します。
⑥ パッチ適用後のサービス確認
②と同様にサービス状態を出力します。②と⑥に差が無いことを確認します。動作していないサービスなどがあれば、この段階でサービスを起動させます。
⑦ 動作確認
サーバ起動後にサーバ上のシステムが問題なく動作しているか、事前に作成した手順書に沿って確認します。
⑧ 古いバックアップの削除
古いバックアップが不要な場合はこの段階で削除を行うことができます。
検証の後作業
検証完了後、本番作業に向けて準備が必要となります。想定外の事象の発生やスケジュール感、事前調査で気づけなかったパッチの不具合など、準備内容は多岐にわたります。こちらについては第三回本番フェーズにて詳しく触れる予定です。
過去事象の紹介
・過去にWindows Server 2012(R2ではない)のみで不具合の発生するパッチが確認されました。自社環境で使用しているサーバのバージョンや、導入しているサービスなどを事前に明確に把握することで、このような不具合パッチを安全に回避することができます。
・実作業手順⑧にて、古いバックアップの削除がありますが、容量が限界に近い仮想基盤などでの作業の場合、古いスナップショットを多世代にわたって保存することで仮想基盤全体のリソースを枯渇させてしまう場合があります。そのため定期的に不要なスナップショットを削除することが重要です。
まとめ
今回は検証フェーズについて主に触れました。これまで紹介した事項のほかにも、本番環境しか存在しないサーバに対する準備や、検証環境と本番環境が同居している場合など、考慮すべき点はあります。これらに関しても十分に準備を行うことで本番フェーズでのリスクを格段に低減することが可能です。
次回コラムでは、パッチ管理・運用の3.本番フェーズについて重要なポイントを紹介していきます。