Citrix による負荷分散

10

このページでは、Anthos clusters on VMware(GKE On-Prem)クラスタの Citrix ロードバランサを構成する方法について説明します。

Anthos clusters on VMware クラスタは、統合、バンドルまたは手動の 3 つのロード バランシング モードのいずれかで実行できます。Citrix ロードバランサを使用するには、手動負荷分散モードを使用します。

Citrix Netscaler のバージョン

このトピックでは、バージョン 12.0 の Citrix NetScaler VPX 1000 モデルについての手順を説明します。

別のバージョンまたはモデルの Citrix ロードバランサを使用している場合は、ユーザー インターフェースが異なる可能性があります。

すべての手動負荷分散に共通の手順

Citrix ロードバランサを構成する前に、手動の負荷分散構成に共通する次の手順を行います。

Citrix ADC インスタンスの作成

Citrix Application Delivery Controller(ADC)を作成するには、次の手順を行います。

ネットワーク アダプタの追加

Citrix ADC VM にネットワーク アダプタが 1 つあり、アダプタは VM の管理 IP アドレスに関連付けられています。1 つまたは 2 つのネットワーク アダプタを Citrix ADC VM に追加する必要があるとします。

1 つの方法として、ワンアーム構成を作成することが考えられます。この構成方法では、Citrix ADC VM には、管理ネットワーク アダプタに加えて、ネットワーク アダプタが 1 つあります。追加のネットワーク アダプタの 1 つは、クラスタノードを持つサブネットに接続されます。このサブネット上の IP アドレスには、インターネットからアクセスできます。

もう 1 つ考えられる方法は、ツーアーム構成を作成することです。この構成方法では、Citrix ADC VM には、管理ネットワーク アダプタに加えて、ネットワーク アダプタが 2 つあります。追加のネットワーク アダプタの 1 つは、クラスタノードを持つプライベート サブネットに接続されます。もう 1 つのネットワーク アダプタは、外部からのリクエストを Citrix ロードバランサに送信するサブネットに接続されます。この場合のサブネットには、インターネットから直接アクセスできるサブネット、または踏み台サーバーによってインターネットから保護されたサブネットのいずれの場合も考えられます。

次の図に、ツーアーム構成の例を示します。

ツーアーム構成の図
ツーアーム構成(クリックして拡大)

Citrix ADC VM に 1 つまたは 2 つのネットワーク アダプタを追加するには、vSphere インターフェースを使用します。

  1. 左側のペインで、Citrix ADC VM を探します。

  2. Citrix ADC VM を右クリックし、[設定を編集] を選択します。

Citrix ADC VM 編集時のスクリーンショット
Citrix ADC のプロパティ編集(クリックして拡大)
  1. [New device] で、[Select] メニューを開き、[Network] を選択します。[Add] をクリックします。

  2. 左側のパネルで、[New Network] を展開します。[VM Network] で、新しいネットワーク アダプタを接続するサブネットを選択します。

  3. 必要に応じて、その他の設定を行い、[OK] をクリックします。

Terraform を使用して Citrix ADC を構成する

Citrix が提供する Terraform スクリプトを使用すると、最初のクラスタ設定用のサーバー、サービス グループ、仮想サーバーを備えた Citrix ADC を自動的に構成できます。

必要に応じて、手動の手順を行うこともできます。

サーバーの構成

クラスタノードに使用する IP アドレスのリストがすでに存在することを確認してください。このセクションでは、それらの各 IP アドレスを名前に関連付けます。

ブラウザで、Citrix VM の管理 IP アドレスを入力します。これにより、Citrix ロードバランサへのウェブ インターフェースが開きます。Citrix インターフェースでは、クラスタノードはサーバーと呼ばれます。

[Configuration] タブを開きます。

左側のペインで、[Traffic Management] > [Load Balancing] > [Servers] の順に選択します。

Citrix ユーザー インターフェースでのサーバー追加のスクリーンショット
Citrix ユーザー インターフェースでのサーバーの追加(クリックして拡大)

作成するそれぞれの管理クラスタノードとユーザー クラスタノードに対して、次の手順を実行します。

  1. メインペインで、[Add] をクリックします。

  2. ノードに名前と IP アドレスを入力します。

  3. [Create] をクリックします。

サービス グループの構成

Citrix インターフェースでは、サービス グループとは、プロトコルとポート番号を含む一連のサーバーです。次に例を示します。

({admin_node_1, admin_node_2, admin_node_3}, TCP, 30001)

このセクションでは、以下の各サービス グループを作成します。

  • 管理クラスタのコントロール プレーン
  • 管理クラスタのアドオン マネージャー
  • ユーザー クラスタのコントロール プレーン
  • ユーザー クラスタの HTTP Ingress コントローラ
  • ユーザー クラスタの HTTPS Ingress コントローラ

