高可用性 (HA) とは、通常は組み込みのフェイルオーバー メカニズムを使用して、ダウンタイムや障害なしに継続的に動作するシステムの能力を指します。 高可用性システムは、予期しないイベントが発生した場合でも確実に動作するように設計されています。

高可用性が重要な理由

HA の主な目的は、ダウンタイムを回避することです。ダウンタイムとは、システム、サービス、アプリケーション、クラウド サービス、または機能が利用できない、または正常に機能しない期間のことです。 ダウンタイムは収益の損失、生産性の低下、企業の評判の失墜につながります。 これにより、HA は次の点で重要になります。

  • ビジネス継続性 - HA により、重要なシステム、機能、および機能が常に期待どおりに実行されることが保証されます。 HA システムは障害から迅速に回復するため、組織は期待どおりに(できれば目立った停止なしに)顧客へのサービス提供を継続できます。
  • ユーザー エクスペリエンスの向上 - 高速で信頼性の高いシステムは、顧客満足度を維持し、収益の損失、データの侵害、生産性の低下などの悪影響を回避するのに役立ちます。
  • 競争上の優位性 - 高い可用性により、組織は競合他社よりも高速で信頼性の高いサービスを提供することで差別化を図ることができます。 これは、全体的な品質と顧客満足への取り組みを示しています。

高可用性の種類

HA にはいくつかの種類があり、必要な冗長性のレベル、必要な障害許容度の種類、保護されるシステムの種類に基づいて分類できます。 最も一般的な HA の種類は次のとおりです。

  • アクティブ/パッシブ - バックアップ システムはパッシブ モードまたはスタンバイ モードに維持され、プライマリ システムに障害が発生した場合にのみアクティブになります。 このフェールオーバー保護方法では、バックアップ システムに切り替えるために手動による介入が必要になる場合があります。
  • アクティブ/アクティブ - 複数のシステムがアクティブに実行され、ワークロードを共有します。 1 つのシステムに障害が発生した場合、他のシステムが自動的にワークロードを引き継ぎます。 このタイプの HA では、システム間のより複雑な構成と調整が必要になりますが、手動オプションよりもパフォーマンスとスケーラビリティが向上します。

この図は、2 台の NGINX Plus サーバーからなるアクティブ/パッシブ HA クラスターを示しています。 NGINX は、アクティブ/アクティブやその他のHA 構成もサポートしています。

 

 

図

高可用性はどのように実装されますか?

冗長性とフェイルオーバーのメカニズムにより、単一障害点が防止され、コンポーネントの障害によってシステム、アプリケーション、または機能全体の動作が妨げられることがなくなります。 一般的なメカニズムは次のとおりです。

  1. 冗長コンポーネント - システム内に複数のサーバー、ネットワーク接続、ストレージ システム、および電源装置を展開します。 1 つのコンポーネントに障害が発生した場合、別のコンポーネントが中断することなく引き継ぎます。
  2. 監視とアラート –パフォーマンスと可用性を継続的に監視します。 停止やその他の問題が検出されると、アラートが生成されます。 システム管理者は問題を迅速に特定して解決できるため、ダウンタイムのリスクが軽減されます。
  3. 負荷分散 - 1 つ以上の専用サーバーが (バックエンド) システムのグループに対する要求をインターセプトし、それらの間でトラフィックを分散してパフォーマンスを最適化します。 1 つのバックエンド システムに障害が発生した場合、ロード バランサは受信した要求を他のシステムに自動的にリダイレクトします。
  4. フェイルオーバー メカニズム - アクティブ/パッシブまたはアクティブ/アクティブ構成、あるいはフェイルオーバー クラスタリングを導入して、1 つのシステムに障害が発生した場合でも、最小限の中断で別のシステムが引き継ぐことができるようにします。
  5. バックアップおよびリカバリ システム – 障害が発生した場合でもデータとアプリケーションを迅速に復元できるようにします。 システムはハイブリッド、異なる場所、クラウドベース、または障害発生後にすぐにオンラインになることが可能です。

高可用性をサポートする方法

HA を提供するために展開する必要があるサービスとリソースは、システムのタイプ、HA のタイプ、および組織の特定の要件によって異なります。 サポート要素には以下が含まれます:

  • テクニカル サポート – HA システムに関するサポートを必要とする組織にとっての第一防衛線です。 専任のサポート担当者が問題のトラブルシューティング、診断、解決をお手伝いします。 また、高いレベルの可用性を維持するためのベストプラクティスに関するガイダンスも提供できます。
  • メンテナンスとアップグレード – HA システムを運用可能かつ安全な状態に保つには、定期的にメンテナンスし、利用可能な最新バージョンのソフトウェアを実行する必要があります。
  • 災害復旧計画 – システムを迅速に復旧する必要がある組織にとって重要です。 事前に決定され文書化された手順により、システム管理者は緊急時に解決策を覚えたり考えたりする必要がなくなります。
  • ドキュメントとトレーニング – システム管理者が HA システムの管理方法を理解するのに役立ちます。 ドキュメントには、ベスト プラクティス、チュートリアル、トレーニング セッションが含まれる場合があります。

ベストプラクティス: 高可用性

ベスト プラクティスに従うことで、運用パフォーマンスが向上し、コストのかかるダウンタイムが最小限に抑えられます。 これらの一般的なベスト プラクティスは、組織のシステム、場所、および望ましい結果に合わせて調整できます。

  • 冗長性を組み込む – ハードウェア コンポーネントからネットワーク接続まで、システムのあらゆるレベルが強化されているため、1 つのコンポーネントに障害が発生しても、システムは期待どおりに動作します。
  • トラフィックの負荷分散 - 受信リクエストを複数のシステムに分散することで、1 つのシステムに障害が発生した場合でも、まだ動作しているシステムが処理を引き継ぐことができます。
  • パフォーマンスと可用性を監視 – 継続的な監視とアラートにより、問題の特定と解決にかかる時間が短縮されます。
  • フェイルオーバー メカニズムを頻繁にテストして検証する – 中断が発生した場合でもフェイルオーバー メカニズムが確実に機能を引き継ぐことができるかどうかを判断するための定期的なテスト。
  • バックアップおよびリカバリ手順 – 障害が発生した場合にデータとアプリケーションを迅速に復元できるようにします。
  • システムを定期的にアップグレードして保守する – これにより、アプリケーションとシステムの運用性とセキュリティが維持されます。
  • 人員のトレーニング – 特に HA を担当する個人およびチームの場合、定期的なテストと手順の強化が標準的な運用手順である必要があります。
  • クラウド ソリューションを検討する – クラウド ストレージと災害復旧により、障害が発生した場所に関係なく、システムは継続して動作できます。
  • セキュリティを監視する – 悪意のある人物や権限のないユーザーによるデータ侵害やシステムへのアクセスを防ぐ対策を実施します。