Citrix ADC

GSLB サービスグループの構成

サービスグループを使用すると、サービスグループを 1 つのサービスと同じくらい簡単に管理できます。たとえば、サービスグループに対して、圧縮、ヘルスモニタリング、正常なシャットダウンなどのオプションを有効または無効にすると、そのオプションはサービスグループのすべてのメンバーに対して有効または無効になります。

サービスグループを作成したら、仮想サーバにバインドし、そのグループにサービスを追加できます。モニタをサービスグループにバインドすることもできます。

重要

負荷分散仮想サーバーが GSLB ノード自体にあるか、子ノード (親子展開) にあり、モニターが GSLB サービスにバインドされていない場合は、

次のことを確認します。GLSB サービスグループの IP アドレス、ポート番号、およびプロトコルは、サービスが表す仮想サーバーと一致します。それ以外の場合は、サービスの状態は DOWN としてマークされます。

Citrix ADCでは、次の種類のGSLBサービスグループがサポートされています。

  • IP アドレスベースのサービスグループ
  • ドメイン名ベースのサービスグループ
  • ドメイン名ベースのAutoScaleサービスグループ

GSLB ドメイン名ベースのAutoScaleサービスグループ

Citrix ADCハイブリッドおよびマルチクラウドグローバルサーバー負荷分散(GSLB)ソリューションを使用すると、ハイブリッドクラウド、複数のクラウド、オンプレミスの複数のデータセンターにアプリケーショントラフィックを分散できます。Citrix ADC GSLB ソリューションは、Citrix ADC ロードバランサー、Amazon Web Services(AWS)向け弾性負荷分散(ELB)、その他のサードパーティ製ロードバランサーなど、さまざまな負荷分散ソリューションをサポートします。また、GSLBと負荷分散層が独立して管理されている場合でも、GSLBソリューションはグローバル負荷分散を実行します。

クラウドデプロイメントでは、管理目的で負荷分散ソリューションにアクセスするときに、ユーザーに参照としてドメイン名が与えられます。外部エンティティは、これらのドメイン名の解決先の IP アドレスを使用しないことをお勧めします。また、ロードバランシングレイヤは、負荷に基づいてスケールアップまたはスケールダウンされ、IP アドレスが静的であることは保証されません。したがって、IP アドレスの代わりにドメイン名を使用して負荷分散エンドポイントを参照することをお勧めします。これには、IP アドレスの代わりにドメイン名を使用して GSLB サービスを参照する必要があります。また、ロードバランシングレイヤのドメイン名に対して返されたすべての IP アドレスを消費し、GSLB で同じ表現を持つ必要があります。

負荷分散エンドポイントを参照するときに IP アドレスの代わりにドメイン名を使用するには、GSLB のドメイン名ベースのサービスグループを使用できます。

GSLB ドメイン名ベースのサービスグループの監視

Citrix ADCアプライアンスには、TCPベースのアプリケーションを監視する2つの内蔵モニター(tcpデフォルトとpingデフォルト)があります。tcp デフォルトモニタはすべての TCP サービスにバインドされ、ping デフォルトモニタは TCP 以外のすべてのサービスにバインドされます。組み込みモニターは、デフォルトで GSLB サービスグループにバインドされます。ただし、アプリケーション固有のモニターを GSLB サービスグループにバインドすることをお勧めします。

トリガモニタオプションを MEPDOWN に設定する際の推奨事項

[Trigger Monitors] オプションを使用すると、GSLB サイトが常にモニタを使用する必要があるかどうか、またはメトリック交換プロトコル (MEP) がDOWNのときにモニタを使用する必要があるかどうかを示すことができます。

[トリガーモニター] オプションは、既定で [常に] に設定されています。

