ADC

エンティティテンプレート

警告

:エンティティテンプレート機能は、NetScaler 13.0ビルド82.x以降から廃止され、代替としてスタイルブックを使用することをお勧めします。詳細については、「 スタイルブック 」トピックを参照してください。

エンティティテンプレートは、NetScalerアプライアンスで負荷分散仮想サーバーテンプレートを作成するための情報の集まりです。負荷分散仮想サーバーに設定する仕様とデフォルトのセットを提供します。デフォルトのセットを定義するテンプレートを使用すると、いくつかの構成手順を省略しながら、同様の構成を必要とする複数の仮想サーバーをすばやく構成できます。

負荷分散仮想サーバーの詳細をテンプレートファイルにエクスポートすることで、エンティティテンプレートを作成できます。これはNetScaler GUIでのみ実行できます。NetScaler GUIを使用して、エンティティテンプレートのエクスポート、インポート、管理を行います。エンティティテンプレートを他の管理者と共有したり、アプライアンスまたはマシンにローカルに保存されたテンプレートを管理したりできます。アプライアンスまたはローカルコンピューターからエンティティテンプレートをインポートすることもできます。

テンプレートを作成する前に、負荷分散仮想サーバーの構成に精通している必要があります。

負荷分散仮想サーバーテンプレート

負荷分散エンティティテンプレートは、NetScalerアプリケーションテンプレートの作成と同じ方法で作成されます。負荷分散仮想サーバーをテンプレートファイルにエクスポートすると、次の 2 つのファイルが自動的に作成されます。

  • 負荷分散仮想サーバーテンプレートファイル。負荷分散仮想サーバーに設定されたパラメーターの値を格納する XML 要素を含みます。このファイルには、バインドされたポリシーに関する情報を保存するための XML 要素も含まれています。
  • デプロイファイル。サービス、サービスグループ、設定済み変数などのデプロイメント固有の情報を格納する XML 要素が含まれます。 テンプレートファイルおよびデプロイファイルでは、構成情報の各ユニットは、そのユニットタイプ用の特定の XML 要素にカプセル化されています。たとえば、負荷分散方法のパラメーター LBMethod は、<lbmethod>および</lbmethod>タグ内にカプセル化されています。

注:

負荷分散仮想サーバーをエクスポートしたら、構成情報をNetScalerアプライアンスにインポートする前に、要素の追加、要素の削除、既存の要素の変更を行うことができます。

負荷分散仮想サーバーテンプレートの仕組み

負荷分散仮想サーバーのテンプレートを作成するときは、サーバーのデフォルト値を指定します。読み取り専用にする値、表示しない値、およびユーザーが構成できる値を指定します。また、テンプレートインポートウィザードを構成するページも設定します。入力したすべての情報と設定は、テンプレートファイルに保存されます。 ユーザーがテンプレートをNetScalerアプライアンスにインポートすると、テンプレート用に構成したさまざまなページがGUIによってユーザーに表示されます。GUI には読み取り専用のパラメータ値が表示され、ユーザに設定可能なパラメータの値を指定するよう求められます。ユーザーが指示に従うと、アプライアンスは設定値を使用してエンティティを作成します。 [トラフィック管理] ノードから、負荷分散仮想サーバーのエンティティテンプレートを作成または変更できます。 仮想サーバーの詳細をテンプレートにエクスポートするには、テンプレートの次のオプションと設定を指定する必要があります。

  • パラメータのデフォルト値。
  • デフォルト値がユーザーに表示されるかどうか。
  • デフォルト値をユーザーが変更できるかどうか。
  • ページ名、テキスト、使用可能なパラメータを含む、エンティティインポートウィザードのページ数。
  • テンプレートを作成する対象のエンティティにバインドする必要があるエンティティ。

たとえば、負荷分散仮想サーバーテンプレートを作成するときに、テンプレートから作成した仮想サーバーにバインドするポリシーを指定できます。ただし、テンプレートにはバインディング情報のみが含まれます。バインドされたエンティティは含まれません。エンティティテンプレートを別のNetScalerアプライアンスにインポートする場合、バインドが成功するには、バインドされたエンティティがインポート時にアプライアンスに存在している必要があります。バインドされたエンティティがターゲットアプライアンスに存在しない場合、(テンプレートが設定された)エンティティはバインディングなしで作成されます。バインドされたエンティティのサブセットのみがターゲットアプライアンスに存在する場合、それらはテンプレートから作成されたエンティティにバインドされます。 負荷分散仮想サーバーのテンプレートをエクスポートすると、エンティティの構成設定がテンプレートに表示されます。バインドされたエンティティはすべてデフォルトで選択されますが、必要に応じてバインディングを変更できます。既存のエンティティに基づいていないテンプレートの場合と同様に、バインディング情報のみが含まれており、エンティティは含まれません。テンプレートを既存の構成設定とともに保存することも、その設定をテンプレートの新しい構成を作成するための基礎として使用することもできます。

