連載
» 2010年03月25日 00時00分 公開

Windows Server 2008 R2の真価:第10回 WAN回線経由でのアクセスを高速化するBranchCache (1/3)

BranchCacheは支社から本社サーバへのアクセスをキャッシュで高速化する。その仕組みや類似機能との違い、導入手順を解説。

[田辺茂也(エバンジェリスト),マイクロソフト株式会社]
Windows Server Insider

 

「」のインデックス

連載目次

「Windows Server 2008 R2の真価」は、Windows Server 2008の後継OSである、Windows Server 2008 R2の注目機能について解説するコーナーです。


 Windows Server 2008 R2では、企業でのさまざまなワークスタイルに対応するための機能が強化されている。特に支社やモバイル・ワークといった、地理的な分散に対応した新しい機能が追加されている。その中の1つが今回のテーマであるBranchCache(ブランチキャッシュ)だ。BranchCacheは、その名のとおり本社と支社(ブランチ・オフィス)間での特定の通信をキャッシュに蓄えることで、WANの帯域消費を抑えるとともに、ユーザーの操作性を向上させるための機能である。本稿では、このBranchCacheの狙いや仕組み、ほかの類似機能との違い、導入手順について解説する。

支社(ブランチ・オフィス) における課題

 WANの高速化や低価格化、安定性の向上に伴い、本社と支社間でのファイル共有や大容量の通信が可能になってきた。といってもLANとWANでは通信速度にかなりの差があり、同等には扱えない。またWANの場合、コストや装置の変更が伴う場合もあるなど、簡単に増強するわけもいかない。

 支社側のユーザーの操作性としては、数Mbytes程度のファイル転送であれば待つことができるだろう。しかし、もっと大きなサイズのファイルや複数のファイルを開いたり、WAN経由で本社サーバのファイルを直接編集したり、といった作業は非常に時間がかかり、作業効率を下げてしまう。

 従って、よく使うファイルはローカルのコンピュータや支社内のファイル・サーバにコピーしておき、普段はそのファイルを使って作業することもあるだろう。その結果、同じ名前でもバージョンの異なるファイルが複数の本支社のサーバに分散してしまい、最新のファイルがどれなのか分からなくなり、やはり作業効率を下げてしまうことになる。また、このようにファイル・サーバを一元化できないと、ファイルの保存場所に関するコンプライアンスへの対応も困難になる。さらに、すべての支社にIT管理者を配置したり、ファイルのバックアップを行ったりすることが現実的でない場合、分散したファイルの管理が行き届かなくなる点も問題となるだろう。

 BranchCacheは、支社での管理を最小限に抑えつつ上記のような課題を解決するとともに、ユーザーの操作性を向上させることができる機能である。

BranchCache によって解決できること

 ではBranchCacheで何ができるのか具体的に見ていこう。BranchCacheは、地理的に分散した企業内ネットワーク上で、支社から本社のファイル・サーバやWebサーバへアクセスするときに、コンテンツを支社内にキャッシュすることにより、アクセス効率を高める機能である。BranchCacheには以下のような特長がある。

  • 本支社間のWANの通信量を抑えるとともに、キャッシュ・ヒット時の速度向上により支社のユーザーの操作性を向上させることが可能
  • SMB(ファイル共有)とHTTP/HTTPS(Web)というプロトコルに対応しており、ファイル・アクセスとWebページ表示の両方の高速化が可能(ただしWebサーバについてはIISのみ対応)
  • BITS(バックグラウンド・インテリジェント転送サービス)にも対応しているため、BITSを利用しているWSUS(Windows Server Update Services)と組み合わせると更新プログラム配布の効率を向上できる
  • ユーザーには完全に透過的な仕組みであり、操作性はまったく変わらない。クライアントからいつもどおりにファイル・サーバ上のファイルにアクセスすると、コンテンツが自動的にキャッシュされるし、ほかのクライアント・コンピュータはそのキャッシュを自動的に利用する
  • クライアントとサーバ間の通信は暗号化される
  • Windows Server 2008 R2(サーバ/クライアント)とWindows 7(クライアント)との組み合わせで実現できるため、ほかのソフトウェアやハードウェアが不要
  • グループ・ポリシーなど、既存の方法で集中管理が可能

BranchCache の仕組み

 BranchCacheは、WAN経由でアクセスする必要のある遠隔地のコンテンツを、LAN内のコンピュータ上にキャッシュする機能である。その仕組みを詳しく見ていこう。