トリガーモニターオプションが ALWAYS に設定されている場合、各 GSLB ノードはモニターを個別にトリガーします。各 GSLB ノードが個別にモニターをトリガーする場合、各 GSLB ノードは異なる GSLB サービスのセットで動作する可能性があります。これにより、これらの GSLB ノードに着陸する DNS 要求の DNS 応答に不一致が生じる可能性があります。また、各 GSLB ノードが個別に監視している場合、ロードバランサーエンティティに到達する監視プローブの数が増えます。永続性エントリは、GSLB ノード間で互換性もなくなります。

したがって、GSLB サイトエンティティの [トリガーモニター] オプションを MEPDOWN に設定することをお勧めします。[Trigger Monitors] オプションが MEPDOWN に設定されている場合、ロードバランシングのドメイン解決と監視の所有権はローカル GSLB ノードになります。トリガーモニターオプションが MEPDOWN に設定されている場合、負荷分散ドメイン解決とその後の監視は GSLB サービスグループのローカル GSLB ノードによって行われます。結果は、メトリック交換プロトコル(MEP)を使用して、GSLB に参加している他のすべてのノードに伝播されます。

また、ロードバランシングドメインに関連付けられている IP アドレスのセットが更新されるたびに、MEP を通じて通知されます。

GSLB サービスグループの制限

  • 負荷分散ドメインの場合、DNS 応答で返される IP アドレスは、一般にパブリック IP アドレスです。ロードバランシングドメインが解決されると、プライベート IP アドレスを動的に適用できません。したがって、GSLB ドメイン名ベースのAutoScaleサービスグループ IP ポートのバインディングのパブリック IP ポートとプライベート IP ポートは同じです。これらの パラメータは、ドメイン名ベースのAutoScaleサービスグループに対して明示的に設定することはできません。
  • GSLB サービスグループでは、サイトの永続性、DNS ビュー、およびクラスタリングはサポートされていません。

CLI を使用した GSLB サービスグループの構成と管理

操作 コマンドライン
GSLB サービスグループを追加するには add gslb serviceGroup <serviceGroupName>@ <serviceType> [-autoScale ( DISABLED | DNS )] -siteName <string>
  例:add gslb serviceGroup Service-Group-1 http -siteName Site1 -autoScale DNS
