AWSでLoadBalancerタイプのサービス向けCitrix®ソリューションを展開する

最終公開日 : Oct 02, 2026
LoadBalancerタイプのサービスは、Kubernetesクラスターで実行されているマイクロサービスを外部に公開するための、よりシンプルで高速な方法です。クラウドデプロイメントでは、LoadBalancerタイプのサービスを作成すると、クラウドマネージドのロードバランサーがそのサービスに割り当てられます。その後、そのロードバランサーを使用してサービスが公開されます。LoadBalancerタイプのサービスに関する詳細については、LoadBalancerタイプのサービスを参照してください。
LoadBalancerタイプのサービス向けCitrixソリューションを使用すると、クラウドマネージドのロードバランサーの代わりにNetScalerを使用して、サービスを直接ロードバランスし、公開できます。NetScalerは、オンプレミスおよびクラウド向けのLoadBalancerタイプのサービスにこのソリューションを提供します。LoadBalancerタイプのサービスは、AWS、GCP、Azureなどのパブリッククラウド上のKubernetesデプロイメントでネイティブにサポートされています。
AWSでサービスをデプロイすると、ロードバランサーが自動的に作成され、IPアドレスがサービスの外部フィールドに割り当てられます。このCitrixソリューションでは、NetScaler IPAM ControllerがIPアドレスを割り当て、そのIPアドレスがNetScaler VPXのVIPとなります。KubernetesクラスターにデプロイされたNetScaler Ingress Controllerは、クラスター外にデプロイされたNetScalerを設定して、受信トラフィックをロードバランスします。したがって、サービスはクラウドロードバランサーではなく、NetScaler VPXを介してアクセスされます。
サービス定義で、サービスtypeをLoadBalancerとして指定する必要があります。typeフィールドをLoadBalancerに設定すると、AWSでサービス用のロードバランサーがプロビジョニングされます。
NetScaler IPAM Controllerは、指定されたIPアドレス範囲からLoadBalancerタイプのサービスにIPアドレスを自動的に割り当てるために使用されます。LoadBalancerタイプのサービス向けCitrixソリューションの詳細については、LoadBalancerタイプのサービスを公開するを参照してください。
HelmチャートまたはYAMLファイルを使用して、AWSでLoadBalancerタイプのサービス向けCitrixソリューションを展開できます。

前提条件

  • Elastic Kubernetes Service (EKS) クラスターのバージョン1.18以降が稼働していることを確認してください。
  • NetScaler VPXとEKSが同じVPCにデプロイされ、稼働していることを確認してください。AWSでNetScaler VPXを作成する方法については、AWS MarketplaceからNetScaler VPXインスタンスを作成するを参照してください。

Helmチャートを使用してAWSでLoadBalancerタイプのサービス向けCitrixソリューションを展開する

Helmチャートを使用してLoadBalancerタイプのサービス向けCitrixソリューションを設定するには、以下の手順を実行します。
  1. unified-lb-values.yamlファイルをダウンロードし、以下の詳細を指定するためにYAMLファイルを編集します。
  2. 編集したYAMLファイルを使用して、NetScaler IPAM ControllerとNetScaler Ingress ControllerをAmazon EKSクラスターにデプロイします。以下のコマンドを使用します。
    helm repo add citrix https://citrix.github.io/citrix-helm-charts/

    helm install serviceLB citrix/citrix-cloud-native -f values.yaml
  3. Amazon EKSにアプリケーションとサービスをデプロイします。
    1. サービスマニフェストに以下の注釈を追加します。
      beta.kubernetes.io/aws-load-balancer-type: "external"
    2. 変更された注釈を使用して、以下のコマンドでアプリケーションとサービスをデプロイします。
      kubectl create -f https://github.com/citrix/citrix-k8s-ingress-controller/blob/master/docs/how-to/typeLB/aws/guestbook-all-in-one-lb.yaml
      注: guestbookマイクロサービスは、この手順で使用されるサンプルです。任意のアプリケーションをデプロイできます。サービスがLoadBalancerタイプであり、サービスマニフェストに注釈が含まれていることを確認してください。
    3. NetScaler VPXのVIPにElastic IPアドレスを関連付けます。
    4. ブラウザを使用してアプリケーションにアクセスします。例: http://EIP-associated-with-vip。

YAMLを使用してAWSでLoadBalancerタイプのサービス向けCitrixソリューションをデプロイする

YAMLを使用してLoadBalancerタイプのサービス向けCitrixソリューションをデプロイするには、以下の手順を実行します。
  1. citrix-k8s-ingress-controller.yamlファイルをダウンロードし、以下の詳細を指定します。
    • NetScaler VPXの資格情報を使用して作成されたシークレット。シークレットの作成については、シークレットの作成を参照してください。
    • NetScaler IPAM Controllerの引数を指定します。
      args:
        - --ipam
          citrix-ipam-controller
  2. 変更されたYAMLを使用してNetScaler Ingress Controllerをデプロイします。
    kubectl create -f citrix-k8s-ingress-controller.yaml
  3. NetScaler VIP CRD をデプロイします。これにより、NetScaler Ingress Controller と IPAM コントローラー間の通信が以下のコマンドを使用して有効になります。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/crd/vip/vip.yaml
    NetScaler VIP CRD のデプロイの詳細については、VIP CRD のデプロイを参照してください。
  4. IPAM コントローラーをデプロイします。IPAM コントローラーのデプロイの詳細については、IPAM コントローラーのデプロイを参照してください。
    注:
    IPAM デプロイ YAML ファイルの VIP_RANGE フィールドに NetScaler VPX VIP のリストを指定します。
  5. 以下の手順で、Amazon EKS にサービスタイプ LoadBalancer のアプリケーションをデプロイします。
    1. サービスマニフェストに以下の注釈を追加します。
      beta.kubernetes.io/aws-load-balancer-type: "external"
    2. 以下のコマンドを使用して、変更された注釈でアプリケーションとサービスをデプロイします。
      kubectl create -f https://github.com/citrix/citrix-k8s-ingress-controller/blob/master/docs/how-to/typeLB/aws/guestbook-all-in-one-lb.yaml
      注:
      guestbook マイクロサービスは、この手順で使用されるサンプルです。任意のアプリケーションをデプロイできます。サービスが LoadBalancer タイプであり、サービスマニフェストに注釈が含まれていることを確認してください。
    3. 弾力性のある IP アドレスを NetScaler VPX の VIP に関連付けます。
    4. ブラウザを使用してアプリケーションにアクセスします。例: http://EIP-associated-with-vip。