Citrix ADC

GSLB サービスグループを構成する

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

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

重要

:

負荷分散仮想サーバーが GSLB ノード自体または子ノード (親子展開) にあり、モニターが GSLB サービスにバインドされていない場合は、次のことを確認してください。GLSB サービスグループの IP アドレス、ポート番号、およびプロトコルが仮想サービスが表しているサーバ。それ以外の場合、サービス状態は DOWN とマークされます。

Citrix ADC は、次の種類のGSLBサービスグループをサポートしています。

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

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

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

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

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

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

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

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

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

[トリガーモニター] オプションは、デフォルトで ALWAYS に設定されています。

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

したがって、GSLB サイトエンティティの [トリガーモニター] オプションを MEPDOWN に設定することをお勧めします。[Trigger Monitor] オプションが MEPDOWN に設定されている場合、負荷分散ドメインの解決と監視の所有権はローカル GSLB ノードにあります。[Trigger Monitor] オプションが 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>
<!--NeedCopy-->

例:

add gslb serviceGroup Service-Group-1 http -siteName Site1 -autoScale DNS
<!--NeedCopy-->

GSLB サービスグループを仮想サーバーにバインドするには

bind gslb serviceGroup <serviceGroupName> ((<IP>@ <port>) | <serverName>@ | (-monitorName <string>@))
<!--NeedCopy-->

例:

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

GSLB サービスグループを仮想サーバにバインド解除するには

unbind gslb serviceGroup <serviceGroupName> ((<IP>@ <port>) | <serverName>@ | -monitorName <string>@)
<!--NeedCopy-->

例:

unbind gslb serviceGroup Service-Group-1 -monitorName Mon1
<!--NeedCopy-->

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

GSLB サービスグループからパラメータの設定を解除するには、次の手順を実行します。

unset gslb serviceGroup <serviceGroupName>@ [<serverName>@ <port> [-weight] [-hashId] [-publicIP] [-publicPort]] [-maxClient] [-cip] [-cltTimeout] [-svrTimeout] [-maxBandwidth] [-monThreshold] [-appflowLog] [-monitorName] [-weight] [-healthMonitor] [-cipHeader] [-downStateFlush] [-comment]
<!--NeedCopy-->

GSLB サービスグループを有効にするには、次の手順を実行します。

enable gslb serviceGroup <serviceGroupName>@ [<serverName>@ <port>]
<!--NeedCopy-->

例:

enable gslb serviceGroup SG1 S1 80
<!--NeedCopy-->

GSLB サービスグループを無効にするには、次の手順を実行します。

disable gslb serviceGroup <serviceGroupName>@ [<serverName>@ <port>] [-delay <secs>] [-graceFul ( YES /| NO )]
<!--NeedCopy-->

例:

disable gslb serviceGroup SRG2 S1 80
<!--NeedCopy-->

:

無効にする必要があるサービスグループは、Autoscale サービスグループではなく DBS サービスグループである必要があります。

GSLB サービスグループを削除するには、次の手順を実行します。

rm gslb serviceGroup <serviceGroupName>
<!--NeedCopy-->

例:

rm gslb serviceGroup Service-Group-1
<!--NeedCopy-->

GSLB サービスグループの統計情報を表示するには、次の手順を実行します。

stat gslb serviceGroup [<serviceGroupName>]
<!--NeedCopy-->

例:

stat gslb serviceGroup Service-Group-1
<!--NeedCopy-->

GSLB サービスグループのプロパティを表示するには、次の手順を実行します。

show gslb serviceGroup [<serviceGroupName>  -includeMembers]
<!--NeedCopy-->

例:

show gslb serviceGroup SG1
show gslb serviceGroup -includeMembers
<!--NeedCopy-->

既存の GSLB CLI コマンドへの変更

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

  • bind gslb vserver -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 )]))
     <!--NeedCopy-->
    
  • unbind gslb vserver -サービスグループが unbind コマンドに追加されます。

    例:

     unbind gslb vserver <name> (-serviceName <string> <serviceGroupName> @ /(-domainName <string> [-backupIP] [-cookieDomain]) | -policyName <string>@)
     <!--NeedCopy-->
    
  • 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>]
<!--NeedCopy-->
  • HTTP リダイレクトの永続性については、まずサービスグループのメンバのサイトプレフィックスを設定し、次にサービスグループの HttpRedirect パーシステンスパラメータを設定する必要があります。

コマンドプロンプトで入力します。

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

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

例:

  • 接続プロキシの永続性

     set gslbservicegroup sg1 -sitePersistence connectionProxy
     <!--NeedCopy-->
    
  • httpRedirect パーシスタンス

     set gslb servicegroup sg2 test1 80 -sitePrefix vserver-GSLB-1
     <!--NeedCopy-->
    
     set gslb servicegroup sg2 -sitePersistence HTTPRedirect
     <!--NeedCopy-->
    
  1. [ トラフィック管理 ] > [ GSLB ] > [ サービスグループ ] に移動し、サイトの永続性を設定するサービスグループ (ServiceGroup-GSLB-1 など) を選択します。
  2. [ サイトの永続性 ] セクションをクリックし、要件を満たすパーシステンスを設定します。

ヒント

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

GSLB サービスグループを構成する