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

印刷ビューの終了

更新: 2014 年 9 月
 
 

ILB 規則の構成

このセクションでは、ilbadm コマンドを使用して負荷分散規則を作成、削除、および一覧表示する方法について説明します。

ILB のアルゴリズム

ILB のアルゴリズムはトラフィック分散を制御し、負荷分散およびサーバー選択のためのさまざまな特性を提供します。

    ILB は 2 つの動作モードに対して次のアルゴリズムを提供します。

  • ラウンドロビン – ラウンドロビンアルゴリズムでは、ロードバランサはサーバーグループに対してローテーションベースでリクエストを割り当てます。サーバーにリクエストが割り当てられると、そのサーバーはリストの末尾に移動します。

  • src-IP ハッシュ – 発信元 IP ハッシュ方式では、ロードバランサは受信リクエストの発信元 IP アドレスのハッシュ値に基づいてサーバーを選択します。

  • src-IP, port ハッシュ – 発信元 IP、ポートハッシュ方式では、ロードバランサは受信リクエストの発信元 IP アドレスおよび発信元ポートのハッシュ値に基づいてサーバーを選択します。

  • src-IP, VIP ハッシュ – 発信元 IP、VIP ハッシュ方式では、ロードバランサは受信リクエストの発信元 IP アドレスおよび着信先 IP アドレスのハッシュ値に基づいてサーバーを選択します。

ILB 規則の作成

    ILB では、仮想サービスは負荷分散規則によって表現され、次のパラメータで定義されます。

  • 仮想 IP アドレス

  • トランスポートプロトコル: TCP または UDP

  • ポート番号 (またはポート範囲)

  • 負荷分散アルゴリズム

  • 負荷分散モード (DSR、フル NAT、またはハーフ NAT)

  • 一連のバックエンドサーバーで構成されるサーバーグループ

  • サーバーグループ内の各サーバーに対して実行できる、オプションのサーバー健全性検査

  • 健全性検査に使用するオプションのポート


    注 -  健全性検査は、特定のポートか、ilbd デーモンがサーバーのポート範囲からランダムに選択する任意のポートを指定できます。
  • 仮想サービスを表す規則名

規則を作成する前に、次を実行する必要があります。

  • 該当するパックエンドサーバーを含むサーバーグループを作成します。詳細は、ILB のサーバーグループおよびバックエンドサーバーの定義を参照してください。

  • 健全性検査を作成し、サーバー健全性検査と規則を関連付けます。詳細は、健全性検査の作成を参照してください。

  • 規則に関連付ける VIP、ポート、およびオプションのプロトコルを特定します。

  • 使用する動作 (DSR、ハーフ NAT、またはフル NAT) を特定します。

  • 使用する負荷分散アルゴリズムを特定します。詳細は、ILB のアルゴリズムを参照してください。

ilbadm create-rule コマンドを使用して、ILB 規則を作成します。ilbadm create-rule コマンドの使用の詳細は、ilbadm(1M) のマニュアルページを参照してください。

構文は次のとおりです。

# ilbadm create-rule -e -i vip=IPaddr,port=port,protocol=protocol \
-m lbalg=lb-algorithm,type=topology-type,proxy-src=IPaddr1-IPaddr2,\
pmask=value -h hc-name=hc1-o servergroup=sg rule1

注 -  -e オプションでは、作成する規則を有効にします (このオプションを使用しない場合は、デフォルトでは無効になります)。
使用例 6-4  健全性検査セッション持続性を持つフル NAT 規則の作成

この例では、hc1 という健全性検査と、sg1 というサーバーグループを作成します。サーバーグループは、それぞれポート範囲を持つ 2 つのサーバーで構成されます。最後のコマンドは、rule1 という規則を作成して有効にし、この規則をサーバーグループおよび健全性検査に関連付けます。この規則はフル NAT 動作モードを実装します。サーバーグループおよび健全性検査の作成は、規則の作成よりも前に行う必要があります。

# ilbadm create-healthcheck -h hc-test=tcp,hc-timeout=2,\
hc-count=3,hc-interval=10 hc1
# ilbadm create-servergroup -s server=192.168.0.10:6000-6009,192.168.0.11:7000-7009 sg1
# ilbadm create-rule -e -p -i vip=10.0.0.10,port=5000-5009,\
protocol=tcp -m lbalg=rr,type=NAT,proxy-src=192.168.0.101-192.168.0.104,pmask=24 \
-h hc-name=hc1 -o servergroup=sg1 rule1

持続性マッピングを作成すると、その後に続く仮想サービスへの接続またはパケット、あるいはその両方のリクエストは、クライアントの発信元 IP アドレスが一致する場合、同一のバックエンドサーバーに転送されます。クラスレスドメイン間ルーティング (CIDR) 表記の接頭辞長は、IPv4 では 0-32、IPv6 では 0-128 の間の値です。

ハーフ NAT またはフル NAT 規則を作成する場合は、connection-drain タイムアウト値を指定します。conn-drain タイムアウトのデフォルト値は 0 で、つまり接続が正常にシャットダウンされるまで接続排出が待機し続けることを意味します。

ILB 規則の一覧表示

規則の構成の詳細を一覧表示するには、次のコマンドを発行します。規則名を指定しない場合、すべての規則の情報が提供されます。

# ilbadm show-rule
RULENAME        STATUS   LBALG           TYPE    PROTOCOL VIP           PORT
rule-http       E        hash-ip-port    NAT     TCP      10.0.0.1      80
rule-dns        D        hash-ip         NAT     UDP      10.0.0.1      53
rule-abc        D        roundrobin      NAT     TCP      2001:db8::1   1024
rule-xyz        E        ip-vip          NAT     TCP      2001:db8::1   2048-2050

ILB 規則の削除

ilbadm delete-rule コマンドを使用して、規則を削除します。-a オプションを追加して、すべての規則を削除します。次の例では、rule1 という規則を削除します。

# ilbadm delete-rule rule1