各サービス グループのプロトコルは TCP です。VIP は前に確保しておいたアドレスです。ポートは以前に設定した nodePort 値です。

たとえば、ユーザー クラスタノードの名前が次のとおりであるとします。

  • user_node_1
  • user_node_2
  • user_node_3

また、HTTP ユーザー クラスタの Ingress コントローラの VIP として、203.0.113.1 を使用することを選択したとします。また、HTTP ユーザー クラスタの Ingress コントローラの nodePort 値として、32001 を使用することを選択したとします。そして、次のサービス グループを作成するとします。

({user_node_1, user_node_2, user_node_3}, TCP, 32001)

Citrix ウェブ インターフェースでサービス グループを作成する手順は次のとおりです。

  1. 左側のペインで、[Traffic Management]、[Load Balancing]、[Service Groups] の順に選択します。
Citrix ユーザー インターフェースでのサービス グループの追加のスクリーンショット(クリックして拡大)
Citrix ユーザー インターフェースでのサービス グループの追加(クリックして拡大)
  1. メインペインで、[Add] をクリックします。

  2. サービス グループの名前を入力します。

  3. [Protocol] で、[TCP] を選択します。

  4. [OK] をクリックします。

  5. [Service Group Members] の下で、[No Service Group Member] というバーをクリックします。

  6. ページの上部で、[Server Based] を選択します。

  7. [Select Server] の下のボックスをクリックします。

  8. サーバー名のリストで、サービス グループに含めるサーバーを選択します。[Select] をクリックします。

  9. [Port] に、サービス グループの nodePort 値を入力します。

  10. [Hash Id] に、任意の数字を入力します。

作成するサービス グループごとに、次の手順を繰り返します。各コンポーネント(管理クラスタ コントロール プレーン、管理クラスタ アドオン マネージャー、ユーザー クラスタ コントロール プレーン、ユーザー クラスタの HTTP Ingress コントローラ、ユーザー クラスタの HTTPS Ingress コントローラ)のサービス グループを作成する必要があります。各ユーザー クラスタで、ユーザー クラスタの HTTP Ingress コントローラとユーザークラスタの HTTPS Ingress コントローラ用の独自のサービス グループが必要です。

仮想サーバーの構成

この時点で、7 つのサービス グループが作成されています。このセクションでは、各サービス グループを VIP、プロトコル、ポートに関連付けます。

たとえば、次のように仮定します。

  • ユーザー クラスタ HTTP Ingress コントローラのサービス グループの名前は user_http_ingress です。

  • ユーザー クラスタ HTTP Ingress コントローラの VIP として 203.0.113.1 を使用することを選択しました。また、ロードバランサが TCP ポート 80 でこの VIP に送信されるリクエストをリッスンするようにします。

  • ユーザー クラスタ HTTP Ingress コントローラの nodePort 値として、32001 を使用することを選択しました。

続いて、次の関連付けを作成します。

user_http_ingress --> (203.0.113.1, TCP, 80)

Citrix インターフェースでは、このタイプの関連付けは、仮想サーバーと呼ばれます。

Citrix ウェブ インターフェースで仮想サーバーを作成する方法は次のとおりです。

  1. 左側のペインで、[Traffic Management] > [Load Balancing] > [Virtual Servers] の順に選択します。
Citrix ユーザー インターフェースに仮想サーバーを追加するスクリーンショット(クリックして拡大)
Citrix ユーザー インターフェースでの仮想サーバーの追加(クリックして拡大)
  1. メインペインで、[Add] をクリックします。

  2. 仮想サーバーの名前を入力します。

  3. [Protocol] で、[TCP] を選択します。

  4. [IP Address] に、仮想サーバーの VIP を入力します。

  5. [Port] に、仮想サーバーの TCP ポートを入力します。ロードバランサは、この TCP ポートで VIP に送信されたリクエストをリッスンします。

  6. [Load Balancing Virtual Server] ページの [Services and Service Groups] で、[No Load Balancing Virtual Server Service Group Binding] をクリックします。

  7. [Select Service Group Name] で、ボックスをクリックします。

  8. 仮想サーバーに使用するサービス グループを選択します。

  9. ページの上部で、[Select] をクリックします。

  10. [Bind] をクリックします。

上記の手順を 7 回実行して、7 つのサービス グループのそれぞれに仮想サーバーを作成します。

構成の確認

VIP が Citrix ADC で構成されていることを確認するには、各 VIP に ping を実行します。

Anthos clusters on VMware 構成ファイルの修正

Anthos clusters on VMware をインストールする前に、構成ファイルを修正し、静的 IP アドレス、VIP、ノードポートの値を追加します。