---
title: "高可用性アーキテクチャとソフトウェアクラスタリングのベストプラクティス"
canonical: "https://safekit.eviden.com/ja/best-practises/high-availability-architectures-and-best-practices/"
description: "アプリケーションクラスタリングにおける高可用性（HA）アーキテクチャとベストプラクティスを紹介します。SafeKit は共有ディスクなしで Mirror／Farm クラスターを実装し、データ損失を防ぎ、重要なアプリケーションの自動フェイルオーバーを実現します。"
category: "best-practises"
lang: "ja"
topics: "高可用性アーキテクチャとベストプラクティスとは？, 高可用性アーキテクチャとベストプラクティスの比較表"
---

# 高可用性アーキテクチャとソフトウェアクラスタリングのベストプラクティス {#high-availability-architectures--software-clustering-best-practices}

## 高可用性アーキテクチャとベストプラクティスとは？ {#what-are-the-high-availability-architectures-and-the-best-practices}

### 概要 {#overview}

この記事では、さまざまな高可用性アーキテクチャとベストプラクティスを取り上げ、それぞれの長所と短所を比較します。

![高可用性アーキテクチャとベストプラクティス](https://safekit.eviden.com/wp-content/uploads/2023/03/high-availability-architectures-and-best-practices.png "w:400")

以下の比較表では、高可用性ソフトウェア SafeKit のアーキテクチャとベストプラクティスを詳しく説明します。

### 高可用性アーキテクチャにはどのような種類がありますか？ {#what-are-the-high-availability-architectures}

[高可用性アーキテクチャ](<https://www.techtarget.com/it-infrastructure/definition/What-is-high-availability-HA-Definition-and-guide>)には、データベースなどのバックエンドアプリケーション向けと、Web サービスなどのフロントエンドアプリケーション向けの2種類があります。

バックエンド向けアーキテクチャでは、2台のサーバーがデータを共有または複製し、ハードウェアまたはソフトウェアの障害時にアプリケーションを自動フェイルオーバーします。

フロントエンド向けアーキテクチャでは、2台以上のサーバーでファームを構成します。ハードウェアまたはソフトウェアによる負荷分散で、TCP セッションを利用可能なサーバーに振り分けます。

また、アプリケーションレベルと仮想マシンレベルのどちらで高可用性を実現するかを選択します。

### ベストプラクティスには何がありますか？ {#what-are-the-best-practices}

この記事では、高可用性アーキテクチャのベストプラクティスを次の項目で比較します。

  * [ソフトウェアクラスタリングとハードウェアクラスタリング](<https://safekit.eviden.com/ja/best-practises/clustering-software-vs-hardware-clustering/>),
  * [shared-nothing と shared-disk アーキテクチャ](<https://safekit.eviden.com/ja/best-practises/shared-nothing-architecture-vs-shared-disk-architecture/>),
  * [アプリケーション HA と VM HA](<https://safekit.eviden.com/ja/best-practises/vm-ha-vs-application-ha/>),
  * [高可用性とフォールトトレランス](<https://safekit.eviden.com/ja/best-practises/high-availability-cluster-vs-fault-tolerant-system/>),
  * [同期レプリケーションと非同期レプリケーション](<https://safekit.eviden.com/ja/best-practises/synchronous-replication-vs-asynchronous-replication/>),
  * [ファイルレプリケーションとディスクレプリケーション](<https://safekit.eviden.com/ja/best-practises/byte-level-file-replication-vs-block-level-disk-replication/>),
  * [データレプリケーション技術](<https://safekit.eviden.com/ja/best-practises/data-replication-techniques/>),
  * [RPO と RTO の例](<https://safekit.eviden.com/ja/best-practises/what-is-rpo-and-rto-with-examples/>),
  * [スプリットブレインとクォーラム](<https://safekit.eviden.com/ja/best-practises/heartbeat-failover-quorum-windows-linux-cluster/>),
  * [仮想 IP アドレス](<https://safekit.eviden.com/ja/best-practises/how-a-virtual-ip-address-works/>).

## 高可用性アーキテクチャとベストプラクティスの比較表 {#comparative-tables-on-high-availability-architectures-and-best-practices}

ビジネスの継続性を確保し、ダウンタイムを最小限に抑えるためには、適切な高可用性（HA）ソリューションを選択することが極めて重要です。この比較では、2つの主要なアーキテクチャ手法について直接的な技術的検証を行います。1つはSafeKitのソフトウェア定義によるシェアードナッシング（Shared-Nothing）クラスタリング、もう1つはハードウェア、共有ディスク（SANなど）、および複雑な設定に依存する従来のHA手法です。これらの違いは、導入の容易さ、データレプリケーション手法、復旧速度（RTO/RPO）、および運用上の複雑さに及びます。以下の表では、主要な高可用性トピックにわたる根本的な違いを詳しく説明します。

**高可用性の比較：SafeKit ソフトウェアクラスタリング vs 従来のHA / ハードウェアクラスタリング**

トピック | SafeKit（ソフトウェアクラスタリング / 主な手法） | 従来のHA / ハードウェアクラスタリング  
---|---|---  
[ソフトウェアクラスタリング vs ハードウェアクラスタリング](https://safekit.eviden.com/best-practises/clustering-software-vs-hardware-clustering/) |  • 2台のサーバーにSafeKitパッケージをインストールするだけのシンプルなソフトウェアクラスタ  |  • 外部ストレージやネットワークロードバランサーを必要とする複雑なハードウェアクラスタリング   
[シェアードナッシング vs 共有ディスククラスタ](https://safekit.eviden.com/best-practises/shared-nothing-architecture-vs-shared-disk-architecture/) |  • SafeKitはシェアードナッシングクラスタであり、遠隔地であっても導入が容易  |  • 共有ディスククラスタは導入設定が複雑   
[アプリケーション高可用性 vs 仮想マシン全体の高可用性](https://safekit.eviden.com/ja/best-practises/vm-ha-vs-application-ha/) |  • アプリケーションチェッカーにより、ハードウェア障害とソフトウェア障害の両方に対応。<br>• アプリケーションのみを再起動することで迅速な復旧時間を実現（[RTOは約1分以内](https://safekit.eviden.com/best-practises/what-is-rpo-and-rto-with-examples/)）。<br>• アプリケーションHAでは、アプリケーションごとの再起動スクリプトとレプリケーション対象フォルダ（SafeKitアプリケーションモジュール）の定義が必要。  |  • フル仮想マシンHAは、ハードウェア障害およびVMフリーズなどの一部のソフトウェア障害に対応。<br>• 障害発生時にVMが再起動し、復旧時間はOSの再起動速度に依存。<br>• フル仮想マシンHAでは再起動スクリプトの定義が不要（SafeKitの 🛠️ [hyperv.safe](https://safekit.eviden.com/quick-install/safekit-quick-installation-guide-with-hyper-v/) または 🛠️ [kvm.safe](https://safekit.eviden.com/quick-install/safekit-quick-installation-guide-with-kvm/) モジュール）。ハイパーバイザーは複数の仮想マシンでアクティブ/アクティブ動作。
[高可用性 vs フォールトトレランス（耐障害性）](https://safekit.eviden.com/best-practises/high-availability-cluster-vs-fault-tolerant-system/) |  • SafeKitには専用サーバーが不要。[各サーバーがお互いのフェイルオーバーサーバーとして機能可能](https://safekit.eviden.com/architectures/active-active-cluster-real-time-replication/)。<br>• 別のOS環境での再起動によるソフトウェア障害対応。<br>• サーバーごとにアプリケーションおよびOSのローリングアップグレードが可能（バージョンNとN+1の共存が可能）。  |  • 命令レベルで同期された同じアプリケーションを実行するための専用セカンダリサーバーが必要。<br>• ソフトウェアの例外処理が両方のサーバーで同時に発生。<br>• ローリングアップグレードが不可。<br>• 専用のフォールトトレラントハードウェアまたはハイパーバイザーが必要。   
[同期レプリケーション vs 非同期レプリケーション](https://safekit.eviden.com/best-practises/synchronous-replication-vs-asynchronous-replication/) |  • SafeKitはリアルタイムの同期レプリケーションを実装し、障害発生時にもデータ損失ゼロを実現。<br>• 高可用性を実現するための必須条件。  |  • 非同期レプリケーションでは、障害発生時にデータ損失が発生。<br>• 高可用性には不向きであり、バックアップソリューション向けの手法。   
[バイトレベルのファイルレプリケーション vs ブロックレベルのディスクレプリケーション](https://safekit.eviden.com/best-practises/byte-level-file-replication-vs-block-level-disk-replication/) |  • SafeKitはリアルタイムのバイトレベルファイルレプリケーションを実装し、システムディスク内であってもレプリケーション対象のアプリケーションディレクトリを指定するだけで簡単に設定可能。  |  • ブロックレベルのディスクレプリケーションは設定が複雑であり、専用ディスクにアプリケーションデータを配置することが必要。   
[2つのマスターノードを回避するためのハートビート、フェイルオーバー、クォーラム](https://safekit.eviden.com/best-practises/heartbeat-failover-quorum-windows-linux-cluster/) |  • 2つのマスター（スプリットブレイン）の発生を防ぐため、SafeKitはルーター上に設定するシンプルなスプリットブレインチェッカーを提案。  |  • 2つのマスターを回避するために、他のクラスタでは3台目のマシン、専用クォーラムディスク、専用相互接続ラインなどの複雑な設定が必要。   
[仮想IPアドレス：プライマリ/セカンダリ、ネットワークロードバランシング、フェイルオーバー](https://safekit.eviden.com/best-practises/how-a-virtual-ip-address-works/) |  • SafeKitクラスタでは、仮想IPアドレスのために専用プロキシサーバーや特別なネットワーク設定が不要。  |  • 他のクラスタでは、仮想IPアドレスのために特別なネットワーク設定が必要（注：SafeKitはロードバランサーに適したヘルスチェック機能を提供）。   

**要約すると** 、ソフトウェアクラスタリング（SafeKit など）とハードウェアクラスタリング（従来の共有ディスク/SAN 構成）のどちらを採用するかは、導入の複雑さ、運用コスト、および障害復旧の有効性に大きな影響を与えます。この比較から得られる重要な結論は、共有ディスクに依存しない「Shared-Nothing」アーキテクチャとアプリケーションレベルの高可用性（HA）への移行です。このアプローチは、アプリケーションの迅速な復旧（低RTO）と柔軟な導入（遠隔地間の構成を含む）を重視し、多くの場合、ハードウェアに大きく依存する複雑なクラスタ構成よりも、シンプルで高い耐障害性を備えたソリューションを実現します。管理を簡素化しながら最大限の事業継続性を確保するためには、ソフトウェアベースのアプローチを評価することが不可欠です。

