異なるAWSゾーンにプライベートIPアドレスを持つVPX高可用性ペアを展開する

最終公開日 : Oct 05, 2026
INCモードでプライベートIPアドレスを使用して、2つの異なるサブネットまたは2つの異なるAWSアベイラビリティゾーンに2つのNetScaler VPXインスタンスを設定できます。このソリューションは、既存のマルチゾーン(/ja-jp/vpx/13-1/deploy-aws/vpx-ha-eip-different-aws-zones.html)と簡単に統合できます。したがって、両方のソリューションを一緒に使用できます。
高可用性の詳細については、(/ja-jp/citrix-adc/13-1/system/high-availability-introduction.html)を参照してください。INCの詳細については、(/ja-jp/citrix-adc/13-1/system/high-availability-introduction/configuring-high-availability-nodes-different-subnets.html)を参照してください。
注記:
このデプロイは、NetScalerリリース13.0ビルド67.39以降でサポートされています。このデプロイはAWS Transit Gatewayと互換性があります。

AWS非共有VPCを使用したプライベートIPアドレスによる高可用性ペア

前提条件

AWSアカウントに関連付けられているIAMロールに、次のIAM権限があることを確認してください。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeAddresses",
                "ec2:AssociateAddress",
                "ec2:DisassociateAddress",
                "ec2:DescribeRouteTables",
                "ec2:DeleteRoute",
                "ec2:CreateRoute",
                "ec2:ModifyNetworkInterfaceAttribute",
                "iam:SimulatePrincipalPolicy",
                "iam:GetRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

AWS非共有VPCを使用してプライベートIPアドレスでVPX HAペアを展開する

以下は、プライベートIPアドレスを使用して、2つの異なるサブネットまたは2つの異なるAWSアベイラビリティゾーンにVPXペアを展開する手順の概要です。
  1. Amazon仮想プライベートクラウドを作成します。
  2. 2つの異なるアベイラビリティゾーンに2つのVPXインスタンスを展開します。
  3. 高可用性を構成します。
    1. 両方のインスタンスでINCモードの高可用性を設定します。
    2. クライアントインターフェースを指すVPCにそれぞれのルートテーブルを追加します。
    3. プライマリインスタンスに仮想サーバーを追加します。
ステップ1、2、3bについては、AWSコンソールを使用します。ステップ3aと3cについては、NetScaler VPX GUIまたはCLIを使用します。
ステップ1. Amazon Virtual Private Cloud (VPC) を作成します。
ステップ2. 2つの異なるアベイラビリティゾーンに、同じ数のENI (ネットワークインターフェース) を持つ2つのVPXインスタンスをデプロイします。
AWSでVPCを作成し、VPXインスタンスをデプロイする方法の詳細については、「AWSにNetScaler VPXスタンドアロンインスタンスをデプロイする」および「シナリオ: スタンドアロンインスタンス」を参照してください。
ステップ3. Amazon VPCサブネットと重複しないサブネットを選択して、ADC VIPアドレスを設定します。VPCが192.168.0.0/16の場合、ADC VIPアドレスを設定するには、次のIPアドレス範囲から任意のサブネットを選択できます。
  • 0.0.0.0 - 192.167.0.0
  • 192.169.0.0 - 254.255.255.0
この例では、10.10.10.0/24サブネットが選択され、このサブネットにVIPが作成されています。VPCサブネット (192.168.0.0/16) 以外の任意のサブネットを選択できます。
ステップ4. VPCルートテーブルから、プライマリノードのクライアントインターフェース (VIP) を指すルートを追加します。
AWS CLIから、次のコマンドを入力します。
aws ec2 create-route --route-table-id rtb-2272532 --destination-cidr-block 10.10.10.0/24 --gateway-id <eni-client-primary>
AWS GUIから、ルートを追加するには次の手順を実行します。
  1. Amazon EC2コンソールを開きます。
  2. ナビゲーションペインで、 を選択し、ルートテーブルを選択します。
  3. を選択し、 をクリックします。
  4. ルートを追加するには、ルートの追加を選択します。送信先には、送信先CIDRブロック、単一のIPアドレス、またはプレフィックスリストのIDを入力します。ゲートウェイIDには、プライマリノードのクライアントインターフェースのENIを選択します。
ルートテーブル - ルートの編集
注:
プライマリインスタンスのクライアントENIで送信元/送信先チェックを無効にする必要があります。
コンソールを使用してネットワークインターフェースの送信元/送信先チェックを無効にするには、次の手順を実行します。
  1. Amazon EC2 コンソールを開きます。
  2. ナビゲーションペインで、ネットワークインターフェースを選択します。
  3. プライマリクライアントインターフェースのネットワークインターフェースを選択し、アクションを選択して、送信元/送信先チェックの変更をクリックします。
  4. ダイアログボックスで、無効を選択し、保存をクリックします。
