高可用性(HA) vs. フォールト・トレランス


高可用性(HA) とフォールト・トレランスの何が違うのか?

どのようなビジネスを経営しているにせよ、何らかのハードウェアとOS(またはハイパーバイザー)の上で稼働しており、ハードウェアやOSに障害が発生した場合、ビジネスのワークフローが滞る可能性があります。さらに、バックアップが利用可能であっても、復旧手順にはかなりの時間がかかり、収入と評判の両方でビジネス上の損失が発生する可能性があります。

ITインフラのダウンタイムのリスクを軽減する方法は、正確には2つあります: 高可用性(HA)とフォールト・トレランス(耐障害性:FT)です。残念なことにこの2つを多くの人がいまだにごちゃ混ぜにし続けていいます。そこで、HAとFTの両方がどのようなもので、どのような違いがあり、どちらがIT利用者にとって良いのかを考えてみましょう。


高可用性(HA)とは?

高可用性とは、コンポーネントに障害が発生した後、インフラが迅速に自己回復し、ほとんどの時間稼働し続ける能力のことです。HAシステムでは、フェイルオーバーに必要な短時間(数秒から数分)のダウンタイムが発生することがあるが、重要なのはデータが失われないことです。HA環境では、RPOはゼロ、RTOは数分に近いものです。クラウドサービスでは、99.9%(1年間のダウンタイムが約9時間)や99.999%(1年間のダウンタイムが約5分半)など、1年を通してサービスが利用可能な時間の割合で測定されることが多いことがあります。

実際のシナリオで例を挙げましょう。ハードウェアがクラッシュし、サービスが自動的に復旧するまで数分間オフラインになりました。この状況は喜ばしいものではありませんが、1~2分のダウンタイムがビジネスに影響を与える可能性は極めて低いでしょう。

高可用性の利点

●フォールト・トレランス・ソリューションと比較してコスト効率が高い

複雑性が低い。すぐに使えるHAを提供するベンダーはたくさんあります。また、DIY HAソリューションのためのフリー(またはオープンソース)ツールもあります。

スケーラビリティ(拡張性)。ほとんどのHAソリューションはクラスタの概念を利用しているため、非HAインフラよりも拡張が容易。

●バックアップやディザスタリカバリのレプリケーションと比較して、RPOとRTOがはるかに優れている

●人手を介さない自動サービス復旧が可能

高可用性の欠点

●故障したコンポーネントのサービス/アプリケーションの実行が中断される。ダウンタイムはそれほど大きくないが、それでも発生する。

●障害によるデータ損失(RAMに存在し、不揮発性ストレージに書き込まれていないデータのみ)。

ランサムウェア対策なし。バックアップやディザスタリカバリのレプリケーションをHAと共に適用し、事業継続のアプローチを強化する必要がります。

リソースを消費する。HAの運用には、非HA(または非FT)インフラよりも多くのハードウェア・リソースが必要です。

高可用性システムの実装方法

高可用性は、アプリケーション・レベルでもインフラ・レベルでも実装できる。アプリケーションによっては、MS SQL(Basic Always On 可用性グループ)のようにビルトイン HA を備えているものもありますが、最も一般的な HA は、クラスタリングと仮想化によってインフラストラクチャレベルで適用されます。複数のハードウェアサーバが 1 つのクラスタにまとめられ、その上でハイパーバイザ、アプリケー ション、およびサービスが実行されます。すべてのクラスタメンバーは、共有ストレージと共有設定データベースを持ちます。

クラスタ・メンバーに障害が発生した場合、その上で稼働しているサービス/アプリケーション/VM/コンテナは、健全な他のクラスタ・メンバーに切り替わります。Windows Server Failover Cluster、HA機能付きvSphere Cluster、Kubernetes Cluster、またはoVirt Clusterがその例です。共有ストレージは、外部SANまたはソフトウェア定義ストレージソリューション(StarWind vSANなど)によって提供されます。ハードウェア・ベンダは、ソフトウェア・スタック・バンドル付きのクラスタ・レディ・ノードを提供しているため、追加設定なしですぐに動作します。

