サービスグループのドメインベースの自動スケーリングを構成する
ドメインベースのサービスグループは、サービスグループにバインドされたサーバーのドメイン名を解決することによって取得される IP アドレスを持つメンバーで構成されます。ドメイン名は、アプライアンス上で詳細を設定するネームサーバによって解決されます。ドメインベースのサービスグループには、IP アドレスベースのメンバーを含めることもできます。
ドメインベースのサーバーの名前解決のプロセスでは、複数の IP アドレスが返されることがあります。DNS 応答に含まれる IP アドレスの数は、ネームサーバ上のドメイン名に設定されたアドレス (A) レコードの数によって決まります。名前解決プロセスが複数の IP アドレスを返す場合でも、1 つの IP アドレスだけがサービスグループにバインドされます。サービスグループをスケールアップまたはスケールダウンするには、サービスグループに対して他のドメインベースのサーバーを手動でバインドおよびバインド解除する必要があります。
ただし、ドメインベースのサーバーのDNSネームサーバーから返されるIPアドレスの完全なセットに基づいて自動的にスケーリングするように、ドメインベースのサービスグループを構成できます。自動スケーリングを設定するには、ドメインベースのサーバをサービスグループにバインドするときに、[Automatic Scaling] オプションを有効にします。自動的にスケーリングするドメインベースのサービスグループを設定する手順は、次のとおりです。
- ドメイン名を解決するためのネームサーバーを追加します。アプライアンスでのネームサーバの設定の詳細については、ネームサーバの追加を参照してください。
- ドメインベースのサーバーを追加します。ドメインベースのサーバーを追加する方法については、「サーバーオブジェクトの構成」を参照してください。
- サービスグループを追加し、ドメインベースのサーバーをサービスグループに関連付けます。[自動スケール]オプションは[DNS]に設定されています。サービスグループの追加については、サービスグループの構成を参照してください。
ドメインベースのサーバーがサービスグループにバインドされ、自動スケーリングオプションがバインディングに設定されている場合、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 -autoscale DNS
例
次の例では、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
構成ユーティリティを使用してサービスグループを自動的にスケーリングするように構成するには
- [トラフィック管理] > [負荷分散] > [サービスグループ] に移動します。
- サービスグループを作成し、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
( [-dbsTTL ]) 例:
bind servicegroup svc_grp_1 web_serv -dbsTTL 10
TTL 値をグローバルに上書きするには、コマンドプロンプトで次のように入力します。
set lb parameter [-dbsTTL
] 例:
set lb parameter -dbsTTL 15
GUI を使用した TTL 値の上書き
バインド中に TTL 値を上書きするには、次の手順を実行します。
[トラフィック管理] > [負荷分散] > [サービスグループ] に移動します。
[Service Groups] ページで、作成したサービスグループを選択し、[Edit] をクリックします。
[負荷分散サービスグループ] ページで、[サービスグループメンバー] をクリックします。
「サービスグループメンバーのバインド」ページで、作成したサーバーを選択し、「編集」をクリックします。
[ドメインベースサービス TTL] に、TTL 値を入力します。
TTL 値をグローバルレベルで上書きするには、次の手順を実行します。
[トラフィック管理] > [負荷分散] > [負荷分散パラメータの変更] に移動します。
[ドメインベースサービス TTL] に、TTL 値を入力します。
注:
ドメインベースのサーバの TTL 値が 0 に設定されている場合は、データパケットの TTL 値が使用されます。
サービスグループとドメイン名のバインディングに異なるネームサーバを指定する
注:
このオプションは、Citrix ADC 12.1 ビルド 51.xx 以降でサポートされています。
特定のグループ内の異なるドメイン名に対して、異なるネームサーバを設定できます。DBS サーバをサービスグループにバインドする場合、NameServer パラメータの設定は任意です。メンバーをサービスグループにバインドする際にネームサーバーが指定されない場合、グローバルに設定されたネームサーバーが考慮されます。
CLI を使用してサーバをサービスグループにバインドする際にネームサーバを指定する
コマンドプロンプトで入力します。
bind serviceGroup ( [-nameServer ] [-dbsTTL ])
例:
bind servicegroup svc_grp_1 web_serv -ns.nameserver.com 10.102.27.155 -dbsTTL 10
GUI を使用してサーバをサービスグループにバインドする際にネームサーバを指定する
[トラフィック管理] > [負荷分散] > [サービスグループ] に移動します。
[Service Groups] ページで、作成したサービスグループを選択し、[Edit] をクリックします。
[負荷分散サービスグループ] ページで、[サービスグループメンバー] をクリックします。
「サービスグループメンバーのバインド」ページで、作成したサーバーを選択し、「編集」をクリックします。
[ネームサーバー] で、バインドされたドメインのクエリの送信先となるネームサーバー名を指定します。
自動遅延 TROFS
DNS 応答から IP アドレスが削除されたときに、サービスグループのメンバーが TROFS 状態に正常に移行するように設定できます。自動遅延TROFSオプションを有効にすると、Citrix ADCは、メンバーをTROFS状態に移行する前に、サービスグループに接続されているすべてのモニターで最も長い応答タイムアウトを待ちます。
このオプションは,新しいIPアドレスセットによって既存のIPアドレスセットが完全に置き換えられ、新しい IP アドレスを追加する前に接続を確認する必要がある場合に便利です。
注:
-autoDelayedTrofs
オプションは、Citrix ADC 13.1ビルド37.xx以降でサポートされています。
CLI を使用して自動遅延 TROFS を設定する
コマンドプロンプトで、次のコマンドを入力します。
add serviceGroup @ [-autoScale ] [-autoDelayedTrofs ( YES | NO)]
例
> add serviceGroup sg1 HTTP -autoScale DNS -autoDelayedTrofs YES
GUI を使用して自動遅延 TROFS を設定する
- [トラフィック管理] > [負荷分散] > [サービスグループ] に移動します。
- [AutoScale Mode]で、[DNS] を選択します。
- 「自動遅延 Trofs」で「はい」を選択します。
注:
自動遅延 Trofs オプションは、オートスケールモードで DNS を選択した場合にのみ有効になります。