Skip to main content
用語集

フェイルオーバーとは?

ネットワーク冗長化とロードバランシングによるアプリケーションの可用性確保

フェイルオーバーとは、故障したりオフラインになったシステム、コンポーネント、ネットワークの機能を自動的にバックアップに切り替えることであり、高可用性確保のための重要な要素です。

フェイルオーバーは、システムレベルの冗長性とネットワークの冗長性の両方を提供することで、問題や定期メンテナンスが発生した場合でも通常のオペレーションを継続できるようにします。フェイルオーバーは、一般的にアプリケーション負荷分散装置(アプリケーションロードバランサー)や アプリケーション配信コントローラーなどのデバイスを通じて実現されます。

フェイルオーバーとネットワーク冗長化で高可用性を確保する

ユーザーが満足できるサービスを提供し、ビジネスを確実にサポートするために、企業はアプリケーションが常に利用可能で、パフォーマンスが高く、フォールトトレラントであることを必要とします。この要件はアプリケーションの可用性と呼ばれ、アプリケーションの全体的または時間的なアップタイムとダウンタイム、完了したトランザクション数、応答性、信頼性などの主要パフォーマンス指標(KPI)を使用して評価されます。また、一貫性のあるエラー、タイムアウト、リソースの欠落、DNSルックアップのエラーなど、実際の障害あるいは発生する可能性のある障害も考慮されます。

信頼性が特に重要な場合、企業は高可用性のための厳しい基準を満たすよう努力します。これはしばしば「ファイブナイン」(99.999%)と定義され、長期間にわたって極めて低いエラー率で安定したオペレーションを維持することを意味します。高可用性を実現するためには、どんなに優れたコンピューティング環境でも避けられない個々の問題がユーザーに影響を与えないように、単一障害点を回避するようにシステムを設計しなければなりません。このため、高可用性アーキテクチャには通常、冗長バックアップシステムと、問題発生時にこれらの二次コンポーネントやネットワークに切り替わるメカニズムが含まれています。混乱を避けるため、このフェイルオーバープロセスは、可能な限り迅速かつユーザーに対して透過的でなければなりません。

Uptime Availability
可用性の計算(Wikipedia)

従来、高可用性は、医療、救急機関、軍事アプリケーション、自動運転車などダウンタイムが特に重要視されるシステムに必要とされてきましたが、現代のデジタルライフはその関連性を急速に拡大させています。競争の激しい消費者市場やビジネス市場では、アプリケーションやサービスを利用し続けることができなければ、顧客の満足度やロイヤリティ、定着率に深刻な影響を与える可能性があります。ビジネス・ユーザーは、業務に必要なリソースにアクセスできなければ、生産性が低下します。また、脅威が激化する中、信頼性の低いコンピューティング環境がもたらす混乱や破壊は、侵入を招く可能性があります。

ネットワークの冗長化は、高可用性確保において最も重要な要素の一つです。冗長化されたネットワーク機器、装置、通信媒体をネットワークインフラに導入することで、ネットワーク機器や経路が利用できなくなった場合でも、重要なネットワーク通信を中断することなく、迅速なフェイルオーバーを可能にすることができます。ネットワークの冗長化は、通常、スタンバイルーターとスタンバイスイッチによって実現され、ネットワークトラフィックを代替ネットワークパスに迅速に迂回させて、ネットワーク通信とサービスを利用し続けることができます。さらに、バッテリーのバックアップや発電機などの電源、データの複製、地理的な多様性などを含めた包括的なネットワーク冗長化により、さまざまな自然災害やその他の予期せぬ出来事から保護することができます。

バックアップ用ネットワーク機器がネットワークの冗長性を実現するのと同様に、高可用性クラスタでは、アプリケーション配信をサポートするサーバーのフェイルオーバーを実現します。サーバーを冗長ペアで配置したり、より大きなグループに1台の予備サーバーを含めたりすることで、組織はダウンタイムや混乱を最小限に抑えながら、アプリケーションサービスを故障したサーバーからバックアップに迅速に移行することができます。

フェイルオーバーにおけるアプリケーションロードバランサーとアプリケーション配信コントローラーの役割

