高可用性 (コウカヨウセイ) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

高可用性 (コウカヨウセイ) の読み方

日本語表記

高可用性 (コウカヨウセイ)

英語表記

High Availability (ハイ アベイラビリティ)

高可用性 (コウカヨウセイ) の意味や用語解説

高可用性とは、システムが停止することなく、ユーザーに対してサービスを提供し続けられる能力を指す。これは、システムの一部に障害が発生した場合でも、全体のサービスが中断することなく、高いレベルで機能し続ける状態を意味する。現代社会において、ITシステムは社会インフラやビジネスの中核を担っており、その停止は社会生活や経済活動に甚大な影響を及ぼす。金融取引、医療システム、オンラインショッピング、交通管制など、多くのサービスがITシステムに依存しており、その利用不能は企業に経済的な損失、信頼の失墜、ひいては法的責任をもたらす可能性がある。そのため、システムが常に利用可能であること、すなわち高可用性が極めて重要な要件となっている。 高可用性の実現には多岐にわたる技術と設計思想が組み合わされる。最も基本的な考え方は「冗長化」である。これは、システムを構成するハードウェア(サーバー、ネットワーク機器、ストレージなど)やソフトウェアの各コンポーネントに予備を用意し、現用系に障害が発生した場合でも、自動的に予備系へと処理を引き継ぐことでサービスの中断を防ぐ手法である。例えば、重要な機能を担うサーバーを複数台用意し、一台が故障しても残りのサーバーで処理を継続できるように構成する。この自動的な切り替えの仕組みを「フェイルオーバー」と呼ぶ。フェイルオーバーは多くの場合、人手を介さずに自動的に実行されるため、障害発生から復旧までの時間を最小限に抑え、ユーザーはサービスが一時的に停止したことすら気づかない場合がある。 データについても、同様の冗長化が不可欠である。重要なデータを複数のストレージやデータベースに複製する「データレプリケーション」は、一部のデータ記憶装置が故障したり、破損したりしてもデータが失われることを防ぎ、サービス継続を可能にする。この際、障害発生時にデータをどこまで最新の状態に復旧させるかを示す指標をRPO(Recovery Point Objective:目標復旧時点)と呼び、障害発生からシステムがサービスを再開するまでの時間を示す指標をRTO(Recovery Time Objective:目標復旧時間)と呼ぶ。これらの目標値は、システムの重要性やビジネス要件に応じて厳密に設定され、高可用性設計の重要な要素となる。 システムの安定稼働を維持するためには、「監視」も欠かせない。CPU使用率、メモリ消費量、ディスクIO、ネットワークトラフィック、アプリケーションの応答時間、エラーログなど、システムの状態を常時モニタリングし、異常を早期に検知することで、障害が発生する前に対応したり、発生した障害に迅速に対処したりすることが可能となる。これにより、予期せぬシステム停止を未然に防ぎ、高可用性を維持する上で重要な役割を果たす。 さらに、複数のサーバーに処理を分散させる「負荷分散」も高可用性の一環である。これは、Webサーバーやアプリケーションサーバーなどへのアクセス要求を複数のサーバーに均等に振り分けることで、特定のサーバーに処理が集中し、過負荷によるシステムダウンが発生するのを防ぐとともに、仮に一部のサーバーが障害で停止した場合でも、残りの健全なサーバーでサービスを継続させる役割を果たす。複数のコンピューターを連携させ、単一のシステムとして機能させる「クラスタリング」技術は、これらの冗長化、フェイルオーバー、負荷分散といった高可用性を実現するための主要な手段の一つとして広く利用されている。 高可用性は一般的に「稼働率」という指標で評価される。稼働率は、システムが正常に稼働している時間の割合を示し、例えば「99.999%(ファイブナイン)」といった形で表現される。これは年間で約5分26秒しか停止しないことを意味し、極めて高い可用性を要求されるシステムで目指される値である。ただし、高可用性を追求すればするほど、システム構成の複雑性が増し、それに伴い導入・運用コストも増大する。そのため、システムの特性、ビジネスへの影響度、許容できる停止時間とデータ損失の範囲などを総合的に考慮し、ビジネス要件に合致した適切な可用性のレベルを設計することが重要となる。高可用性は、単にシステムを動かし続けるだけでなく、ビジネスの継続性とユーザーからの信頼を確保するための、現代ITシステムに不可欠な設計思想である。

高可用性 (コウカヨウセイ) とは | 意味や読み方など丁寧でわかりやすい用語解説