■コンテンツへのアクセス時の流れ
 BranchCacheを導入した環境では、クライアントがWANの先にあるサーバ上のコンテンツを読み出す際、次のようにしてキャッシュにコンテンツが蓄えられる。

  1. クライアントがサーバにアクセスする。このときBranchCache対応であることをサーバに通知する
  2. サーバは通常アクセス時と同様に、ユーザーのアクセス権を確認する。コンテンツのハッシュ値*1を取得し、クライアントに通知する
  3. クライアントは2のハッシュ値を利用してLAN内のキャッシュに同一コンテンツの有無を問い合わせ、あればそれをキャッシュから取得する。なければサーバから取得し、自身のキャッシュに蓄える

*1 ハッシュ値とは、よりサイズの大きなビット情報を、一定の規則に従って小さな固定長サイズのビット・データに要約(縮約)したものである。「コンテンツのハッシュ値」とはコンテンツの内容を基に計算・生成された値を意味する。このハッシュ値はコンテンツごとに一意となるように生成されるため、ある2つのハッシュ値が同一であれば、基になった2つのコンテンツも同一と見なせる(基のデータが異なるのにハッシュ値が同じになる確率は非常に低く、現実的にはほぼ起こらないと見なしてよい)。コンテンツよりハッシュのサイズは十分に小さいので、コンテンツの代わりにハッシュを送信することで、帯域の消費を抑えつつコンテンツが同一かどうかを高速に比較できる。


 コンテンツはファイル単位ではなく、64Kbytesのブロック単位でキャッシュされる。そのためファイルの一部分はキャッシュから、そのほかの部分はサーバから取得される場合もある。サイズが64Kbytes以下のコンテンツはキャッシュされない。

■選択可能な2種類のキャッシュ方式
 BranchCacheではコンテンツのキャッシュの方式として、「分散型キャッシュ」と「ホスト型キャッシュ」の2種類を用意している。支社の規模や運用体制に応じて、どちらかの方式を選択できる。

○分散型キャッシュの仕組み
 分散型キャッシュは、支社にキャッシュ・サーバを設置せず、複数のクライアント間でキャッシュを共有する方式である。

BranchCacheの「分散型キャッシュ」方式の仕組み
クライアント1が本社のコンテンツ・サーバに要求して取得したコンテンツは、クライアント1上のキャッシュに蓄えられる。その後、クライアント2は同じコンテンツを本社サーバからではなくクライアント1から、WANより高速に取得できる。その際、コンテンツ内容が書き換わっていないかどうかは、ハッシュ値で確認される。また、キャッシュは複数のコンピュータに配置できるため、複数のクライアント間でお互いにキャッシュを共有できる。

 支社内のユーザーが本社のファイル・サーバやWebサーバにアクセスする際、同じ支社内のほかのユーザーがすでにアクセスしたものであれば、そのユーザーのコンピュータ(クライアント)上のキャッシュからコンテンツを取得する。支社内にキャッシュが見つからない場合は、自分のコンピュータ上のキャッシュに蓄えて、ほかのユーザーからアクセス可能にする。

 この方式の利点は、支社にサーバがない場合やIT管理者がいない場合でもキャッシュによる高速なアクセスが期待できることである。各コンピュータでのBranchCacheの設定はグループ・ポリシーで制御できるため、本社からの集中管理も可能だ。

 一方で、夜間など支社内で稼働しているコンピュータが減ると、昼間にコンテンツを蓄えたキャッシュが利用できなくなるため、WAN経由でアクセスすることになって速度が低下する(BranchCacheがないのと同じ状態になる)こともある。

○ホスト型キャッシュの仕組み
 ホスト型キャッシュは、支社内にキャッシュ・サーバを配置し、一元的にキャッシュを保持する方式である。

BranchCacheのホスト型キャッシュの仕組み
クライアント1が本社のコンテンツ・サーバから取得したコンテンツは、支店のキャッシュ・サーバに蓄えられる。その後にクライアント2は、WANより高速にキャッシュ・サーバからコンテンツを取得できる。

 支社内のユーザーが本社のファイル・サーバやWebサーバにアクセスする際、キャッシュ・サーバのキャッシュに対象のコンテンツが格納されていれば、そこからコンテンツを取得する。キャッシュ・サーバに蓄えられていない場合は、本社にアクセスするとともにキャッシュへも格納しておく。

 この方式の利点は、常に稼働しているサーバ上でキャッシュが管理されるため、キャッシュのヒット率が向上し、より安定したアクセスと運用が可能になる。

 一方で、サーバの設置と運用管理の必要があるため、支社が多い場合や、支社内のコンピュータ数が少ない場合は運用の手間の方が大きくなってしまうこともあるだろう。またキャッシュ・サーバにはサーバ証明書が必要なため、電子証明書の運用管理の手間が掛かる。

