ルーターまたはロードバランサとしての Oracle® Solaris 11.2 システムの構成

印刷ビューの終了

更新: 2014 年 9 月
 
 

ネットワークアドレス変換モード

ILB は負荷分散機能のためだけに、NAT をスタンドアロンモードで使用します。このモードでは、ILB はヘッダー情報を書き換え、受信トラフィックと送信トラフィックを処理します。ILB はハーフ NAT モードとフル NAT モードの両方で動作します。ただし、フル NAT は発信元 IP アドレスも書き換えるため、サーバーには、すべての接続がロードバランサから発信されているように見えます。NAT は TCP 接続追跡を提供します (つまりステートフルです)。NAT モードは、追加のセキュリティーを提供し、ハイパーテキスト転送プロトコル (HTTP) または Secure Sockets Layer (SSL) トラフィックに最適です。

    メリット:

  • ロードバランサを指定するようにデフォルトゲートウェイを変更することによって、すべてのバックエンドサーバーで動作します。

  • ロードバランサにより接続状態が保持されるため、接続を中断せずにサーバーを追加または削除できます。

    デメリット:

  • 処理に IP ヘッダーの操作を伴い、サーバーがロードバランサに応答を送信するため、DSR よりもパフォーマンスが低くなります。

  • すべてのバックエンドサーバーがロードバランサをデフォルトゲートウェイとして使用する必要があります。

NAT モードの一般的な実装を、次の図に示します。

図 5-2  ネットワークアドレス変換トポロジ

image:この図は、ネットワークアドレス変換トポロジについて説明しています。

この場合、VIP へのリクエストはすべて ILB を経由し、バックエンドサーバーに転送されます。バックエンドサーバーからの応答はすべて、NAT のために ILB を経由します。


Caution

注意  -  ILB に実装されている NAT コードパスは、Oracle Solaris の IP フィルタ機能に実装されているコードパスとは異なります。これらのコードパスを同時に使用しないでください


ハーフ NAT 負荷分散モード

ILB のハーフ NAT 動作モードでは、ILB はパケットのヘッダー内の着信先 IP アドレスのみを書き換えます。ハーフ NAT 実装を使用している場合、サーバーが存在する同一のサブネットから、サービスの VIP アドレスに接続できません。次の表に、クライアントと ILB の間、および ILB とバックエンドサーバーの間を流れるパケットの IP アドレスを示します。

表 5-1  サーバーとクライアントが異なるネットワーク上にある場合のハーフ NAT 実装のリクエストフローと応答フロー
リクエストフロー
発信元 IP アドレス
着信先 IP アドレス
1.
クライアント –> ILB
クライアント
ILB の VIP
2.
ILB –> サーバー
クライアント
サーバー
応答フロー
3.
サーバー –> ILB
サーバー
クライアント
4.
ILB –> クライアント
ILB の VIP
クライアント

クライアントシステムをサーバーと同じネットワークに接続した場合、意図したサーバーはクライアントに直接応答し、表の 4 番目の手順は発生しません。したがって、クライアントに対するサーバー応答の発信元 IP アドレスは無効です。クライアントが接続リクエストをロードバランサに送信すると、応答は意図したサーバーから発生します。これ以降のクライアントの IP スタックはすべての応答を適切に削除します。このシナリオでは、リクエストフローと応答フローは次の表に示すとおりに進行します。

表 5-2  サーバーとクライアントが同じネットワーク上にある場合のハーフ NAT 実装のリクエストフローと応答フロー
リクエストフロー
発信元 IP アドレス
着信先 IP アドレス
1.
クライアント –> ILB
クライアント
ILB の VIP
2.
ILB –> サーバー
クライアント
サーバー
応答フロー
3.
サーバー –> クライアント
サーバー
クライアント

フル NAT 負荷分散モード

ILB 動作のフル NAT 実装では、発信元 IP アドレスと着信先 IP アドレスが書き換えられることで、トラフィックがロードバランサを両方向で通過します。フル NAT モードでは、サーバーが存在する同一のサブネットから VIP に接続できるようになります。

次の表に、フル NAT モードの使用時にクライアントと ILB の間、および ILB とバックエンドサーバーの間を流れるパケットの IP アドレスを示します。サーバーには、ILB ボックスを使用する特別なデフォルトルートは不要です。ただし、フル NAT モードでは、ILB がバックエンドサーバーとの通信に発信元アドレスとして使用する 1 つの IP アドレスまたは IP アドレス範囲を、管理者が別途設定する必要があります。使用するアドレスがサブネット C に属しているとします。このシナリオでは、ILB はプロキシとして動作します。

表 5-3  フル NAT 実装のリクエストフローと応答フロー
リクエストフロー
発信元 IP アドレス
着信先 IP アドレス
1.
クライアント –> ILB
クライアント
ILB の VIP
2.
ILB –> サーバー
ロードバランサのインタフェースアドレス (サブネット C)
サーバー
応答フロー
3.
サーバー –> ILB
サーバー
ILB のインタフェースアドレス (サブネット C)
4.
ILB –> クライアント
ILB の VIP
クライアント