送信元-送信先チェックの変更
ステップ 5. 高可用性を構成します。NetScaler VPX CLIまたはGUIを使用して高可用性を設定できます。

CLIを使用して高可用性を構成する

  1. 両方のインスタンスでINCモードで高可用性を設定します。
    プライマリノードで:
    add ha node 1 \<sec\_ip\> -inc ENABLED
    セカンダリノードで:
    add ha node 1 \<prim\_ip\> -inc ENABLED
    \&lt;sec\_ip\> は、セカンダリノードの管理NICのプライベートIPアドレスを指します。
    \&lt;prim\_ip\> は、プライマリノードの管理NICのプライベートIPアドレスを指します。
  2. プライマリインスタンスに仮想サーバーを追加します。選択したサブネット (たとえば、10.10.10.0/24) から追加する必要があります。
    次のコマンドを入力します。
    add \<server\_type\> vserver \<vserver\_name\> \<protocol\> \<primary\_vip\> \<port\>

GUIを使用して高可用性を構成する

  1. 両方のインスタンスでINCモードの高可用性を設定します
  2. ユーザー名 nsroot とパスワードとしてインスタンスIDを使用して、プライマリノードにログオンします。
  3. 構成 > システム > 高可用性 に移動し、追加 をクリックします。
  4. リモートノードIPアドレス フィールドで、セカンダリノードの管理NICのプライベートIPアドレスを追加します。
  5. 自己ノードで NIC (独立ネットワーク構成) をオンにする モードを選択します。
  6. リモートシステムログイン資格情報 の下で、セカンダリノードのユーザー名とパスワードを追加し、作成 をクリックします。
  7. セカンダリノードで手順を繰り返します。
  8. プライマリインスタンスに仮想サーバーを追加します
    構成 > トラフィック管理 > 仮想サーバー > 追加 に移動します。
    仮想サーバーを追加

AWS共有VPCを使用してプライベートIPアドレスを持つVPX HAペアをデプロイする

AWS共有VPCモデルでは、VPCを所有するアカウント(所有者)が1つ以上のサブネットを他のアカウント(参加者)と共有します。したがって、VPC所有者アカウントと参加者アカウントが存在します。サブネットが共有されると、参加者は共有されたサブネット内で自身のアプリケーションリソースを表示、作成、変更、削除できます。参加者は、他の参加者またはVPC所有者に属するリソースを表示、変更、削除することはできません。
AWS共有VPCの詳細については、AWSドキュメントを参照してください。
注:
AWS共有VPCを使用してプライベートIPアドレスを持つVPX HAペアをデプロイするための構成手順は、AWS非共有VPCを使用してプライベートIPアドレスを持つVPX HAペアをデプロイすると同じですが、以下の例外があります。
  • クライアントインターフェースを指すVPC内のルートテーブルは、VPC所有者アカウントから追加する必要があります。

前提条件

  • AWS参加者アカウントのNetScaler VPXインスタンスに関連付けられているIAMロールに、以下のIAM権限があることを確認してください。
    "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "ec2:DisassociateAddress",
                    "iam:GetRole",
                    "iam:SimulatePrincipalPolicy",
                    "ec2:DescribeInstances",
                    "ec2:DescribeAddresses",
                    "ec2:ModifyNetworkInterfaceAttribute",
                    “ec2:AssociateAddress”,
                    "sts:AssumeRole"
            ],
                "Resource": "*"
            }
        ]
    }
    注:
    AssumeRoleにより、NetScaler VPXインスタンスは、VPC所有者アカウントによって作成されたクロスアカウントIAMロールを引き受けることができます。
  • VPC所有者アカウントが、クロスアカウントIAMロールを使用して、以下のIAM権限を参加者アカウントに提供していることを確認してください。
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "ec2:CreateRoute",
                    "ec2:DeleteRoute",
                    "ec2:DescribeRouteTables"
                ],
                "Resource": "*"
            }
        ]
    }

クロスアカウントIAMロールを作成する

  1. AWSウェブコンソールにログインします。
  2. IAMタブで、ロールに移動し、ロールの作成を選択します。
  3. 別のAWSアカウントを選択します。
    共有VPCロールの作成
  4. 管理者アクセスを付与する参加者アカウントの12桁のアカウントID番号を入力します。

NetScaler CLIを使用してクロスアカウントIAMロールを設定する

