SharePoint 2013 のパッチ(SP / CU / Hotfix)は適用すべきか?
オンプレミスの SharePoint は、定期的に Microsoft からパッチが提供されます。これでシステムの機能改善やバグフィックスが行われるのですが、一方「パッチをあてたら…(汗)」という苦い経験は大抵の SharePoint 運用担当者にあります。そのため、パッチがリリースされても即座に適用することはしない、というのが従来の不文律でした。しかし、最近は一概にそうとは言い切れなくなってきているようです。
まず、パッチについて簡単に整理しておきます。時々、私も分らなくなるので(苦笑)ただ、ご存知の通り、私は Microsoft の人間ではないので、これは「厳密な定義」ではありません。あくまで理解の為の大きな捉え方、ということでお願いします。
パッチには以下があります。
・サービスパック(SP)
・累積更新プログラム(CU)
・セキュリティ更新プログラム
・パブリック更新プログラム(PU)
・修正プログラム(hotfix)
基本は「修正プログラム(hotfix)」です。これはひとつひとつの問題に対して、それを修正するためにリリースされます。が、あくまでその問題しか視野に入れておらず、「完全なテスト」を経ていないため、まあ、よほど問題がクリティカルでないかぎり、単体でインストールすることはおすすめしません。また、どの hotfix を入れたのか、リビジョン番号からの逆引きが困難なので、管理上も問題があります。
「セキュリティ更新プログラム」は、この「修正プログラム(hotfix)」の亜種のようなもの。Microsoft は毎月、セキュリティ上の問題を修正するパッチを全製品について提供していますが、その一環として、同じタイミングでリリースされます。適用するかどうかは、内容次第。ただ、SharePoint は企業内でイントラとして利用される(=パブリックなWebに接続していない、あるいは厳重なファイアウォールの裏にいる)ことから、即時適用はしないケースも多いです。
「パブリック更新プログラム(PU)」は「必須更新プログラム」と書かれることもありますが、私は一度しか見たことがありません(参考)。位置づけとしては特殊な hotfix で、「原則として適用しないといけないもの」になります。ただ、即時適用するかどうかは、その「絶対」の理由次第になりますね。
「累積更新プログラム(CU)」は hotfix をまとめたものです。通常は、二ヶ月に一回リリースされます。基本的に、前回の「サービスパック(SP)」以降にリリースされたすべての CU と、前回の CU のあとにリリースされたすべての hotfix、セキュリティ更新プログラムが含まれています(最新のひとつが入るかどうかはタイミング次第)。
なお、SharePoint の CU には、製品的なエディションの違いから「SharePoint Server のCU」と「SharePoint Fundation の CU」の二種類があります。基本的に Server > Fundation です。「Server のCU」は「Fundation の CU」を含んでいるので、両方を当てる必要はありません。
また、SharePoint 2013 からは「SharePoint Server with Project Server の CU」もリリースされるようになりました(さらにややこしく…汗)。この CU は 「Server」「Fundation」の両方を含んでいるので、やはり二重(三重)に入れる必要はありません。
最後に「サービスパック(SP)」です。これは、それまでリリースされた CU をすべてパッケージにしたものになります。ただ、最新のひとつは含まれないことが多いようです。SP は製品(バージョン)ライフサイクルの中で、二回、多くても三回しかでませんが、製品サポート期間に関わるので、基本的に「絶対適用」します。ただ、その時期については悩ましいですね。
さて、こうしたパッチを、SharePoint 管理者は適宜インストールしていく訳ですが、前述の通り「パッチを当てたらこの問題は修正されたけど、あちらが…汗」ということは珍しくありません。また、SharePoint のカスタム開発部分については、当然ながら自社でテストする必要があり、なかなか大変です。
このあたりを勘案し、パッチの適用については、実態として次のような方針が一般的でした。
「hotfix は原則として、適用しない」
「CU は通常あてないが、修正内容を見て、どうしても必要であれば検証して適用する」
「SP は原則としてあてるが、即時適用はしない。一定期間、情報を待ち、SP で発生する問題を修正する CU がでてから適用する」
しかし、最近、一線で活躍されているエンジニアの方々やエンドユーザー担当者の方と話したところ、SharePoint 2013 については、この状況がすこし変わりつつある(かもしれない)そうです。理由は CU の精度が向上したこと。つまり、適用時に、別の問題を引き起こすことがかなり減ったらしい。
こうなると、もともと CU は問題を修正するものですから、順次適用していく意味がでてきます。実際、ある大規模ユーザー企業では、SharePoint 2013 は「CU は原則として即適用する」という方針で運用を始めていますが、いまのところ大きな問題にはなっていない、とのこと。
この「改善」の理由はわかりませんが、あるいは、Office 365(SharePoint Online)の存在にあるかもしれません。クラウドでは、パッチは何の予告も無く(苦笑)ほぼ強制適用されます。なにせ、クラウドでは膨大なユーザーが SharePoint を利用していますから、もし何か問題があれば、あっという間に発覚します。そうして、修正を重ねたパッチが、CU としてオンプレミス用にリリースされているのではないでしょうか。
しかし、とすると、オンプレミスでしか使えない機能(Exchange連携や検索Webパーツ、監査ログでの閲覧記録など)は、ちょっと「怪しい」かもしれませんね。あくまで推測ですが。
ともあれ。パッチの精度が向上していることはとても良いニュースです。しかし、一方でパッチ適用がノーリスクということはありえません。「事前に自社内できちんと検証が必要」という点は変わりませんので…
ご利用は計画的に。
ということで(笑)