管理用タスクを使用して、オンデマンド・ルーター (ODR) ルーティング・ポリシーの HTTP または Session Initiation Protocol (SIP) ルールを構成することができます。
ルーティング・ポリシーを構成する場合、以下のルールが方法として優先されますが、マルチクラスター・ルーティング・プロパティー (MCRP) カスタム・プロパティーを使用するのも別のオプションです。このトピックの最後にある関連リンクで提供されているカスタム・プロパティーのトピックを参照してください。以下のルールを使用する利点は、どの要求がポリシーに影響されるかを判断する場合に式が使用できる点です。一方、アプリケーションまたはアプリケーションの Web モジュールによってフィルター処理できるのは、MCRP カスタム・プロパティーだけです。これらのルールのもう 1 つの利点は、単にクラスターだけでなく、クラスター、サーバー、または Web モジュールによってターゲットを選択できる (routingLocations) ことが挙げられます。
コマンドには、
SIP または HTTP プロトコルを指定できます。
addRoutingRule
addRoutingRule コマンドは、ルーティング・ポリシーのルールを追加します。
注: マルチクラスター・ルーティング・ポリシーが定義されたアプリケーション・エディションが存在しているときに、新規エディションをインストールする場合、新規エディション用の新規マルチクラスター・ルーティング・ポリシーを作成する必要があります。
必須パラメーター
- -protocol: ルールに関連付けるプロトコルの名前を指定します。(ストリング、必須)
- -priority: ルールの優先度を表す正整数の値。ゼロが最高の優先度です。(ストリング、必須)
- -expression: ルール式を指定します。式は二重引用符で囲む必要があります。ルール式のパラメーター指定に関する詳細については、SIP オペランドのトピック、および HTTP オペランドのトピックを参照してください。(ストリング、必須)
- -actionType: ルールに関連付けるアクションのタイプを指定します。(ストリング、必須)
以下のリストは、HTTP ルールに関連付けるアクションのタイプです。
- permit: ルーティングを許可
- reject: 戻りコードを示してルーティングを拒否
- permitsticky: アフィニティーでルーティングを許可
- permitMM: 保守モードのサーバーに対するルーティングを許可
- permitstickyMM: 保守モードのサーバーに対するルーティングをアフィニティーで許可
以下のリストは、SIP ルールに関連付けるアクションのタイプです。
- permit: ルーティングを許可
- reject: 戻りコードを示してルーティングを拒否
オプション・パラメーター
- -odrname: ルーティング・ポリシー作業クラスを適用する ODR の名前を指定します。-odrname パラメーターは、ODR を変更する場合に限って必須になります。
- -nodename: ODR が存在するノードの名前を指定します。-nodename パラメーターは、ODR を変更する場合に限って必須になります。
- -clustername : ルールを適用するクラスターの名前を指定します。-clustername パラメーターは、ODR クラスターを変更する場合に限って必須になります。
- -multiclusterAction: 複数のルーティング・ロケーション・クラスターが一致する場合に、要求をルーティングする方式を指定します。
-multiclusterAction パラメーターは、いずれの permit actionType にも適用され、actionType が permit、permitsticky、permitMM、または、permitstickyMM の場合に限って必須になります。
- Failover: 使用可能なサーバーがある最初のクラスターを検索し、そのクラスターに対してロード・バランシングを行います。動的に生成されるクラスターのリストの順序は未定義です。
- WRR: 重み付きラウンドロビン・ロード・バランシング。
UDP 再伝送の場合は、アフィニティーを維持します。
- WLOR: 重み付き最小未解決要求。
ベスト・プラクティス: WRR 値ではなく、
WLOR 値の使用が推奨されます。
bprac
以下のリストは、SIP ルールの場合の可能な値です。
- Failover: 使用可能なサーバーがある最初のクラスターを検索し、そのクラスターに対してロード・バランシングを行います。動的に生成されるクラスターのリストの順序は未定義です。
- WRR: 重み付きラウンドロビン・ロード・バランシング。
UDP 再伝送の場合は、アフィニティーを維持します。
- Error: 複数のクラスターがある場合、そのいずれかを選択するとエラーをスローします。クラスターは、ただ 1 つだけ必要です。
- -routingLocations: 要求をルーティングするターゲット・ロケーションのリストを指定します。-routingLocations パラメーターは、actionType がいずれかの permit actionType である場合に限って必須になります。
リストの各オペランドには、以下の 3 つのいずれかの書式が続き、
任意の値との一致を示すワイルドカード、「*」の値を入れることができます。
- cluster=cellName/clusterName
- server=cellName/nodeName/serverName
- module=cellName/applicationName/applicationVersion/moduleName
SIP ルーティング・ルールの場合に限り、代わりにルール式によってターゲット・クラスターを定義できます。有効な演算子は、AND、OR、NOT、および括弧によるグループ化です。以下のリストに従って書式設定します。
- cluster=cellName/clusterName
- server=cellName/nodeName/serverName
- modules=cellName/applicationName/applicationVersion/moduleName
- server maintenance mode=true or false
- node maintenance mode=true or false
- protocol=PROTO_VALUE:
- PROTO_SIP = sip
- SIP を TCP に優先
- PROTO_SIPS = sips
- SIP を SSL および TCP に優先
- PROTO_SIPU = sipu
- SIP を UDP に優先
- PROTO_SIPX = sipx
- SIP を XMEM に優先
注: applicationVersion 値がないアプリケーションの場合、applicationVersion 値をブランクにしておいてください。module=cellName/application//moduleName。
- -errorcode : 要求をリジェクトする整数のエラー・コード。-errorcode パラメーターは、actionType が reject の場合に限って必須になります。
バッチ・モードの使用例
以下の例は、セル内のすべてのアプリケーションを、別のセルをポイントする汎用サーバー・クラスターに対してフェイルオーバーすることを示しています。
- Jacl を使用:
$AdminTask addRoutingRule {-odrname odr -nodename node1 -protocol SIP -priority 0 -expression "request.method = 'getOperation'" -actionType permit -multiclusterAction Failover -routingLocations cluster=*/*}
- Jython ストリングを使用:
AdminTask.addRoutingRule('[-odrname odr -nodename node1 -protocol HTTP -priority 0 -expression "request.method = \'INVITE\'" -actionType permit -multiclusterAction Failover -routingLocations "module=*/*/*/*,cluster=myCell/myFailoverGSCThatPointsToAnotherCell"]')
![[Version 6.1.1 and later]](../images/v611x.gif)
以下の例では、新規アプリケーション・エディションのマルチクラスター・ルーティング・ポリシーを作成します。
- Jacl を使用:
$AdminTask addRoutingRule {-odrname odr -nodename node1 -protocol HTTP -priority 0 -expression "uri LIKEIN {'/contextRoot','/contextRoot/%'}" -actionType permit -multiclusterAction Failover -routingLocations cluster=cellName/clusterName}
- Jython ストリングを使用:
AdminTask.addRoutingRule('[-odrname odr -nodename node1 -protocol HTTP -priority 0 -expression "uri LIKEIN ('/contextRoot','/contextRoot/%')" -actionType permit -multiclusterAction Failover -routingLocations cluster=cellName/clusterName]')
対話モードの使用例
- Jacl の使用:
$AdminTask addRoutingRule {-interactive}
- Jython ストリングを使用:
AdminTask.addRoutingRule ('[-interactive]')
changeRoutingDefaultRulesAction
changeRoutingDefaultRulesAction コマンドは、ルールのルーティング・ポリシーのデフォルト・アクションを変更します。
必須パラメーター
- -protocol: ルールに関連付けるプロトコルの名前を指定します。(ストリング、必須)
オプション・パラメーター
- -odrname: ルーティング・ポリシー作業クラスを適用する ODR の名前を指定します。-odrname パラメーターは、ODR を変更する場合に限って必須になります。
- -nodename: ODR が存在するノードの名前を指定します。-nodename パラメーターは、ODR を変更する場合に限って必須になります。
- -clustername : ルールを適用するクラスターの名前を指定します。-clustername パラメーターは、ODR クラスターを変更する場合に限って必須になります。
- -multiclusterAction: 複数のルーティング・ロケーション・クラスターが一致する場合に、要求をルーティングする方式を指定します。
-multiclusterAction パラメーターは、いずれの permit actionType にも適用され、actionType が permit、permitsticky、permitMM、または、permitstickyMM の場合に限って必須になります。
- Failover: 使用可能なサーバーがある最初のクラスターを検索し、そのクラスターに対してロード・バランシングを行います。動的に生成されるクラスターのリストの順序は未定義です。
- WRR: 重み付きラウンドロビン・ロード・バランシング。
UDP 再伝送の場合は、アフィニティーを維持します。
- WLOR: 重み付き最小未解決要求。
ベスト・プラクティス: WRR 値ではなく、
WLOR 値の使用が推奨されます。
bprac
以下のリストは、SIP ルールの場合の可能な値です。
- Failover: 使用可能なサーバーがある最初のクラスターを検索し、そのクラスターに対してロード・バランシングを行います。動的に生成されるクラスターのリストの順序は未定義です。
- WRR: 重み付きラウンドロビン・ロード・バランシング。
UDP 再伝送の場合は、アフィニティーを維持します。
- Error: 複数のクラスターがある場合、そのいずれかを選択するとエラーをスローします。クラスターは、ただ 1 つだけ必要です。
- -routingLocations: 要求をルーティングするターゲット・ロケーションのリストを指定します。-routingLocations パラメーターは、actionType がいずれかの permit actionType である場合に限って必須になります。
リストの各オペランドには、以下の 3 つのいずれかの書式が続き、
任意の値との一致を示すワイルドカード、「*」の値を入れることができます。
- cluster=cellName/clusterName
- server=cellName/nodeName/serverName
- module=cellName/applicationName/applicationVersion/moduleName
SIP ルーティング・ルールの場合に限り、代わりにルール式によってターゲット・クラスターを定義できます。有効な演算子は、AND、OR、NOT、および括弧によるグループ化です。以下のリストに従って書式設定します。
- cluster=cellName/clusterName
- server=cellName/nodeName/serverName
- modules=cellName/applicationName/applicationVersion/moduleName
- server maintenance mode=true or false
- node maintenance mode=true or false
- protocol=PROTO_VALUE:
- PROTO_SIP = sip
- SIP を TCP に優先
- PROTO_SIPS = sips
- SIP を SSL および TCP に優先
- PROTO_SIPU = sipu
- SIP を UDP に優先
- PROTO_SIPX = sipx
- SIP を XMEM に優先
注: applicationVersion 値がないアプリケーションの場合、applicationVersion 値をブランクにしておいてください。module=cellName/application//moduleName。
- -errorcode : 要求をリジェクトする整数のエラー・コード。-errorcode パラメーターは、actionType が reject の場合に限って必須になります。
バッチ・モードの使用例
対話モードの使用例
- Jacl の使用:
$AdminTask changeRoutingDefaultRulesAction {-interactive}
- Jython ストリングを使用:
AdminTask.changeRoutingDefaultRulesAction ('[-interactive]')
changeRoutingRuleAction
changeRoutingRuleAction コマンドは、ルールのルーティング・ポリシー・アクションを変更します。
必須パラメーター
- -protocol: ルールに関連付けるプロトコルの名前を指定します。(ストリング、必須)
- -priority: ルールの優先度を表す正整数の値。ゼロが最高の優先度です。(ストリング、必須)
オプション・パラメーター
- -odrname: ルーティング・ポリシー作業クラスを適用する ODR の名前を指定します。-odrname パラメーターは、ODR を変更する場合に限って必須になります。
- -nodename: ODR が存在するノードの名前を指定します。-nodename パラメーターは、ODR を変更する場合に限って必須になります。
- -clustername : ルールを適用するクラスターの名前を指定します。-clustername パラメーターは、ODR クラスターを変更する場合に限って必須になります。
- -multiclusterAction: 複数のルーティング・ロケーション・クラスターが一致する場合に、要求をルーティングする方式を指定します。
-multiclusterAction パラメーターは、いずれの permit actionType にも適用され、actionType が permit、permitsticky、permitMM、または、permitstickyMM の場合に限って必須になります。
- Failover: 使用可能なサーバーがある最初のクラスターを検索し、そのクラスターに対してロード・バランシングを行います。動的に生成されるクラスターのリストの順序は未定義です。
- WRR: 重み付きラウンドロビン・ロード・バランシング。
UDP 再伝送の場合は、アフィニティーを維持します。
- WLOR: 重み付き最小未解決要求。
ベスト・プラクティス: WRR 値ではなく、
WLOR 値の使用が推奨されます。
bprac
以下のリストは、SIP ルールの場合の可能な値です。
- Failover: 使用可能なサーバーがある最初のクラスターを検索し、そのクラスターに対してロード・バランシングを行います。動的に生成されるクラスターのリストの順序は未定義です。
- WRR: 重み付きラウンドロビン・ロード・バランシング。
UDP 再伝送の場合は、アフィニティーを維持します。
- Error: 複数のクラスターがある場合、そのいずれかを選択するとエラーをスローします。クラスターは、ただ 1 つだけ必要です。
- -routingLocations: 要求をルーティングするターゲット・ロケーションのリストを指定します。-routingLocations パラメーターは、actionType がいずれかの permit actionType である場合に限って必須になります。
リストの各オペランドには、以下の 3 つのいずれかの書式が続き、
任意の値との一致を示すワイルドカード、「*」の値を入れることができます。
- cluster=cellName/clusterName
- server=cellName/nodeName/serverName
- module=cellName/applicationName/applicationVersion/moduleName
SIP ルーティング・ルールの場合に限り、代わりにルール式によってターゲット・クラスターを定義できます。有効な演算子は、AND、OR、NOT、および括弧によるグループ化です。以下のリストに従って書式設定します。
- cluster=cellName/clusterName
- server=cellName/nodeName/serverName
- modules=cellName/applicationName/applicationVersion/moduleName
- server maintenance mode=true or false
- node maintenance mode=true or false
- protocol=PROTO_VALUE:
- PROTO_SIP = sip
- SIP を TCP に優先
- PROTO_SIPS = sips
- SIP を SSL および TCP に優先
- PROTO_SIPU = sipu
- SIP を UDP に優先
- PROTO_SIPX = sipx
- SIP を XMEM に優先
注: applicationVersion 値がないアプリケーションの場合、applicationVersion 値をブランクにしておいてください。module=cellName/application//moduleName。
- -errorcode : 要求をリジェクトする整数のエラー・コード。-errorcode パラメーターは、actionType が reject の場合に限って必須になります。
バッチ・モードの使用例
- Jacl を使用:
$AdminTask changeRoutingRuleAction {-odrname odr -nodename node1 -protocol SIP -priority 0 -multiclusterAction Failover -routingLocations cluster=*/*}
- Jython ストリングを使用:
AdminTask.changeRoutingRuleAction('[-odrname odr -nodename node1 -protocol HTTP -priority 0 -multiclusterAction WRR -routingLocations "cluster=myCell/*"]')
対話モードの使用例
- Jacl の使用:
$AdminTask changeRoutingRuleAction {-interactive}
- Jython ストリングを使用:
AdminTask.changeRoutingRuleAction ('[-interactive]')
changeRoutingRuleExpression
changeRoutingRuleExpression コマンドは、ルーティング・ポリシーのルール式を変更します。
必須パラメーター
- -protocol: ルールに関連付けるプロトコルの名前を指定します。(ストリング、必須)
- -priority: ルールの優先度を表す正整数の値。ゼロが最高の優先度です。(ストリング、必須)
- -expression: ルール式を指定します。式は二重引用符で囲む必要があります。ルール式のパラメーター指定に関する詳細については、SIP オペランドのトピック、および HTTP オペランドのトピックを参照してください。(ストリング、必須)
オプション・パラメーター
- -odrname: ルーティング・ポリシー作業クラスを適用する ODR の名前を指定します。-odrname パラメーターは、ODR を変更する場合に限って必須になります。
- -nodename: ODR が存在するノードの名前を指定します。-nodename パラメーターは、ODR を変更する場合に限って必須になります。
- -clustername : ルールを適用するクラスターの名前を指定します。-clustername パラメーターは、ODR クラスターを変更する場合に限って必須になります。
バッチ・モードの使用例
- Jacl を使用:
$AdminTask changeRoutingRuleExpression {-odrname odr -nodename node1 -protocol SIP -priority 0 -expression "request.method = 'getOperation0'"}
- Jython ストリングを使用:
AdminTask.changeRoutingRuleExpression('[-odrname odr -nodename node1 -protocol HTTP -priority 0 -expression "request.method = \'INVITE\'"]')
対話モードの使用例
- Jacl の使用:
$AdminTask changeRoutingRuleExpression {-interactive}
- Jython ストリングを使用:
AdminTask.changeRoutingRuleExpression ('[-interactive]')
changeRoutingRulePriority
changeRoutingRulePriority コマンドは、ルーティング・ポリシーのルール優先度を変更します。
必須パラメーター
- -protocol: ルールに関連付けるプロトコルの名前を指定します。(ストリング、必須)
- -priority: ルールの優先度を表す正整数の値。ゼロが最高の優先度です。(ストリング、必須)
- -expression: ルール式を指定します。式は二重引用符で囲む必要があります。ルール式のパラメーター指定に関する詳細については、SIP オペランドのトピック、および HTTP オペランドのトピックを参照してください。(ストリング、必須)
オプション・パラメーター
- -odrname: ルーティング・ポリシー作業クラスを適用する ODR の名前を指定します。-odrname パラメーターは、ODR を変更する場合に限って必須になります。
- -nodename: ODR が存在するノードの名前を指定します。-nodename パラメーターは、ODR を変更する場合に限って必須になります。
- -clustername : ルールを適用するクラスターの名前を指定します。-clustername パラメーターは、ODR クラスターを変更する場合に限って必須になります。
バッチ・モードの使用例
- Jacl を使用:
$AdminTask changeRoutingRulePriority {-odrname odr -nodename node1 -protocol SIP -priority 0 -expression "request.method = 'getOperation0'"}
- Jython ストリングを使用:
AdminTask.changeRoutingRulePriority('[-odrname odr -nodename node1 -protocol HTTP -priority 0 -expression "request.method = \'INVITE\'"]')
対話モードの使用例
- Jacl の使用:
$AdminTask changeRoutingRulePriority {-interactive}
- Jython ストリングを使用:
AdminTask.changeRoutingRulePriority ('[-interactive]')
createRoutingRules
createRoutingRules コマンドは、ルーティング・ポリシーのルール・リストを作成します。
必須パラメーター
- -protocol: ルールに関連付けるプロトコルの名前を指定します。(ストリング、必須)
オプション・パラメーター
- -odrname: ルーティング・ポリシー作業クラスを適用する ODR の名前を指定します。-odrname パラメーターは、ODR を変更する場合に限って必須になります。
- -nodename: ODR が存在するノードの名前を指定します。-nodename パラメーターは、ODR を変更する場合に限って必須になります。
- -clustername : ルールを適用するクラスターの名前を指定します。-clustername パラメーターは、ODR クラスターを変更する場合に限って必須になります。
バッチ・モードの使用例
- Jacl を使用:
$AdminTask createRoutingRules {-odrname odr -nodename node1 -protocol SIP}
- Jython ストリングを使用:
AdminTask.createRoutingRules('-odrname odr -nodename node1 -protocol SIP')
対話モードの使用例
- Jacl の使用:
$AdminTask createRoutingRules {-interactive}
- Jython ストリングを使用:
AdminTask.createRoutingRules ('[-interactive]')
listRoutingRules
listRoutingRules は、構成から動的クラスターを削除します。
必須パラメーター
- -protocol: ルールに関連付けるプロトコルの名前を指定します。(ストリング、必須)
オプション・パラメーター
- -odrname: ルーティング・ポリシー作業クラスを適用する ODR の名前を指定します。-odrname パラメーターは、ODR を変更する場合に限って必須になります。
- -nodename: ODR が存在するノードの名前を指定します。-nodename パラメーターは、ODR を変更する場合に限って必須になります。
- -clustername : ルールを適用するクラスターの名前を指定します。-clustername パラメーターは、ODR クラスターを変更する場合に限って必須になります。
バッチ・モードの使用例
- Jacl を使用:
$AdminTask listRoutingRules {-odrname odr -nodename node1 -protocol SIP}
- Jython ストリングを使用:
AdminTask.listRoutingRules('-odrname odr -nodename node1 -protocol SIP')
対話モードの使用例
- Jacl の使用:
$AdminTask listRoutingRules {-interactive}
- Jython ストリングを使用:
AdminTask.listRoutingRules ('[-interactive]')
removeRoutingRule
removeRoutingRule コマンドは、ルーティング・ポリシーのルールを除去します。
必須パラメーター
- -protocol: ルールに関連付けるプロトコルの名前を指定します。(ストリング、必須)
- -priority: ルールの優先度を表す正整数の値。ゼロが最高の優先度です。(ストリング、必須)
- -expression: ルール式を指定します。式は二重引用符で囲む必要があります。ルール式のパラメーター指定に関する詳細については、SIP オペランドのトピック、および HTTP オペランドのトピックを参照してください。(ストリング、必須)
オプション・パラメーター
- -odrname: ルーティング・ポリシー作業クラスを適用する ODR の名前を指定します。-odrname パラメーターは、ODR を変更する場合に限って必須になります。
- -nodename: ODR が存在するノードの名前を指定します。-nodename パラメーターは、ODR を変更する場合に限って必須になります。
- -clustername : ルールを適用するクラスターの名前を指定します。-clustername パラメーターは、ODR クラスターを変更する場合に限って必須になります。
バッチ・モードの使用例
- Jacl を使用:
$AdminTask removeRoutingRule {-odrname odr -nodename node1 -protocol SIP -expression "request.method = 'getOperation'"}
- Jython ストリングを使用:
AdminTask.removeRoutingRule('[-odrname odr -nodename node1 -protocol HTTP -expression "request.method = \'INVITE\'"]')
対話モードの使用例
- Jacl の使用:
$AdminTask removeRoutingRule {-interactive}
- Jython ストリングを使用:
AdminTask.removeRoutingRule ('[-interactive]')