フォールト・トレランス(FT)とは

フォールト・トレランスとは、データの損失やサービスの中断なしに、故障したハードウェアやOSから別の健全なハードウェアに、透過的かつ自動的にサービスやアプリケーションを切り替えるインフラの能力のことです。FTシステムでは、たとえ短時間であってもダウンタイムは発生しません。確かに、わずかなフェイルオーバー時間(ミリ秒/数秒)は発生するかもしれないが、この一種の障害は、FTサービスに依存しているユーザーや外部アプリケーションにはほとんど気づかれません。結局、RPOもRTOもゼロになります。

現実のシナリオでは短いソフトウェアのダウンタイムでさえ、ラインや最終製品の損傷や長い生産回復につながる可能性があります。FTシステムは、コンポーネントに障害が発生した場合、制御アプリケーションを別のハードウェアに透過的に切り替え、製品ラインは一切中断することなく稼働し続けることができます。

フォールトトレランスの利点

ダウンタイムとRTOがゼロ(最悪の場合、RTOは存在するが、ユーザや外部アプリケーションにはまったく気づかない)。

データ損失とRPOをゼロに。RAMや故障したハードウェア上にあったとしても、すべてのデータは利用可能なままです。

フォールトトレランスの欠点

導入コストが高い

ランサムウェア対策がない。フォールト・トレランス自体では、サイバー犯罪から環境を保護できない。HAと同様に、バックアップやディザスタリカバリ・レプリケーションをFTと一緒に適用し、適切な事業継続アプローチを実施する必要がある。

●ネットワーク経由でRAMとCPU状態をリアルタイムにミラーリングするため、(HAに比べて)パフォーマンスが低下する

●一般的な仮想化ITインフラ用途の完全なFT機能を備えた製品が限られている

フォールト・トレランス・システムの実装方法

フォールト・トレランスは、HAと同じように、アプリケーション・レベルでもインフラ・レベルでも実装できます。アプリケーションベースのフォールトトレランスの実例として、Microsoft Active Directoryを挙げておいても差し支えないでしょう。ディレクトリはドメインコントローラー間で透過的にミラーリングされ、コントローラー1台が故障してもサービスは中断しないし、インフラにも影響しません。

仮想化環境ではHAと同様に機能するが、1つだけ重要な違いがあります。ハイパーバイザーが他のクラスタ・メンバー上にシャドウ・スタンバイVMを作成し、アクティブVMからシャドウVMにRAM、CPU、ストレージをレプリケートします。スタンドバイVMは、元の「アクティブ」VMが稼動していたハードウェアに障害が発生するとすぐに起動します。フォールト・トレラントなインフラ・ソリューションの好例は、FT機能を備えたvSphereです。

高可用性(HA) vs. フォールト・トレランスのまとめ

最後に:フォールト・トレランスは高いコストでサービス/アプリケーション機能を中断させないことを可能にし、ハイ・アベイラビリティは障害発生後の自動復旧を特別に高速化し、ダウンタイムを最小限に抑えることを可能にします。いままでの内容を踏まえると、ITインフラにはフォールト・トレランスが最適だと思われるかもしれません。というのも、これはコストの問題だけでなく、インフラがどれだけ複雑かという問題でもあるからだす。1年に1~2分のダウンタイムを許容できるビジネスであれば、高可用性が正しい選択であることは間違いありません。小さなダウンタイムでもビジネスに大きな影響を与えるのであれば、フォールト・トレランスの導入を真剣に検討すべき時です。この情報が役に立つことを願って終わりとします。

関連トピックス:
カテゴリー: セキュリティ, BCP, クラウド・仮想インフラ タグ: , , , パーマリンク

この記事のトラックバック用URL