Citrix ADC

ドメインベースのサービスグループの自動スケーリングを設定する

ドメインベースのサービスグループは、サービスグループにバインドされているサーバーのドメイン名を解決することによって取得される IP アドレスを持つメンバーで構成されます。ドメイン名は、アプライアンスで設定した詳細を持つネームサーバーによって解決されます。ドメインベースのサービスグループには、IP アドレスベースのメンバーを含めることもできます。

ドメインベースのサーバーの名前解決のプロセスでは、複数の IP アドレスが返されることがあります。DNS 応答の IP アドレスの数は、ネームサーバ上のドメイン名に設定されたアドレス(A)レコードの数によって決まります。名前解決プロセスが複数の IP アドレスを返す場合でも、1 つの IP アドレスだけがサービスグループにバインドされます。サービスグループをスケールアップまたはスケールダウンするには、追加のドメインベースのサーバーをサービスグループに対して手動でバインドおよびバインド解除する必要があります。

ただし、ドメインベースのサービスグループは、DNS ネームサーバから返される完全な IP アドレスのセットに基づいて自動的に拡張されるように設定できます。自動スケーリングを設定するには、ドメインベースのサーバーをサービスグループにバインドするときに、自動スケーリングオプションを有効にします。次に、自動的にスケーリングするドメインベースのサービスグループを設定する手順を示します。

  • ドメイン名を解決するためのネームサーバーを追加します。アプライアンスでのネームサーバの設定の詳細については、ネーム・サーバの追加を参照してください。
  • ドメインベースのサーバーを追加します。ドメインベースのサーバを追加する方法については、サーバーの追加を参照してください。
  • サービスグループを追加し、AutoScaleオプションを DNS に設定して、ドメインベースのサーバをサービスグループに関連付けます。サービスグループの追加については、サービスグループの設定を参照してください。

ドメインベースのサーバーがサービスグループにバインドされ、自動スケーリングオプションがバインディングに設定されている場合、UDPモニターとTCPモニターが自動的に作成され、ドメインベースのサーバーにバインドされます。2つのモニターはリゾルバとして機能します。TCPモニターはデフォルトで無効になっており、アプライアンスはUDPモニターを使用してDNSクエリーをネーム・サーバーに送信してドメイン名を解決します。DNS応答がトランケートされた場合(TCフラグが1に設定されている場合)、アプライアンスはTCPにフォールバックし、TCPモニターを使用してTCP経由でDNSクエリを送信します。その後、アプライアンスは引き続き TCP モニタだけを使用します。

ネームサーバからの DNS 応答には、ドメイン名に対して複数の IP アドレスが含まれている場合があります。自動スケーリングオプションが設定されている場合、アプライアンスはデフォルトモニタを使用して各 IP アドレスをポーリングし、サービスグループにはアップして使用可能な IP アドレスのみを含めます。IP アドレスレコードの有効期限が切れると、TTL(Time To Live)値によって定義されるように、UDP モニタ(アプライアンスが TCP モニタを使用するようにフォールバックした場合は TCP モニタ)はネームサーバにドメイン解決を照会し、サービスグループに新しい IP アドレスを含めます。サービスグループの一部であるIPアドレスがDNS応答に存在しない場合、アプライアンスはグループメンバーへの既存の接続を正常に終了した後、そのアドレスをサービスグループから削除します。このプロセスでは、メンバーとの新しい接続を確立できません。過去に正常に解決されたドメイン名によって NXDOMAIN 応答が返された場合、そのドメインに関連付けられているすべてのサービスグループメンバーが削除されます。

スタティック(IP アドレスベース)メンバーとダイナミックにスケーリングドメインベースのメンバーは、サービスグループ内に共存できます。自動スケーリングオプションを設定することで、異なるドメイン名を持つメンバーをサービスグループにバインドすることもできます。ただし、サービスグループに関連付けられた各ドメイン名は、サービスグループ内で一意である必要があります。自動サービスグループのスケーリングに使用する各ドメインベースのサーバーに対して、自動スケーリングオプションを有効にする必要があります。IP アドレスが 1 つ以上のドメインに共通する場合、その IP アドレスはサービスグループに 1 回だけ追加されます。

重要

  • DNS AutoScaleは、クラスター展開でサポートされています。
  • AutoScaleサービスグループのパスモニタリングは、クラスター展開ではサポートされていません。

コマンドラインインターフェイスを使用してサービスグループを自動的にスケーリングするように設定するには

コマンドプロンプトで次のコマンドを入力して、サービスグループを構成し、構成を確認します。

add serviceGroup <serviceGroupName> -autoScale (YES | NO)

show serviceGroup <serviceGroupName>

次の例では、server1 はドメインベースのサーバーです。DNS 応答には複数の IP アドレスが含まれます。5 つのアドレスが使用可能で、サービスグループに追加されます。

> add serviceGroup servGroup server1 80 -autoScale YES
 Done