負荷分散仮想サーバーテンプレートでの変数の設定

負荷分散仮想サーバーテンプレートは、設定された負荷分散パラメーターおよびインバウンドポリシーとアクションの変数宣言をサポートします。変数を宣言する機能により、事前設定された値を、テンプレートをインポートする環境に適した値に置き換えることができます。

例として、テンプレートを作成する負荷分散仮想サーバーにバインドされたポリシーに設定された次の式を考えてみましょう。この式は、HTTP リクエストの受け入れ言語ヘッダーの値を評価します。 HTTP.REQ.HEADER("Accept-Language").CONTAINS("en-us")

インポート時にヘッダーの値を設定できるようにするには、文字列 en-us を変数として指定できます。

変数を作成したら、次の操作を実行できます。

  • 既存の変数にもっと文字列を割り当てます。文字列の変数を作成した後、同じ式または異なる式の他の部分を選択し、変数に割り当てることができます。変数に割り当てる文字列は同じである必要はありません。インポート時に、変数に割り当てられたすべての文字列は、指定した値に置き換えられます。
  • 変数に割り当てられている 1 つまたは複数の文字列を表示します。
  • 変数を使用するすべてのエンティティとパラメータのリストを表示します

負荷分散仮想サーバーテンプレートで変数を設定するには

NetScaler GUIを使用して負荷分散仮想サーバーテンプレートの変数を構成するには、次の手順を実行します。

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動します
  2. 詳細ウィンドウで、テンプレートファイルにエクスポートする仮想サーバーを右クリックし、[ 追加] をクリックします。
  3. 負荷分散仮想サーバーの作成]ページで、仮想サーバーのパラメータを設定します。負荷分散仮想サーバーの構成の詳細については、「 負荷分散の仕組み」を参照してください。
  4. 負荷分散仮想サーバーのパラメータを設定したら、[Done] をクリックします。

    負荷分散仮想サーバーテンプレートとしてエクスポート

  5. サーバーの詳細をテンプレートファイルとしてエクスポートするには 、上部の [テンプレートとしてエクスポート] リンクをクリックします。
  6. 負荷分散テンプレートの作成ページで 、テンプレート設定を入力します。
  7. [完了] をクリックします。

    確認画面

負荷分散仮想サーバーテンプレートの変更

テンプレートに設定されているパラメーター、バインディング、ページのみを変更できます。テンプレートの作成時に指定したテンプレートの名前と場所は変更できません。NetScalerアプライアンスには、負荷分散仮想サーバーテンプレートを変更するオプションはありません。

NetScaler GUIを使用して負荷分散仮想サーバーを変更するには

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動します。
  2. 負荷分散仮想サーバーページで 、エンティティパラメーターを変更します。
  3. [完了] をクリックします。
  4. テンプレートとしてエクスポート 」リンクをクリックします。
  5. 変更された変更は、負荷分散仮想サーバーのテンプレートファイルで使用できるようになりました。
  6. エクスポートされた負荷分散テンプレート 」ページで、「 完了」をクリックします。

負荷分散仮想サーバーテンプレートの管理

NetScaler GUIを使用して、負荷分散仮想サーバーのテンプレートファイルと展開ファイルを整理できます。

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動します。
  2. 仮想サーバー 」ページで、「 テンプレートの管理」アクションを選択します
  3. 負荷分散テンプレート 」ページで、「 テンプレートファイル 」タブをクリックします。
  4. テンプレートファイルタブページでは 、アプライアンステンプレートフォルダからテンプレートをアップロードしたり、アプライアンステンプレートフォルダにテンプレートをダウンロードしたりできます。

    テンプレートを管理

  5. [閉じる] をクリックします。

NetScaler GUIを使用して負荷分散仮想サーバーエンティティテンプレートをアップロードするには

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動します。
  2. 仮想サーバー 」ページで、「 アクションの選択 」をクリックし、「 テンプレートの管理」を選択します。
  3. 負荷分散テンプレートページで、「 テンプレートファイル 」タブをクリックします。
  4. テンプレートファイル 」タブページで、「 アップロード 」をクリックしてテンプレートをアップロードします。
  5. [閉じる] をクリックします。

    テンプレートのアップロード

NetScaler GUIを使用して負荷分散仮想サーバーエンティティテンプレートをダウンロードするには

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動します。
  2. 仮想サーバー 」ページで、「 アクションの選択 」をクリックし、「 テンプレートの管理」を選択します。
  3. 負荷分散テンプレート 」ページで、「 テンプレートファイル 」タブをクリックします。
  4. 「テンプレートファイル」タブページで、テンプレートファイルを選択して「ダウンロード」をクリックします。
  5. [閉じる] をクリックします。

    テンプレートをダウンロード

