StyleBookの構成パックを別のStyleBookに移行
NetScaler® Application Delivery Management (ADM)では、構成パックは常に作成元のStyleBookにバインドされます。構成パックへの更新は、構成パックがバインドされているStyleBookを介してのみ実行できます。NetScaler ADMでは、既存の構成パックを新しいStyleBookに移行できるようになりました。新しいStyleBookは、構成パックがバインドされている現在のStyleBookのより元のバージョンである場合があります。または、構成パックをまったく異なるStyleBookに移行することもできます。
たとえば、example-lbというStyleBookを作成したとします。このStyleBookは、NetScalerインスタンスに基本的なロードバランサー構成を展開するために使用されます。このStyleBookからNetScalerインスタンス上に構成パックCP1を作成しました。その後、StyleBookに監視構成が含まれていないことに気づきました。そこで、example-lb-monというStyleBookを新しく作成しました。このStyleBookは、example-lb StyleBookと同じロードバランサー構成を持っていますが、モニターを構成する機能が追加されています。
ここで、構成パックCP1で作成された既存の構成を更新して、モニターを追加したいとします。以前は、構成にモニターを追加するために、構成パックCP1を削除し、新しいStyleBookから構成パックCP2を作成する必要がありました。CP1を削除すると、1つ以上のNetScalerインスタンス上の構成パックCP1で作成されたすべての構成が削除されます。以前は、すべてのパラメーターの値を入力して、新しいStyleBookを介して新しい構成パックを再作成する必要がありました。
代わりに、既存の構成パックCP1を新しいexample-lb-mon StyleBookに移行できるようになりました。新しいStyleBookは、モニターの詳細を構成できます。構成パックが展開されたNetScalerインスタンスには、モニター関連の構成オブジェクトのみが追加されます。これで、モニターの詳細を提供するだけで済みます。変更されていないNetScalerインスタンスに展開されている既存の構成は影響を受けません。
構成パックの移行
example-lb StyleBookを使用して作成された構成パックをexample-lb-mon StyleBookに移行するには
-
NetScaler ADMで、[Applications] > [Configurations] に移動します。[Configurations] ページには、システムに存在するすべての構成パックが表示されます。
-
以前に作成したexample-lb構成パックを見つけるまでスクロールし、[Migrate Configpack] をクリックします。

-
[Choose target StyleBook for migration] ページが開き、NetScaler ADMで利用可能なすべてのStyleBookが一覧表示されます。example-lb-mon StyleBookを見つけるまでスクロールし、[Select StyleBook] をクリックします。example-lb-monと入力してStyleBookを検索することもできます。

あるStyleBookから別のStyleBookに移行する場合、2つのStyleBookのすべてのパラメーターが同じ構造であるとは限りません。パラメーター構造が類似している場合、以前の値はパラメーターフィールドに自動的に保持されます。新しいStyleBookの一部のパラメーターは新規であるか、その構造が変更されている場合があります。そのような場合は、StyleBookパラメーターの値を手動で入力する必要があります。たとえば、次の図はexample-lb StyleBookのパラメーターを示しています。

次の図は、構成パックをexample-lb-mon StyleBookに移行した後のパラメーターを示しています。

この場合、StyleBookは基本的なロードバランサー構成の古い値を保持していることがわかります。ただし、モニターパラメーターの値は手動で入力する必要があります。
-
インスタンスでモニターを作成するために使用される新しいパラメーターの値を入力します。
-
[Target Instances] で、構成を実行するNetScalerインスタンスのIPアドレスをクリックして選択します。必要に応じて複数のターゲットインスタンスを指定することで、複数のNetScalerに構成を展開できることに注意してください。
-
[Dry Run] をクリックします。[Objects] ページには、NetScalerインスタンスから新しく作成、変更、または削除されるオブジェクトが表示されます。
-
[Create] をクリックして、選択したインスタンスの構成を作成または更新します。ターゲットインスタンスが新しい場合は構成パックが作成されます。それ以外の場合は、インスタンスに展開されている既存の構成が更新されます。
注
更新アイコンをクリックして、最近検出されたNetScalerインスタンスを追加することもできます。これにより、これらのインスタンスはこのウィンドウのインスタンスリストですぐに利用可能になります。更新アイコンは現在、NetScaler ADMでのみ利用可能です。
構成パックをあるバージョンのStyleBookから次のバージョンに移行することもできます。ここでも、新しいバージョンに存在する新しい必須パラメーターの値を入力する必要がある場合があります。構成パックをStyleBookの古いバージョンに移行することもできます。この場合、古いStyleBookに存在しない余分なパラメーターは削除されます。[Objects] ページには、構成から削除されたオブジェクトが表示されます。
移行が成功すると、構成パックは新しいStyleBookにバインドされます。

構成パックの名前と構成パックIDは以前と同じであることがわかります。しかし、NetScaler ADMはStyleBook名をexample-lbからexample-lb-monに更新します。
StyleBookの構築
example-lb StyleBookの全内容は、参考のために以下に示します。
name: example-lb
namespace: examples.stylebooks
version: "1.0"
display-name: Basic Load Balancer App
description: This is an example StyleBook that creates a load balancer application
schema-version: "1.0"
import-stylebooks:
-
namespace: com.citrix.adc.stylebooks
prefix: stlb
version: "1.0"
parameters-default-sources:
- stlb::lb
components:
-
name: lb-comp
type: stlb::lb
description: Uses the default lb StyleBook to build the typical lb configuration objects
properties-default-sources:
- $parameters
<!--NeedCopy-->
example-lb-mon StyleBookの全内容は、参考のために以下に示します。
name: example-lb-mon
namespace: examples.stylebooks
version: "1.0"
description: This is an example StyleBook that creates a load balancer application with monitors
display-name: Basic Load Balancer App with Monitors
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
-
namespace: com.citrix.adc.stylebooks
prefix: stlb
version: "1.0"
-
namespace: com.citrix.adc.commontypes
prefix: cmtypes
version: "1.0"
parameters-default-sources:
- stlb::lb
parameters:
-
name: monitors
label: "List of Monitors"
description: "List of Monitors to monitor Application Servers"
type: cmtypes::monitor[]
substitutions:
mon-name(appname, monname): $appname + "-mon-" + $monname
components:
-
name: lb-comp
type: stlb::lb
description: Uses the default lb StyleBook to build the typical lb configuration objects
properties-default-sources:
- $parameters
-
name: monitors-comp
type: cmtypes::monitor
condition: $parameters.monitors
repeat: $parameters.monitors
repeat-item: mon
repeat-index: ndx
description: Builds a list of NetScaler monitor objects and binds them to the servicegroup of this LB config
properties-default-sources:
- $mon
properties:
monitorname: $substitutions.mon-name($parameters.lb-appname, $mon.monitorname)
components:
-
name: monitor-svcg-binding-comp
condition: $parameters.svc-servers
type: ns::servicegroup_lbmonitor_binding
properties:
servicegroupname: $components.lb-comp.outputs.servicegroup.properties.servicegroupname
monitor_name: $parent.properties.monitorname
<!--NeedCopy-->