GSLB サービスグループを仮想サーバーにバインドするには bind gslb serviceGroup <serviceGroupName> ((<IP>@ <port>) | <serverName>@ | ((-monitorName <string>@
  例:bind gslb serviceGroup Service-Group-1 203.0.113.2; bind gslb serviceGroup Service-Group-1 S1 80; bind gslb serviceGroup Service-Group-1 -monitorName Mon1
GSLB サービスグループを仮想サーバーにバインド解除するには unbind gslb serviceGroup <serviceGroupName> ((<IP>@ <port>) | <serverName>@ | -monitorName <string>@)
  例:unbind gslb serviceGroup Service-Group-1 -monitorName Mon1
GSLB サービスグループのパラメータを設定するには set gslb serviceGroup <serviceGroupName>@ [(<serverName>@ <port> [-weight <positive_integer>] [-hashId <positive_integer>] [-publicIP <ip_addr|ipv6_addr|*>] [-publicPort <port>]) | -maxClient <positive_integer> | -cip ( ENABLED | DISABLED ) | <cipHeader> | -cltTimeout <secs> | -svrTimeout <secs> | -maxBandwidth <positive_integer> | -monThreshold <positive_integer> | -downStateFlush ( ENABLED | DISABLED )] [-monitorName <string> -weight <positive_integer>] [-healthMonitor ( YES | NO )] [-comment <string>] [-appflowLog ( ENABLED | DISABLED )]
GSLB サービスグループからパラメータを設定解除するには unset gslb serviceGroup <serviceGroupName>@ [<serverName>@ <port> [-weight] [-hashId] [-publicIP] [-publicPort]] [-maxClient] [-cip] [-cltTimeout] [-svrTimeout] [-maxBandwidth] [-monThreshold] [-appflowLog] [-monitorName] [-weight] [-healthMonitor] [-cipHeader] [-downStateFlush] [-comment]
GSLB サービスグループを有効にするには enable gslb serviceGroup <serviceGroupName>@ [<serverName>@ <port>]
  例:enable gslb serviceGroup SG1 S1 80
GSLB サービスグループを無効にするには disable gslb serviceGroup <serviceGroupName>@ [<serverName>@ <port>] [-delay <secs>] [-graceFul ( YES /| NO )]
  例:disable gslb serviceGroup SRG2 S1 80
  注意: 無効にする必要があるサービスグループは、Autoscaleサービスグループではなく、DBS サービスグループである必要があります。
GSLB サービスグループを削除するには rm gslb serviceGroup <serviceGroupName>
  例:rm gslb serviceGroup Service-Group-1
GSLB サービスグループの統計情報を表示するには stat gslb serviceGroup [<serviceGroupName>]
  例:stat gslb serviceGroup Service-Group-1
GSLB サービスグループのプロパティを表示するには show gslb serviceGroup [<serviceGroupName> -includeMembers]
  例:show gslb serviceGroup SG1; show gslb serviceGroup -includeMembers

既存の GSLB CLI コマンドに対する変更

次の表に、GSLB サービスグループの導入後に既存の GSLB コマンドに加えられた変更の一部を示します。

コマンドライン 変更
仮想サーバーのバインド サービスグループ名が bind コマンドに追加されます。
  例:bind gslb vserver <name> ((-serviceName <string> [-weight <positive_integer>] ) | <serviceGroupName>@ | | (-domainName <string> [-TTL <secs>] [-backupIP<ip_addr|ipv6_addr|*>] [-cookieDomain <string>] [-cookieTimeout <mins>][-sitedomainTTL <secs>]) | (-policyName <string>@ [-priority<positive_integer>] [-gotoPriorityExpression <expression>] [-type REQUEST | RESPONSE )]))
unbind gslb vserver サービスグループが unbind コマンドに追加されます。
例: unbind gslb vserver <name> (-serviceName <string> <serviceGroupName> @ /(-domainName <string> [-backupIP] [-cookieDomain]) | -policyName <string>@)
show gslb site このコマンドを実行すると、GSLB サービスグループも表示されます。
show gslb vs このコマンドを実行すると、GSLB サービスグループが表示されます。
stat gslb vs このコマンドを実行すると、GSLB サービスグループの統計情報も表示されます。
show lb monitor bindings このコマンドを実行すると、GSLB サービスグループのバインディングも表示されます。

GUI を使用した GSLB サービスグループの構成

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

GSLB サービスグループのサイト永続性の設定

IP アドレスベースおよびドメイン名ベースのサービスグループに対して、サイト永続性を設定できます。サイト永続性は、ドメイン名ベースのAutoScaleサービスグループではサポートされていません。

  • 接続プロキシの永続性のために、サイトプレフィックスを設定する必要はありません。

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

set gslb service group <serviceGroupName> [-sitePersistence <sitePersistence>]
  • HTTP リダイレクト永続性の場合は、まずサービスグループのメンバーのサイトプレフィックスを設定してから、サービスグループの HTTPRedirect 永続性パラメーターを設定する必要があります。

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

set gslb servicegroup <serviceGroupName>  <serviceGroup member name|Ip> <port>  [-sitePrefix <string>]

set gslb servicegroup <serviceGroupName> [-sitePersistence <sitePersistence>]

例:

  • 接続プロキシの永続性

    set gslbservicegroup sg1 -sitePersistence connectionProxy

  • HTTPリダイレクトパーシステンス

    set gslb servicegroup sg2 test1 80 -sitePrefix vserver-GSLB-1

    set gslb servicegroup sg2 -sitePersistence hTTPRedirect

  1. トラフィック管理 」>「 GSLB 」>「 サービスグループ 」に移動し、サイト永続性を設定するサービスグループ(servicegroup-GSLB-1 など)を選択します。
  2. [サイトの永続性] セクションをクリックし、要件を満たす永続性を設定します。

ヒント

GSLB サービスグループのデプロイシナリオと設定例については、次のトピックを参照してください。

GSLB サービスグループの構成