はじめに
Windowsサーバのパッチ管理・運用(2)ではパッチ管理・運用を行う上での検証フェーズについて主に触れました。第三回の本コラムでは、三つのフェーズの内、第三段階である本番フェーズについて詳しく述べます。
本番フェーズとは
本番フェーズは大きく三つの期間に分けることができます。
①検証フェーズ後、本番フェーズに向けての準備期間
②本番フェーズでのメンテナンス実施期間
③本番フェーズを終えて、一連の振り返り期間
① 準備期間について
本番フェーズに向けての準備期間については、Windowsサーバのパッチ管理・運用(2)で軽く紹介をしました。ここでは具体的にどのような準備を行うのかについて下記の4点を述べます。
・検証フェーズで発生した想定外の事象の確認&調査を行います。検証フェーズでも紹介したようにメンテナンス実作業時に突如ポップアップやエラーなどが生じることがあります。これらの要素について、どういった内容のものか、どのような条件で発生するかを調査します。また、本番でのメンテナンスでは滞りなく対応できるよう手順書の修正やナレッジの共有を行います。
・検証フェーズでのメンテナンスで要した時間をもとに、本番フェーズでのメンテナンスのタイムスケジュールを微調整します。パッチの容量などによって適用に要する時間は毎月前後します。検証の際に、どの工程にどれだけの時間を必要としたか確認することで、本番メンテナンスの作業進行の精度を上げることができます。
・メンテナンス対象の責任者と念入りに認識合わせを行います。本番で扱うサーバは業務で実際に使用されているサーバになります。メンテナンスなどで再起動を行う際に万が一でも利用者へ影響が出ないように、メンテナンス実行のタイミングとメンテナンスによる影響、メンテナンス後に変更点などが生じないか、などについて正確に認識合わせを行います。そして、不測な事態に備え、メンテナンスの時間中とその後も責任者との連絡を取れるようにする必要があります。
・パッチの適用などに失敗した際に、元あった状態に回復できるよう切り戻しの手順を用意します。三点目の内容とも共通しますが、本番で扱うサーバは利用者影響に注意が必要です。パッチの適用やメンテナンスに失敗やエラーがあった際に、すぐに切り戻しを行えるようバックアップの取得と回復の手段を事前に手順書として準備します。
上記の大きな要素のほかに、検証フェーズと本番フェーズの間に適切な期間を設ける(経過観察のため)ことや、検証フェーズから本番フェーズまでの間に新規に不具合情報等が報告されていないか、なども準備&確認を行います。
②本番フェーズでのメンテナンス実施期間について
次に実際のメンテナンス実施について述べます。本番フェーズでのメンテナンス実施については、①で紹介した準備事項などを踏まえたうえで、基本的には検証フェーズと同様にメンテナンスを進めます。メンテナンスの大まかな流れについては、Windowsサーバのパッチ管理・運用(2)で紹介をしています。
検証でのメンテナンスとの大きな違いについては、実施の時間帯が挙げられます。検証メンテナンスでは利用者への影響がない環境でのメンテナンスのため、日中帯でのメンテナンス実行も可能です。しかし本番フェーズではそうはいきません。本番フェーズで対象となるサーバは利用者が実際の業務で使用しているサーバのため、メンテナンス実施は夜間帯となります。
③メンテナンス後の振り返り期間について
メンテナンス後の振り返り期間では、使用した資料を今後素早く参照できるように整理を行います。準備、検証、本番の一連の流れの中で新たに遭遇した事象などについてナレッジ共有を行い、次回以降のメンテナンスをよりスムーズに実施できるようにします。
注意点や工夫の紹介
・ディスク容量などが限界に近い仮想基盤などでの作業の場合、スナップショットの取得や削除など複数のゲストOSで同時に行うことは避けるべきです。スナップショットの取得や削除は仮想基盤全体に負荷をかけてしまう場合が多く、最悪の場合ゲストOSの予期せぬシャットダウンなどを引き起こします。容量が懸念される仮想基盤では一台ずつの取得が安全です。
・本番フェーズに限らずすべてのメンテナンスにおいて共通して言えますが、メンテナンス対象の把握ミスに注意が必要です。特に本番フェーズでは扱うサーバの数も多くなりがちです。メンテナンス開始時や再起動の際には、対象サーバが間違っていないか逐一確認することが大切です。また、別の方法としては、操作対象のサーバを間違えることが無いよう、メンテ開始時や再起動前にサーバの名前を再度確認することやデスクトップ画面の背景に差を付けて視覚的にわかりやすくすることなどの方法もあります。
・メンテナンス作業の一部は自動化することが可能です。例えば、スナップショットの取得などをPowershellスクリプトによってあらかじめ設定した日時に自動で行わせる、などの方法があります。自動化については、詳しくは「低コストで仕事効率化(1)」で紹介しています。
まとめ
今回は本番フェーズについて触れました。準備、検証、本番のそれぞれのフェーズを三回にわたって紹介してきましたが、これら三つのフェーズに共通してあげられるポイントは下記になります。
・準備を念入りに行うこと
・手順通りに作業をすること
・ナレッジ共有を欠かさないこと
本稿ではパッチ管理・適用のメンテナンスについて触れましたが、上記の三つのポイントはメンテナンス以外についても重要となります。特にナレッジ共有については、プロジェクトが長期間に渡れば渡るほど、事象発生への対処効率に大きくかかわってきます。
本コラムは以上で終了となりますが、関連するカテゴリのコラムとして「要件定義の進め方のポイント」や「情シス運用記」などがありますので、ぜひそちらもご覧ください。