システムの対障害性について考える/池内 正晴

1.はじめに
 先日、銀行のオンラインシステムが使用不能な状況に陥り、マスコミに大きく取り上げられていたことは、記憶に新しいだろう。様々な分野でIT化が進むことにより、その障害によって社会に与える影響が大きなものになってきていることも事実である。コンピュータシステムを利用して多くの顧客に直接的なサービスを提供する業務について、各企業は大きなコストをかけて様々な障害に対する対策を行っている。

2.対障害性のレベル
 顧客に対して直接的にサービスを提供することがないコンピュータシステムについても、対応内容の差はあるものの、何らかの障害に対する対策が必要である。
たとえば、社内の情報共有に利用しているグループウェアのシステムについて考えてみる。
 ある日突然のシステム障害により、グループウェアに格納されている情報が消失してしまったとすれば、業務を行っていくうえで大きな影響が出るであろう。
(もし、影響が出ないようであれば、そのシステムは十分に活用されていないので、ただちに利用方法を改めるか、利用を中止すべきである)ただ、グループウェアの場合は数時間利用できない状況に陥っても、銀行のオンラインシステムのように企業活動そのものに甚大な被害を与えるものでもない。したがって費用対効果の面から考えると両者の障害対策のレベルが異なってくるのは当然である。

3.対障害性についての考え方
 社内の情報共有やナレッジベースとして利用されているグループウェアシステムに求められる障害対策について、考えてみる。(対象となる企業の業務内容や業種によって、利用形態や業務に対する重要度が異なるため、あくまで一例として見ていただきたい)
 まず1番目に、最低限の対応として考えなければならないのがデータの保全であり、システムに障害が発生した場合に、保存されているデータが失われないようにする対策である。一般的にはデータのバックアップということで、磁気テープ装置や外部に接続されているディスク装置にデータのコピーを定期的に行うという対策が行われている。さらに万全を期す場合は、バックアップデータが記録された磁気テープやディスクなどをシステムが設置されている場所以外に保存することが望まれる。こうすることにより、万一火災等によりシステムが損傷した場合においても、データの消失を免れるのである。
 しばしば、「うちのシステムはRAID(複数のディスク装置に同時にデータを書き込む仕組み)を採用しているのでバックアップはいらない」という声を聞くことがある。しかし、RAIDはディスク装置の故障に対してデータの保全を行ったり、システムの停止を防ぐ仕組みである。確かに各装置の故障発生率などを考えると、データが消失する危険性はディスク装置の故障によるものが大部分を占めるので、
データ消失の可能性を大幅に減少させることには違いないのであるが、ディスク装置の故障以外からはデータを守ることはできないのである。極端な例ではあるが、アプリケーションの不具合やコンピュータウィルスの侵入などによるデータが改ざんや消去などからデータを保全するということはできないのである。
 2番目に考えるべき対策としては、いかに障害などによりシステムが停止することを防止するのかということである。障害の発生しやすい個所を多重化して、万一障害が発生してもシステムの停止とならないようにすることなどがこの対策となる。前述のディスク装置のRAID構成などがひとつの手段である。装置の故障などは、どれだけ使用すれば必ず不具合が生じるといったようなものではないので、費用に対する効果というものが把握しにくい面があるのも事実であり、過去の事例や専門家の意見を参考にしながらそのシステムに求められるべき可用性を確保できるように対策を行っていく必要がある。これら1番目と2番目の対策によるコストは、主にシステム導入時の初期コストに影響を与える。
 3番目に考える対策としては、障害などによりシステムが正常に動作しないようになった場合に、いかに早い時間で復旧できるかということである。システムに不具合が発生した場合、一般的にメーカーの技術者に来てもらい、障害の原因を調査して、部品交換などの措置をおこなってシステムを復旧させる。この場合、対応した技術者の人件費や交換した部品などの費用が必要となるのはもちろんのことであるが、この対応自体に即応性を求めるのであれば、技術者を確保して待機させておくことなどに対する費用なども発生するのである。したがって3番目の対策によるコストは、主にシステム導入後のランニングコストに影響してくる。
 グループウェアなどの比較的小規模なシステムについては、1番目と2番目の対応についてはしっかりと考慮されていても3番目の対応については、ランニングコストがあまりかけられないという状況もあって、十分に考えられていないケースもよくある。そのため、障害が発生したシステムを復旧させるのに予想以上の多くの時間や費用がかかったという話もしばしば聞かれるのである。

4.システムを導入するにあたって
 システムを導入するひとつの方法として、クラウドサービスを利用するという方法がある。だが、クラウドサービスは月々の使用料がかかるのでランニングコストが大きくなると思われる方もよくおられる。しかし、クラウドサービスの対障害性は一般的に事務所の片隅で運用されているコンピュータシステムより優れている。そのうえサービス提供者側として複数のシステムをあわせて保守を行うことにより、ランニングコストを抑えることができるため、システムの対障害性能からみたランニングコストは決して高いものではないと考えられる。コンピュータシステムを安心して長期的に使用していくためには、求められる重要度に応じて初期費用だけでなく、相応のランニングコストが必要であることを理解し、導入時にしっかりと検討をしていただきたい。


■執筆者プロフィール

池内 正晴 (Masaharu Ikeuchi)

学校法人聖パウロ学園
    光泉中学・高等学校
ITコーディネータ
E-mail: ikeuchi@mbox.kyoto-inet.or.jp