■コンテンツのセキュリティ
 特に分散型キャッシュ方式ではクライアント同士でキャッシュ内のコンテンツをやりとりするため、クライアント上のデータの安全性が気になるかもしれない。しかしBranchCacheでは、キャッシュ領域以外にはアクセスしないとともに、要求されたデータのみ渡す仕組みになっている。そのため、要求元のクライアントはキャッシュのリストや要求したデータ以外のものにはアクセスできない。また、要求されたデータは暗号化して送出するため、ネットワーク上で盗聴される危険性も低い。

 また、常にいったんサーバにアクセスしてコンテンツのハッシュを取得するため、コンテンツのアクセス権は従来どおりフォルダ/ファイルのアクセス権で管理される。BranchCacheの導入に際して、アクセス権の管理を変更する必要はない。

ほかのアクセス最適化機能との比較

 Windows OSで利用できるアクセス最適化機能には、BranchCacheのほかに、Webブラウザのキャッシュやオフライン・フォルダ、DFS(分散ファイル・システム)もある。これらと比較すると、BranchCacheは支社内でのクライアントから要求があった場合にのみ本社へのアクセスを行うため、不要なファイルをコピーしないという特長がある。つまりBranchCache導入前と比べて、WANのトラフィックが増加することはない。また、ユーザーがBranchCacheのための設定や操作をする必要がないことも特長として挙げられる。

 その一方で、BranchCacheは支社内のLANに接続していないと効果がない。また、キャッシュは読み込みやダウンロードといった本社から支社へのトラフィックに対してのみ有効で、書き込みはその都度WAN経由で行われ、効率は上がらない(高速化されない)。またWindows Server 2008 R2とWindows 7が必須でそれ以前のWindows OSでは利用できない、といった必要条件もある。

 そこで以下では、最適な手法を選択できるように、BranchCacheとほかのアクセス最適化機能と比較して、それぞれのメリット/デメリットを確認してみよう。

■Webブラウザのキャッシュ
 キャッシュといえば、Webブラウザのキャッシュを思い出す人も多いだろう。Webアクセスの高速化の手法として、広く利用されている。各種ブラウザではデフォルトで有効化されているため、利用に際してユーザーがキャッシュを意識せずに済む。また、モバイル環境や自宅など、場所を問わず利用できる。BranchCacheは自社のイントラネット上のサーバだけに有効であり、一般のWebサイトでは利用できない。

 BranchCacheでは、ファイルのハッシュ値でキャッシュ内容の新しさを確認するため、より正確なコンテンツ取得が可能である。また、分散型キャッシュでは、複数のコンピュータ間でキャッシュを共有できる。

■オフライン・フォルダ
 オフライン・フォルダは、特定の共有フォルダをクライアント・コンピュータに同期させる機能である。必要・不要にかかわらず、フォルダ内のすべてのファイルを同期させるため、WANトラフィックを増加させる可能性がある。その一方で、ユーザー自身が設定できるため簡便であり、必要最小限のフォルダを選択して同期させればトラフィックは低減できる。また、ネットワークに接続されていなくても、同期した時点のファイルにアクセスできる特長もある。

 BranchCacheは支社内のLANに接続されているときに効果のある仕組みであり、外出している時間が長いユーザーにはオフライン・フォルダが適している。

Windows Server Insider関連記事 Windows Server 2003 R2レビュー「第3回 強化された分散ファイル・システムDFS

■DFS(分散ファイル・システム)
 支社の多くのユーザーが日常的にアクセスする共有ファイルについては、支社内にコピーしておいてアクセス可能にしておきたいことがある。DFS(分散ファイル・システム)によりファイル共有の同期が可能になる。また、支社間を移動するユーザーには、最寄りのファイル・サーバにアクセスさせることも可能である。同期のスケジューリング、圧縮、差分同期などWAN経由のトラフィックを最適化する機能も装備している。クライアントからのアクセスはLAN内で完結しているため、一時的にWANがダウンしてもファイルにアクセスできる。

 その一方で、必要・不要にかかわらず全ファイルを同期するため、WANトラフィックが増加する可能性があるほか、各支社に相応の容量を備えたファイル・サーバを配置する必要がある。また複数拠点で同一ファイルに対して同時に書き込みを行った場合、競合が発生する可能性がある。

 BranchCacheでは、ファイル・アクセス時に毎回本社のサーバにファイルのハッシュ値を問い合わせて確認するため、常に最新のファイルにアクセスできる。半面、WANがダウンした状態ではファイルにアクセスできない。支社のサーバの管理は最小限にとどめられる。

 次のページでは、BranchCacheのシステム要件や、実際のセットアップ手順について解説する。


       1|2|3 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。