Citrix ADC

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

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

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

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

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

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

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

注:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    確認画面

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

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

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

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

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

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

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

    テンプレートの管理

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

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

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

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

Citrix ADC 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>

配置ファイルの例

前の例の仮想サーバーに関連付けられたデプロイメントファイルを次に示します。 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>

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