> sh servicegroup servGroup
       servGroup - HTTP
        State: ENABLED  Monitor Threshold : 0
              . . .
              . . .
        1)   192.0.2.31:80   State: UP       Server Name: server1 (Auto scale)    Server ID: None Weight: 1

                Monitor Name: tcp-default       State: UP
                Probes: 2       Failed [Total: 0 Current: 0]
                Last response: Success - TCP syn+ack received.

        2)   192.0.2.32:80   State: UP       Server Name: server1 (Auto scale)    Server ID: None Weight: 1

                Monitor Name: tcp-default       State: UP
                Probes: 2       Failed [Total: 0 Current: 0]
                Last response: Success - TCP syn+ack received.

        3)   192.0.2.36:80   State: UP       Server Name: server1 (Auto scale)    Server ID: None Weight: 1

                Monitor Name: tcp-default       State: UP
                Probes: 2       Failed [Total: 0 Current: 0]
                Last response: Success - TCP syn+ack received.

        4)   192.0.2.55:80   State: UP       Server Name: server1 (Auto scale)    Server ID: None Weight: 1

                Monitor Name: tcp-default       State: UP
                Probes: 2       Failed [Total: 0 Current: 0]
                Last response: Success - TCP syn+ack received.

        5)   192.0.2.80:80   State: UP       Server Name: server1 (Auto scale)    Server ID: None Weight: 1

                Monitor Name: tcp-default       State: UP
                Probes: 2       Failed [Total: 0 Current: 0]
                Last response: Success - TCP syn+ack received.
 Done

設定ユーティリティを使用してサービスグループを自動的にスケーリングするように設定するには

  1. トラフィック管理 」>「 ロードバランシング 」>「 サービスグループ 」に移動します。
  2. サービスグループを作成し、AutoScaleモードを DNS に設定します。

TTL 値の上書き

:このオプションは、Citrix ADC 12.1ビルド51.xx以降でサポートされています。

Citrix ADCアプライアンスは、アプリケーションの起動時にアプリケーションに関連付けられたSRVレコード内の更新をDNSサーバーに定期的に照会するように構成されています。デフォルトでは、このクエリの周期性は SRV レコードで発行された TTL に依存します。マイクロサービスまたはクラウド世界のアプリケーションでは、デプロイメントがより動的に変化します。その結果、プロキシは、アプリケーションの展開に対する変更を迅速に吸収する必要があります。したがって、ユーザーは、ドメインベースのサービス TTL パラメータを、SRV レコード TTL よりも低く、展開に最適な値に明示的に設定することをお勧めします。TTL 値は、次の 2 つの方法で上書きできます。

  • メンバーをサービスグループにバインドするとき
  • set lb パラメータコマンドを使用して、TTL 値をグローバルに設定します。

サービスグループメンバーのバインド中に TTL 値がグローバルに設定されている場合、サービスグループメンバーのバインド中に指定された TTL 値が優先されます。 サービスグループメンバーのバインド中またはグローバルレベルで TTL 値が指定されていない場合、DBS モニタ間隔は DNS 応答の TTL 値から導出されます。

CLI を使用した TTL 値の上書き

  • バインド中に TTL 値を上書きするには、コマンドプロンプトで次のように入力します。

     bind serviceGroup <serviceGroupName> (<serverName> [-dbsTTL <secs>])
    

    例:

     bind servicegroup svc_grp_1 web_serv -dbsTTL 10
    
  • TTL 値をグローバルに上書きするには、コマンドプロンプトで次のように入力します。

     set lb parameter [-dbsTTL <secs>]
    

    例:

     set lb parameter -dbsTTL 15
    

GUI を使用した TTL 値の上書き

バインド中に TTL 値を上書きするには、次の手順を実行します。

  1. トラフィック管理 」>「 ロードバランシング 」>「 サービスグループ 」に移動します。

  2. [Service Groups] ページで、作成したサービスグループを選択し、[Edit] をクリックします。

  3. [負荷分散サービスグループ] ページで、[サービスグループメンバー] をクリックします。

  4. サービスグループメンバーのバインド 」ページで、作成したサーバーを選択し、「 編集 」をクリックします。

  5. [ドメインベースサービス TTL] に、TTL 値を入力します。

グローバルレベルで TTL 値を上書きするには、次の手順を実行します。

  1. [トラフィック管理] > [ロードバランシング] > [ロードバランシングパラメータの変更] に移動します。

  2. [ドメインベースサービス TTL] に、TTL 値を入力します。

注: ドメインベースのサーバーTTL値が0に設定されている場合、データパケットからのTTL値が使用されます。

サービスグループおよびドメイン名のバインディングに異なるネームサーバを指定する

注: このオプションは、Citrix ADC 12.1ビルド51.xx以降でサポートされています。

特定のグループ内の異なるドメイン名に対して異なるネームサーバを設定できます。DBS サーバをサービスグループにバインドする場合は、nameServer パラメータの設定はオプションです。メンバーをサービスグループにバインドするときにネームサーバーが指定されていない場合、グローバルに設定されたネームサーバーが考慮されます。

CLI を使用したサービスグループへのサーバのバインド時のネームサーバの指定

コマンドプロンプトで、次のように入力します。

bind serviceGroup <serviceGroupName> (<serverName> [-nameServer <ip_addr>] [-dbsTTL <secs>])

:

bind servicegroup svc_grp_1 web_serv  -ns.nameserver.com 10.102.27.155 -dbsTTL 10

GUI を使用したサービスグループへのサーバのバインド時のネームサーバの指定

  1. トラフィック管理 」>「 ロードバランシング 」>「 サービスグループ 」に移動します。

  2. [Service Groups] ページで、作成したサービスグループを選択し、[Edit] をクリックします。

  3. [負荷分散サービスグループ] ページで、[サービスグループメンバー] をクリックします。

  4. サービスグループメンバーのバインド 」ページで、作成したサーバーを選択し、「 編集 」をクリックします。

  5. [ネ ームサーバー]で、バインドされたドメインのクエリの送信先となるネームサーバー名を指定します。

ドメインベースのサービスグループの自動スケーリングを設定する