はじめに
Web サイトや業務システムが「遅い」「繋がらない」という事態を防ぐために、ロードバランサー(LB: 負荷分散装置) は欠かせない存在です。
ロードバランサーとは、一言で言えば「通信の交通整理役」です。 クライアントからの大量のアクセスを複数のサーバーに適切に振り分けることで、システムの負荷を分散し、1台のサーバーがダウンしてもサービスを継続できる「可用性(Availability)」を担保します。
しかし、いざ導入しようとすると最初に迷うのが「ネットワークへの接続構成(配置デザイン)」です。 「既存のネットワークを変えずに導入したいのか」「セキュリティを重視して通信を分離したいのか」によって、選ぶべきデザインは大きく異なります。
- ワンアーム構成(One-Arm): 既存環境への「ちょい足し」が得意な構成の仕組み
- ツーアーム構成(Two-Arm): ネットワークの境界線となる構成の仕組み
- それぞれのメリット・デメリットと、自社環境に合った選び方
ワンアーム構成(One-Arm Design)
ワンアーム構成は、その名の通りロードバランサー(LB)がネットワークに対して「片腕(1本のケーブル)」だけで接続されているような構成です。物理的には、L2/L3 スイッチにサーバーと同じようにぶら下がる形になります。

特徴: 既存ネットワークへの「ちょい足し」
最大の特徴は、既存のネットワーク構成をほとんど変更せずに導入できる点です。 ルータやスイッチの物理配線や、サーバーのデフォルトゲートウェイ設定を変更することなく、LB を「ポン付け」するだけで負荷分散を始められます。
通信の仕組み: なぜ SNAT(IP 変換)が必須なのか
ワンアーム構成で最も重要なのが、SNAT(Source Network Address Translation: 送信元アドレス変換) です。 これがないと、通信は成立しません(非対称通信が発生します)。
クライアントからの通信は LB に届き、LB はサーバーへ転送します。
ここが問題です。もし SNAT をしない場合、サーバーは「送信元 IP = クライアントの生 IP」と認識します。すると、サーバーは LB を通さずに直接デフォルトゲートウェイ(ルータ)経由でクライアントへ返信してしまいます。
クライアントは「LB に投げたのに、知らないサーバーから返事が来た」と判断し、パケットを破棄します(通信断)

これを防ぐために、LB はサーバーへ転送する際、送信元 IP を 「自分(LB)の IP アドレス」に書き換えます(SNAT) これにより、サーバーからの返信は必ず LB に戻ってくるようになり、正しい経路で通信が成立します。
【重要】クライアント IP が見えなくなる問題と対策
SNAT を行う副作用として、Web サーバーのアクセスログには、すべてのアクセス元が「LB の IP アドレス」として記録されてしまいます。これでは、誰がアクセスしてきたのか分析できません。
LB 側で HTTP ヘッダーに X-Forwarded-For (XFF) を付与する設定を行います。これにより、本来のクライアント IP をヘッダー内に格納してサーバーに伝えることができます。
▼ BIG-IP での設定手順
F5 BIG-IP を利用している場合の X-Forwarded-For 設定手順については、以下の記事で解説しています。


セッション維持(パーシステンス)への影響
IP アドレスが変換されることは、ログだけでなく「セッション維持」の設定にも影響します。パーシステンスの仕組みと選び方については、以下の記事もあわせてご確認ください。


メリットとデメリット
| 特徴 | 内容 |
| メリット | ・導入が容易: 既存ネットワーク(IP 設計や配線)への影響が最小限 ・柔軟性: 必要なサーバーだけを LB 配下に置くといった構成変更が簡単 |
| デメリット | ・ログ問題: サーバー側で生 IP を見るために X-Forwarded-For 対応などの追加設定が必要・負荷: 行きの通信も帰りの通信も同じケーブル(VLAN)を通るため、帯域消費が2倍になる。 |
ツーアーム構成(Two-Arm / Inline Design)
ツーアーム構成(またはインライン構成)は、ロードバランサー(LB)が2つの異なるネットワークセグメントの間に挟まるように接続される構成です。 LB が外部ネットワーク(Internet 側)と内部ネットワーク(Server 側)をつなぐ「橋渡し」の役割を果たします。


