LAMP(Linux, Apache, MySQL/MariaDB, PHP)環境でのHAクラスタ構成は、
基本的に 「Webサービス+DBを止めずに動かし続ける」 ために、複数ノード+フェイルオーバー機構を使う形になります。
ここではご質問の インライン構成 と ワンアーム構成 の違いを、LAMPのHAクラスタに当てはめて説明します。
1. インライン構成(Inline Mode)
構成イメージ
[ユーザー] ↓[HAクラスタ機器(ロードバランサー/フェイルオーバー)] ↓[Webサーバ群 (Apache/PHP)] ↓[DBクラスタ (MySQL/MariaDB)]
特徴
LAMPでの適用例
HAProxyやLVSをインラインに設置し、Apache/PHPサーバを負荷分散
MySQLはGalera ClusterやDRBD+PacemakerでHA化
ロードバランサー自体もPacemakerで2ノード冗長化し、仮想IP(VIP)で切替
2. ワンアーム構成(One-arm Mode)
構成イメージ
[ユーザー] ↓[スイッチ]───[HAクラスタ機器] │ └───[Webサーバ群] ↓ [DBクラスタ]
HAクラスタ機器(ロードバランサー)が既存ネットワークの一部にぶら下がる形で接続
通信は直接サーバへ行き、HAクラスタ機器は振り分け制御だけ行う
機器はトラフィックをフルプロキシするのではなく、パケットを制御・転送するだけ(DSRやSNAT利用)
特徴
ネットワーク構成の変更が少ない(既存ネットワークに後付けしやすい)
機器の負荷は低め(全トラフィックを経由しない場合もある)
フェイルオーバーは機器側のみで行うが、クライアント側設定(ARPやルーティング調整)が必要な場合あり
LAMPでの適用例
HAProxyをワンアーム構成で配置し、Apache群に負荷分散
MySQLは別途HAクラスタ構成(例:MySQL InnoDB ClusterやDRBD+Pacemaker)
ロードバランサーが直接トラフィックをプロキシせず、パケットの経路だけ制御
3. まとめ(比較表)
| 項目 | インライン構成 | ワンアーム構成 |
|---|
| 配置 | 経路上に直接配置 | ネットワークにぶら下がる |
| フェイルオーバー影響範囲 | 経路ごと切替 | ロードバランサー部分のみ |
| 導入難易度 | ネットワーク変更が必要 | 既存構成に追加しやすい |
| パフォーマンス負荷 | 全トラフィック通過で負荷大 | 制御部分のみ通過で負荷軽め |
| LAMP適用時 | VIPで完全透過な切替 | 転送制御中心、経路は維持 |
この記事へのコメント