負荷分散仮想サーバーテンプレートと展開テンプレートの例

以下は、「Lbvip」という負荷分散仮想サーバーから作成されたテンプレートファイルの例です。

COPY

<?xml version="1.0" encoding="UTF-8" ?>
  <template>
    <template_info>
      <entity_name>Lbvip</entity_name>
      <version_major>10</version_major>
      <version_minor>0</version_minor>
      <build_number>40.406</build_number>
    </template_info>
    <entitytemplate>
      <lbvserver_list>
        <lbvserver>
          <name>Lbvip</name>
          <servicetype>HTTP</servicetype>
          <ipv46>0.0.0.0</ipv46>
          <ipmask>*</ipmask>
          <port>0</port>
          <range>1</range>
          <persistencetype>NONE</persistencetype>
          <timeout>2</timeout>
          <persistencebackup>NONE</persistencebackup>
          <backuppersistencetimeout>2</backuppersistencetimeout>
          <lbmethod>LEASTCONNECTION</lbmethod>
          <persistmask>255.255.255.255</persistmask>
          <v6persistmasklen>128</v6persistmasklen>
          <pq>OFF</pq>
          <sc>OFF</sc>
          <m>IP</m>
          <datalength>0</datalength>
          <dataoffset>0</dataoffset>
          <sessionless>DISABLED</sessionless>
          <state>ENABLED</state>
          <connfailover>DISABLED</connfailover>
          <clttimeout>180</clttimeout>
          <somethod>NONE</somethod>
          <sopersistence>DISABLED</sopersistence>
          <sopersistencetimeout>2</sopersistencetimeout>
          <redirectportrewrite>DISABLED</redirectportrewrite>
          <downstateflush>DISABLED</downstateflush>
          <gt2gb>DISABLED</gt2gb>
          <ipmapping>0.0.0.0</ipmapping>
          <disableprimaryondown>DISABLED</disableprimaryondown>
          <insertvserveripport>OFF</insertvserveripport>
          <authentication>OFF</authentication>
          <authn401>OFF</authn401>
          <push>DISABLED</push>
          <pushlabel>none</pushlabel>
          <l2conn>OFF</l2conn>
          <appflowlog>DISABLED</appflowlog>
          <icmpvsrresponse>PASSIVE</icmpvsrresponse>
          <lbvserver_cmppolicy_binding_list>
            <lbvserver_cmppolicy_binding>
              <name>Lbvip</name>
              <policyname>NOPOLICY-COMPRESSION</policyname>
              <priority>100</priority>
              <gotopriorityexpression>END</gotopriorityexpression>
              <bindpoint>REQUEST</bindpoint>
            </lbvserver_cmppolicy_binding>
          </lbvserver_cmppolicy_binding_list>
        </lbvserver>
      </lbvserver_list>
    </entitytemplate>
  </template>
<!--NeedCopy-->

デプロイファイルの例

前の例の仮想サーバーに関連付けられたデプロイファイルは次のとおりです 。COPY

<?xml version="1.0" encoding="UTF-8" ?>
  <template_deployment>
    <template_info>
      <entity_name>Lbvip</entity_name>
      <version_major>10</version_major>
      <version_minor>0</version_minor>
      <build_number>40.406</build_number>
    </template_info>
    <service_list>
      <service>
      <ip>1.2.3.4</ip>
      <port>80</port>
      <servicetype>HTTP</servicetype>
      </service>
    </service_list>
    <servicegroup_list>
      <servicegroup>
        <name>svcgrp</name>
        <servicetype>HTTP</servicetype>
        <servicegroup_servicegroupmember_binding_list>
          <servicegroup_servicegroupmember_binding>
            <ip>1.2.3.90</ip>
            <port>80</port>
          </servicegroup_servicegroupmember_binding>
        <servicegroup_servicegroupmember_binding>
          <ip>1.2.8.0</ip>
          <port>80</port>
        </servicegroup_servicegroupmember_binding>
        <servicegroup_servicegroupmember_binding>
          <ip>1.2.8.1</ip>
          <port>80</port>
        </servicegroup_servicegroupmember_binding>
        <servicegroup_servicegroupmember_binding>
          <ip>1.2.9.0</ip>
          <port>80</port>
        </servicegroup_servicegroupmember_binding>
      </servicegroup_servicegroupmember_binding_list>
    </servicegroup>
  </servicegroup_list>
</template_deployment>

<!--NeedCopy-->
エンティティテンプレート