ACE はコンテキストと呼ばれるパーティションを作成することで、複数の仮想デバイスとして動作するよう設定することができます。 つまり、コンテキストを作成することであたかも複数の ACE があるかのように見せることができます。 これによって、複数台の Loadbalancer を 1 つに集約することが可能です。
初期状態は Admin コンテキストしかなく、1 コンテキストで全てのリソースを占有することができたのですが、コンテキストを作成した場合、1 つのコンテキストが全てのリソースを占有することがないよう、リソースを管理する必要があります。 リソースの管理は、Admin コンテキストで行います。 (Admin コンテキストは、他のユーザコンテキストや ACE 全体を管理する特別な役割を持っています。)
リソースクラスでリソースの設定を行い、それをユーザコンテキストに適用し、設定を反映させます。
下記は、コンテキスト c1 に対して全体の 10% のリソースを割り当てる例です。
ACE4710/Admin# conf t Enter configuration commands, one per line. End with CNTL/Z. ACE4710/Admin(config)# ACE4710/Admin(config)# resource-class r1 !___ リソースクラス r1 を作成 ACE4710/Admin(config-resource)# limit-resource all minimum 10.00 maximum equal-to-min !___ 全体の 10% のリソースを確保し、それを超えた場合ドロップするよう設定 ACE4710/Admin(config-resource)# exit ACE4710/Admin(config)# context c1 !___ コンテキスト c1 を作成 ACE4710/Admin(config-context)# member r1 !___ コンテキスト c1 にリソースクラス r1 を適用 |
これだけでは、ACE 内部に子ACE を作っただけで、外部と通信できないので、各コンテキストに vlan を割り当て、外部と通信可能な状態にする必要があります。

上記のようにコンテキスト c1 に vlan 100, 771, 772 を割り当てたい場合、下記のように設定します。(今回は client 側: vlan771, server 側: vlan772, 管理用: vlan100 という構成を想定して 3 つの vlan を割り当てています。)
ACE4710/Admin# conf t Enter configuration commands, one per line. End with CNTL/Z. ACE4710/Admin(config)# context c1 ACE4710/Admin(config-context)# allocate-interface vlan 100 ACE4710/Admin(config-context)# allocate-interface vlan 771-772 |
ユーザコンテキストが外部と通信できる環境が出来上がったので、ユーザコンテキストへ移動し、各コンテキストを設定することになります。 コンテキストの移動は changeto コマンドを用います。
ACE4710/Admin# changeto c1 ACE4710/c1# show run !___ ホスト名の後ろの表示が Admin からユーザコンテキスト名になる Generating configuration.... ACE4710/c1# ACE4710/c1# conf t Enter configuration commands, one per line. End with CNTL/Z. ACE4710/c1(config)# access-list all extended permit ip any any ACE4710/c1(config)# int vlan 100 ACE4710/c1(config-if)# ip add 192.168.1.201 255.255.255.0 ACE4710/c1(config-if)# ... |
ロールやドメインの設定を行うことで、loadbalancer1 (コンテキスト c1) はユーザ u1 へ貸し出し、loadbalancer2 (コンテキスト c2) はユーザ u2 へ貸し出すといった運用も可能になります。
また、show tech もユーザコンテキスト単位で取得することが可能です。 特定のユーザコンテキストでしか発生していない問題について調査を行うためには、そのユーザコンテキストでの show tech が必要になるため、show tech 取得個所に注意してください。 (Admin コンテキストでしか取得できない情報もあるため、ユーザコンテキストで問題が発生した場合、Admin, ユーザコンテキスト両方で show tech を取得してください。)
ちなみに、冗長構成(FT の設定) は下記例のように Admin コンテキストで行い、Admin コンテキストが管理します。
c1 - c3 の設定例
ACE4710/Admin# sh run resource-class Generating configuration.... resource-class r1 limit-resource all minimum 10.00 maximum equal-to-min resource-class r2 limit-resource all minimum 20.00 maximum equal-to-min resource-class r3 limit-resource all minimum 30.00 maximum equal-to-min ACE4710/Admin# show run context Generating configuration.... context c1 allocate-interface vlan 100 allocate-interface vlan 771-772 member r1 context c2 allocate-interface vlan 100 allocate-interface vlan 773-774 member r2 context c3 allocate-interface vlan 100 allocate-interface vlan 775-776 ACE4710/Admin# ACE4710/Admin# sh run ft | b group Generating configuration.... ft group 1 peer 1 associate-context Admin inservice ft group 11 peer 1 associate-context c1 inservice ft group 12 peer 1 associate-context c2 inservice ft group 13 peer 1 associate-context c3 inservice ACE4710/Admin# changeto c1 ACE4710/c1# conf t Enter configuration commands, one per line. End with CNTL/Z. ACE4710/c1(config)# ft ? !___ ユーザコンテキストで設定できるのは下記だけです。 auto-sync Enable auto sync connection-sync Enable/Disable connection replication track Configure Fault Tolerance tracking for switchover |
コンテキストに関しては、Cisco Application Control Engine モジュール Virtualization コンフィギュレーション ガイド Software Version A2(1.0) に詳細が記載されているので合わせてご参照ください。