Application Delivery Management

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に移行するには

  1. NetScaler ADMで、[Applications] > [Configurations] に移動します。[Configurations] ページには、システムに存在するすべての構成パックが表示されます。

  2. 以前に作成したexample-lb構成パックを見つけるまでスクロールし、[Migrate Configpack] をクリックします。

    localized image

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

    localized image

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

    localized image

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

    localized image

    この場合、StyleBookは基本的なロードバランサー構成の古い値を保持していることがわかります。ただし、モニターパラメーターの値は手動で入力する必要があります。

  4. インスタンスでモニターを作成するために使用される新しいパラメーターの値を入力します。

  5. [Target Instances] で、構成を実行するNetScalerインスタンスのIPアドレスをクリックして選択します。必要に応じて複数のターゲットインスタンスを指定することで、複数のNetScalerに構成を展開できることに注意してください。

  6. [Dry Run] をクリックします。[Objects] ページには、NetScalerインスタンスから新しく作成、変更、または削除されるオブジェクトが表示されます。

  7. [Create] をクリックして、選択したインスタンスの構成を作成または更新します。ターゲットインスタンスが新しい場合は構成パックが作成されます。それ以外の場合は、インスタンスに展開されている既存の構成が更新されます。

    更新アイコンをクリックして、最近検出されたNetScalerインスタンスを追加することもできます。これにより、これらのインスタンスはこのウィンドウのインスタンスリストですぐに利用可能になります。更新アイコンは現在、NetScaler ADMでのみ利用可能です。

構成パックをあるバージョンのStyleBookから次のバージョンに移行することもできます。ここでも、新しいバージョンに存在する新しい必須パラメーターの値を入力する必要がある場合があります。構成パックをStyleBookの古いバージョンに移行することもできます。この場合、古いStyleBookに存在しない余分なパラメーターは削除されます。[Objects] ページには、構成から削除されたオブジェクトが表示されます。

移行が成功すると、構成パックは新しいStyleBookにバインドされます。

localized image

構成パックの名前と構成パック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-->
StyleBookの構成パックを別のStyleBookに移行