高可用性アーキテクチャは、システムの運用性能を確保し、計画外のダウンタイムや中断を回避します。本記事では、高可用性が重要な理由、その測定方法、ベストプラクティスについて解説します。
高可用性とは?
高可用性(HA)とは、ITシステム、コンポーネント、アプリケーションが、障害を起こすことなく、一定期間にわたって高い運用性能を継続的に維持する能力を指します。高可用性システムの環境には、複雑なサーバークラスターだけでなく、予期せぬ事象から最短時間でシステムを復旧する能力も含まれます。
高可用性アーキテクチャのコンポーネントは、稼働時間を確保し、計画外のダウンタイムや中断を回避するのに役立ちます。
高可用性アーキテクチャのコンポーネントは稼働時間の確保に役立ち、計画外のダウンタイムや中断を回避します。稼働時間とは、システムが稼働し利用可能である信頼性を指し、これに対してダウンタイムとは、システムを利用できない期間を指します。
高可用性インフラストラクチャは、高品質な性能を発揮し、大きな負荷や障害にも対応しながら、ダウンタイムを最小限に抑えるよう構成されます。通常、可用性は、一定期間内の稼働時間の割合として表されます。
高可用性が重要な理由
可用性は、システムにとって最も重要な要素です。組織の種類を問わずIT環境を構築する際には、高可用性を最優先事項として考慮しなければなりません。組織は、システムが中断なく利用可能で、稼働し続けることを期待しています。
計画外のダウンタイムや中断によってシステムが利用できなくなると、組織やユーザーへの影響は甚大になる可能性があります。例えば、Facebookのサービスは2021年10月4日にほぼ6時間にわたって停止しました。この計画外の障害により、世界中で35億人を超えるユーザーが影響を受け、ソーシャルメディア大手は推定60億米ドルの損失を被りました。
詳しく読む:2021年版・サーバーバックアップソフトウェアとソリューションのトップ製品
高可用性はどのように測定するのか?
可用性は、総稼働時間をシステム期間(稼働時間とダウンタイムの合計)で割って算出し、その結果に100を掛けてパーセンテージを求めます。
可用性=(総稼働時間÷システム期間)×100
可用性の割合は、数値に含まれる「9」の数で表されることもあります。
高可用性システムとサービスは、計画停止と計画外停止のいずれにおいても99.999%の可用性を実現することを想定して設計されます。これは「ファイブナイン」の信頼性と呼ばれます。参考までに、フォーナイン(99.99%)の可用性は業界標準とされています。ただし、これはシステムやその用途によって異なる場合があります。
| 可用性 | 1日あたりのダウンタイム | 1か月あたりのダウンタイム | 1年あたりのダウンタイム |
|---|---|---|---|
| ナイン1つ(90%) | 2.40時間 | 73.05時間 | 36.53日 |
| ナイン2つ(99%) | 14.40分 | 7.31時間 | 3.65日 |
| ナイン3つ(99.9%) | 1.44分 | 43.83分 | 8.77時間 |
| ナイン4つ(99.99%) | 8.64秒 | 4.38分 | 52.60分 |
| ナイン5つ(99.999%) | 864.00ミリ秒 | 26.30秒 | 5.26分 |
| ナイン6つ(99.9999%) | 86.40ミリ秒 | 2.63秒 | 31.56秒 |
高可用性のベストプラクティス
高可用性を確保するには、さまざまな手順があります。これらのベストプラクティスは、企業全体で高可用性アーキテクチャを導入するのに役立ちます。
クラスタリング
クラスタリングを利用すると、サービスで障害が発生した際に即座に対処できます。クラスター対応のアプリケーションサービスは、他のサーバーのリソースを呼び出せます。メインサーバーが停止すると、セカンダリーサーバーが引き継いでサポートします。高可用性クラスターには、情報を共有する複数のノードが含まれる場合があります。
バックアップ
高可用性アーキテクチャの最も重要な特性の1つは、システム障害からデータが保護されることです。バックアップと復旧の戦略により、価値の高い機密データを適切にバックアップし、複製および再作成できる状態で保存できます。
RPOを満たすためのデータ同期
データ同期を設定すると、システムの目標復旧時点(RPO)、すなわち「事業継続計画で許容される最大しきい値を、その期間中に失われたデータ量が超えるまでに、障害発生中に経過する可能性のある時間の間隔」を満たせます。これはDruvaによる定義です。
データ同期とは、システム内で一貫性のあるデータを確立し、その後システム全体で継続的にデータを更新して、データの整合性を維持するプロセスです。最高レベルの可用性を実現するには、RPOを60秒以下に設定する必要があります。
RTOを決定する
目標復旧時間(RTO)とは、障害や災害の発生後、業務プロセスを一定レベルのサービスに復旧するまでに許容される最大時間として設定された値を指します。ファイブナイン(99.999%)の可用性を実現するには、RTOを30秒以下に設定する必要があります。対象システムをテストし、このモデルに切り替える準備が整っていることを確認することが重要です。
監視と障害対応計画
システムの監視ツールはこれらのサービスを統合し、性能に関するレポートを提供します。これらのツールは、進行中または発生が予想される中断や災害を容易に検知します。障害対応計画は、システム障害の発生に備えるための準備を強化する措置を組織が講じるのに役立ちます。そのため、障害を想定した計画は、高可用性のベストプラクティスを適用するうえで不可欠です。
高可用性は多くのサービスに求められていますが、企業にとって実現が難しい場合もあります。とはいえ、高可用性アーキテクチャをサポートするプロバイダーは数多く存在します。すべての企業は、障害やダウンタイムを最小限に抑え、サービスの可用性を可能な限り高める必要があります。