Citrix ADC

ドメインベースのサービスグループの自動スケーリングの構成

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

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

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

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

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

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

重要

  • DNS Autoscaleはクラスタ展開でサポートされています。
  • Autoscaleサービスグループのパス監視は、クラスタ展開ではサポートされていません。

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

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

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

show serviceGroup <serviceGroupName>
<!--NeedCopy-->

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

> add serviceGroup servGroup -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
<!--NeedCopy-->

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

  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>])
     <!--NeedCopy-->
    

    例:

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

     set lb parameter [-dbsTTL <secs>]
     <!--NeedCopy-->
    

    例:

     set lb parameter -dbsTTL 15
     <!--NeedCopy-->
    

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>])
<!--NeedCopy-->

:

bind servicegroup svc_grp_1 web_serv  -ns.nameserver.com 10.102.27.155 -dbsTTL 10
<!--NeedCopy-->

GUI を使用してサーバをサービスグループにバインドする際にネームサーバを指定する

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ サービスグループ] に移動します。

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

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

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

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

ドメインベースのサービスグループの自動スケーリングの構成