次のコマンドにより、NetScaler VPXインスタンスは、VPC所有者アカウントに存在するクロスアカウントIAMロールを引き受けることができます。
set cloud awsParam -roleARN <string>

NetScaler GUIを使用してクロスアカウントIAMロールを設定する

  1. NetScalerアプライアンスにサインインし、Configuration > AWS > Change cloud parameters に移動します。
    クラウドパラメータの変更
  2. Configure AWS Cloud Parameters ページで、RoleARN フィールドの値を入力します。
    AWSクラウドパラメータの設定

シナリオ

このシナリオでは、単一のVPCが作成されます。そのVPC内に、2つのアベイラビリティゾーンに2つのVPXインスタンスが作成されます。各インスタンスには、管理用、クライアント用、バックエンドサーバー用の3つのサブネットがあります。
次の図は、AWS上のINCモードにおけるNetScaler VPX高可用性セットアップを示しています。VPCの一部ではないカスタムサブネット10.10.10.10がVIPとして使用されます。したがって、10.10.10.10サブネットはアベイラビリティゾーンをまたいで使用できます。
フェイルオーバー前のINCモードでの高可用性セットアップ
フェイルオーバー後のINCモードでの高可用性セットアップ
このシナリオでは、CLIを使用して高可用性を構成します。
  1. 両方のインスタンスでINCモードの高可用性を設定します。
    プライマリノードとセカンダリノードで以下のコマンドを入力します。
    プライマリノードで:
    add ha node 1 192.168.4.10 -inc enabled
    ここで、192.168.4.10 はセカンダリノードの管理NICのプライベートIPアドレスを指します。
    セカンダリノードで:
    add ha node 1 192.168.1.10 -inc enabled
    ここで、192.168.1.10 はプライマリノードの管理NICのプライベートIPアドレスを指します。
  2. プライマリインスタンスに仮想サーバーを追加します。
    以下のコマンドを入力します:
    add lbvserver vserver1 http 10.10.10.10 80
  3. 設定を保存します。
  4. 強制フェイルオーバー後:
    • セカンダリインスタンスが新しいプライマリインスタンスになります。
    • プライマリENIを指すVPCルートは、セカンダリクライアントENIに移行します。
    • クライアントトラフィックは新しいプライマリインスタンスに再開されます。

HAプライベートIPソリューション向けのAWS Transit Gateway の設定

内部ネットワーク、AWS VPC、リージョン、およびオンプレミスネットワーク全体でプライベートVIPサブネットをルーティング可能にするには、AWS Transit Gateway が必要です。VPCはAWS Transit Gatewayに接続する必要があります。AWS Transit Gateway ルートテーブル内に、VIPサブネットまたはIPプール用の静的ルートが作成され、VPCを指します。
AWS トランジットゲートウェイ
AWS Transit Gateway を設定するには、次の手順に従います。
  1. を開きます(https://console.aws.amazon.com/vpc/)。
  2. ナビゲーションペインで、Transit Gateway ルートテーブルを選択します。
  3. ルートタブを選択し、静的ルートを作成をクリックします。
    AWS Transit Gateway ルートテーブル
  4. CIDRがプライベートVIPSサブネットを指し、アタッチメントがNetScaler VPXを持つVPCを指す静的ルートを作成します。
    静的ルートを作成
  5. 静的ルートを作成をクリックし、閉じるを選択します。

トラブルシューティング

マルチゾーンHAでHAプライベートIPソリューションを設定する際に問題が発生した場合は、トラブルシューティングのために次の主要なポイントを確認してください。
  • プライマリノードとセカンダリノードの両方が、同じIAM権限セットを持っていること。
  • プライマリノードとセカンダリノードの両方でINCモードが有効になっていること。
  • プライマリノードとセカンダリノードの両方が、同じ数のインターフェースを持っていること。
  • インスタンスを作成する際、両方のノードでインターフェースをアタッチする順序を同じにしてください。プライマリノードで、クライアントインターフェースが最初にアタッチされ、サーバーインターフェースが2番目にアタッチされる場合、セカンダリノードでも同じ順序に従ってください。不一致がある場合は、インターフェースをデタッチして正しい順序で再アタッチしてください。
  • トラフィックが流れない場合は、初回にプライマリノードのクライアントインターフェースで「Source/dest. Check」が無効になっていることを確認してください。
  • cloudhadaemon コマンド (ps -aux | grep cloudha) が Shell で実行されていることを確認してください。
  • NetScaler ファームウェアのバージョンが 13.0 ビルド 70.x 以降であることを確認してください。
  • フェイルオーバープロセスに関する問題については、/var/log/cloud-ha-daemon.log にあるログファイルを確認してください。