ポイント

●可用性とは「認可されたエンティティ(団体など)が要求したときに,アクセスおよび使用が可能である特性」のこと。情報セキュリティにおいても,考慮しなければならない特性である。
●可用性対策に関する用語は,字面が似ているものが多くあるため,混同しないように注意する必要がある。

 可用性とは,「認可されたエンティティ(団体など)が要求したときに,アクセスあるいは使用が可能である特性」のことです。情報セキュリティとは関係無さそうな感じもしますが,この連載の第1回(「情報セキュリティって何をするの?」参照)で確認したように,可用性も情報セキュリティを考える際に考慮しなければならない特性です。今回は,可用性を確保するために知っておきたい視点や,実装に関する概念を勉強します。

可用性とは

 はじめに可用性のイメージを確認していきましょう。

 例としてネットワーク回線の可用性を高める際に求められる要件を考えてみます。拠点Aと拠点Bの間にネットワーク回線を準備することを考えます。拠点間に物理的に1本しか回線がない場合,伝送経路上でトラブルがあると拠点間の通信は遮断されてしまいます。あらかじめ冗長回線を準備しておけば,故障時には別経路を通って通信サービスを継続できます。つまり可用性を高めることが可能になります(図1)。

図1●可用性のイメージ(1)
図1●可用性のイメージ(1)
通常利用している回線に障害が起こった際でも通信が遮断されないように,冗長回線を用意しておくことで,可用性を高める。

 別の角度から考えてみましょう。拠点間に通常時は1Mビット/秒,最繁時は10Mビット/秒のトラフィックが流れるものとします。ここで5Mビット/秒の回線しか用意できない場合,最繁時にはネットワークがつながらない,あるいは遅いなど,本来のサービスを提供できないことになります。あらかじめ余裕を持った性能の回線を準備しておけば,最繁時のトラフィックでも対応でき,可用性を高めることができます。なお,情報セキュリティに求められる要件を細分化した場合には,図2のイメージを信頼性と捉える場合もあります。

図2●可用性のイメージ(2)
図2●可用性のイメージ(2)
拠点間のトラフィック量が大きく変化するような状況で,最繁時でも対応できるように余裕を持った性能の回線を使えば可用性が高まる。

フォールトアボイダンスとフォールトトレランス

 高い可用性を確保するときの出発点になるのが,「フォールトアボイダンス」と「フォールトトレランス」と呼ばれる二つの考え方になります。それぞれの用語を確認していきましょう。

フォールトアボイダンス
故障を回避する(故障そのものを発生させないようにする)こと

フォールトトレランス(フォールトトレラント)
故障した場合でも継続してサービスを提供できるようにすること

 システムは,複数のコンポーネントの組み合わせで成り立っています。各コンポーネント一つひとつが正常に動作することによってシステム全体が動作しているわけです。そこで,システム構成要素一つひとつの故障を限りなく0に近づけることによって,全体での故障を回避(発生させないように)しよう,というのが「フォールトアボイダンス」の考え方です。

 しかし,(システムに求められる要件やシステムの規模にもよりますが)故障を0にしようと考えても現実的には困難です。そこで,フォールトアボイダンスを基にコストに見合った効果が得られる適切なところまで策を施したら,次に「故障は必ず発生するものだ」と考え方を切り替えます。そして,もし故障が起こった場合でもサービスを継続させるために,何らかの手段を準備します。これが,「フォールトトレランス」の考え方になります。完璧(故障の発生を0にする)を求めるのは困難なので,バックアップ手段あるいはリカバリー手段をあらかじめ用意しておきましょう,というわけです。