特徴: ネットワークの「関所」として配置
この構成の最大の特徴は、すべての通信が物理的に必ず LB を通過する点です。 ワンアームのように「横からちょい足し」するのではなく、クライアントとサーバーの通信経路のド真ん中に「関所」として立ちはだかります。これにより、LB で許可されていない不正な通信を物理的に遮断できるため、ファイアウォールのようなセキュリティ境界の役割も兼ねることができます。
通信の仕組み: デフォルトゲートウェイとしての役割
ツーアーム構成では、サーバー側のネットワーク設定において、デフォルトゲートウェイ(DGW)を「LB の内部側 IP アドレス」に向けるのが一般的です。
この設計には、ワンアーム構成にはない大きな利点があります。
LB はクライアントの通信を受け取り、そのままサーバーへ転送します。(※ここで SNAT をする必要がありません)
サーバーは返信パケットを、自身のデフォルトゲートウェイである LB に送ります。
LB は帰りのパケットも確実にキャッチできるため、正しい通信としてクライアントへ返信できます。



つまり、SNAT なしで通信が成立するため、サーバー側でクライアントの「生 IP アドレス」をそのまま確認できるのが大きな強みです。(※X-Forwarded-For などの設定が不要)
| 特徴 | 内容 |
| メリット | ・透過性: SNAT 不要でクライアント IP を維持できるため、ログ分析やアクセス制御が容易 ・セキュリティ: サーバーを外部から直接アクセスできない安全なセグメント(DMZ など)に隔離できる。 |
| デメリット | ・影響範囲が大きい: LB が故障やメンテナンスで停止すると、配下のサーバー群への通信が完全に遮断される。 ・サーバー設定変更: 既存サーバーのデフォルトゲートウェイを変更する必要があるため、導入時のシステム停止や影響確認が大掛かりになる。 |
比較と選び方: どちらを採用すべきか?
それぞれの特徴を理解した上で、実際にどちらの構成を採用すべきか迷う方のために、比較表と選定のポイントを整理しました。
構成比較テーブル
| 項目 | ワンアーム構成 (One-Arm) | ツーアーム構成 (Two-Arm) |
| 物理接続 | L2スイッチ等に片腕接続 | 外部と内部の間に直列接続 |
| 既存環境への影響 | 最小(IP 設計変更なし) | 大(GW 変更など設計見直し必須) |
| 通信フロー | 行きと帰りで経路が異なる(非対称) | 行きも帰りも LB を通過(対称) |
| SNAT(IP 変換) | 必須(戻り通信誘導のため) | 不要(透過的に通信可能) |
| クライアント IP | サーバー側で見えない(XFF 必須) | そのまま見える |
| 主な用途 | 既存システムの拡張、クラウド環境 | 新規構築、DMZ セグメント設計 |
既存環境への導入なら「ワンアーム」
すでに稼働しているシステムに後付けでロードバランサーを導入する場合や、ネットワーク構成を大きく変えたくない場合は、ワンアーム構成が推奨されます。
- 理由
-
サーバーのデフォルトゲートウェイや IP アドレスを変更する必要がなく、ダウンタイムや移行リスクを最小限に抑えられるためです。
- 注意点
-
Web サーバー側でアクセスログ分析が必要な場合は、必ず
X-Forwarded-Forの設定とログフォーマットの変更をセットで行ってください。
セキュリティ境界を作るなら「ツーアーム」
新規システム構築時や、セキュリティ要件が厳しい場合(Web サーバーを直接インターネットに晒したくない場合など)は、ツーアーム構成が最適です。
- 理由
-
ロードバランサーがファイアウォールのように振る舞い、不正な通信を物理的に遮断できます。また、SNAT 不要でクライアント IP が見えるため、サーバー側の設定もシンプルになります。
- 注意点
-
ロードバランサーが単一障害点(SPOF)となりやすいため、冗長化(HA 構成)が必須となります。
まとめ
ロードバランサーの導入において、「ワンアーム」か「ツーアーム」かは、単なる配線の違いではなく、システムの運用設計に関わる重要な選択です。
- ワンアーム: 既存環境への「ちょい足し」が得意。柔軟だが SNAT の理解が必須
- ツーアーム: ネットワークの「関所」として機能。堅牢だが構成変更の影響が大きい。
どちらの構成が優れているというわけではありません。現在のネットワーク環境、セキュリティポリシー、そして将来の拡張性を考慮し、最適なデザインを選択してください。
以上、最後までお読みいただきありがとうございました。