高可用性アーキテクチャでは、フェイルオーバーはロードバランサーまたはアプリケーション配信コントローラーによって提供されます。どちらの場合も、ロードバランシング機能は、物理サーバーや仮想サーバーなどの複数のサーバーにアプリケーショントラフィックを分散させ、1つのサーバーが過剰な要求を負担することがないようにするものです。これには、障害が発生したデバイス、仮想マシン(VM)、またはクラウドインスタンスからのトラフィックをクラスタの他のメンバーに再分配することや、フェイルオーバーを使用してトラフィックとタスクをセカンダリのバックアップサーバーに切り換えることも含まれます。アプリケーションロードバランサーやサーバーロードバランサーが提供するヘルスチェック、ロードバランシング、フェイルオーバーは、アプリケーションの応答性と可用性を高めるだけでなく、企業が分散サービス妨害(DDoS)攻撃に耐えられるよう支援することもできます。

アプリケーションロードバランサーは、アプリケーション層、つまりネットワークのOSI(Open Systems Interconnection)参照モデル第7層で負荷分散を行い、HTTP/HTTPSヘッダーの特性、メッセージ内容、URLタイプ、クッキーデータなどの詳細情報に基づいてルーティングを決定します。サーバーロードバランサーは、トランスポート層レイヤー4)で同様の役割を果たし、TCPとUDPプロトコルを使用して、単純な負荷分散アルゴリズムとサーバー接続や応答時間などの基本情報に基づいて、トランザクショントラフィックを管理します。グローバルサーバーロードバランシング(GSLB)は、複数のデータセンターやクラウドにまたがって、より大規模に同様の機能を実行します。L4-7ロードバランサーは、データの保存、操作、通信サービスを提供するISOレイヤー4から7にわたる一連のネットワークサービスに基づいてトラフィックを管理します。

専用のアプリケーションロードバランサーやサーバーロードバランサーの代わりに、負荷分散機能をアプリケーション配信コントローラーで提供し、その他の機能とともに、パフォーマンスの高速化、分析、ファイアウォールなどの企業規模の顧客向けアプリケーションを安全に配信することができます。ハードウェア、仮想、クラウド、ベアメタル、コンテナなどの形態で組織のWebサーバーとエンドユーザーの間に配置されるアプリケーション配信コントローラーは、アプリケーションサーバーを保護しながら、最小限の遅延で大量のトランザクション処理を可能とします。企業環境と従業員の両方がより広範囲に分散するようになったため、アプリケーション配信コントローラーはインフラストラクチャの最も重要な要素の1つとなっており、人々がどこで働いていようと、完全なセキュリティで最適なパフォーマンスを確保できるよう組織を支援しています。L4-7 ロードバランシング機能を統合したアプリケーション配信コントローラーを使用することで、組織はインフラを簡素化し、管理を合理化し、アプリケーション配信とロードバランシングの両方の有効性を強化することができます。

高可用性を効果的に確保するには、問題や障害によって自動的なフェイルオーバーが必要になったときに、それを判断する方法が必要です。ロードバランサーまたはアプリケーション配信コントローラーによって実行されるこのヘルスチェック機能は、サーバー、ネットワークデバイス、およびその他のコンポーネントへのプローブで構成され、それらの可用性を評価し、スループット、トラフィックレート、範囲外のエラートラフィックの割合、正常なSSL接続数、アプリケーションサーバーとクライアント側の平均遅延、特定のSQLデータベースクエリの応答時間などのパフォーマンス指標を取得することができるものです。サーバーが所定の数のプローブに正常に応答した場合、そのサーバーは健全とみなされ、新しいリクエストを受信する資格を維持します。不健全なデバイスには IT 部門に注意を促すためのフラグを立てることができ、自動的な フェイルオーバーによってバックアップデバイスにオペレーションを切り替えたり、クラスタの残りのメンバー間でトラフィックを再分配したりすることができます。

A10が高可用性のためにフェイルオーバーをサポートする方法

A10のアプリケーション配信コントローラー/負荷分散A10 Thunder® ADCは、サーバーの健全性を継続的に監視することにより、ダウンタイムをほとんど発生させずに高可用性と迅速なフェイルオーバーを保証します。このソリューションの健全性チェック機能は、ロードバランシングサーバーロードバランシング、およびグローバルサーバーロードバランシングの豊富な機能の一部となっています。

< 用語集インデックスページに戻る

資料でわかる!A10のサーバー負荷分散

Web事業者様のサービスインフラにセキュリティ、高速性、可用性をもたらすA10のソリューションをご提案します。

資料ダウンロード Web事業者様のサービスインフラにセキュリティ、高速性、可用性をもたらすA10のソリューションをご提案します。