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

最終公開日 : Sep 25, 2026
INCモードでプライベートIPアドレスを使用して、2つの異なるサブネットまたは2つの異なるAWSアベイラビリティゾーンに2つのNetScaler VPXインスタンスを構成できます。このソリューションは、既存のマルチゾーンエラスティックIPアドレスを持つVPX高可用性ペアと簡単に統合できます。したがって、両方のソリューションを一緒に使用できます。
高可用性の詳細については、高可用性を参照してください。INCの詳細については、異なるサブネットでの高可用性ノードの構成を参照してください。
注:
このデプロイは、NetScalerリリース13.0ビルド67.39以降でサポートされています。このデプロイはAWS Transit Gatewayと互換性があります。
Related information

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. Configuration > System > High Availability に移動し、Add をクリックします。
  4. Remote Node IP address フィールドで、セカンダリノードの管理 NIC のプライベート IP アドレスを追加します。
  5. 自己ノードで Turn on NIC (Independent Network Configuration) モードを選択します。
  6. Remote System Login Credential で、セカンダリノードのユーザー名とパスワードを追加し、Create をクリックします。
  7. セカンダリノードで手順を繰り返します。
  8. プライマリインスタンスに仮想サーバーを追加する
    設定 > トラフィック管理 > 仮想サーバー > 追加 に移動します。
    仮想サーバーを追加する(/en-us/vpx/media/lb-vserver-pip.png)

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設定

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

トラブルシューティング

マルチゾーン HA で HA プライベート IP ソリューションを設定する際に問題が発生した場合は、トラブルシューティングのために次の重要な点を確認してください。
  • プライマリノードとセカンダリノードの両方に同じ IAM 権限セットがあること。
  • プライマリノードとセカンダリノードの両方で INC モードが有効になっていること。
  • プライマリノードとセカンダリノードの両方に同じ数のインターフェイスがあること。
  • インスタンスを作成する際は、デバイスインデックス番号に基づいて、プライマリノードとセカンダリノードの両方でインターフェイスをアタッチする同じ順序に従ってください。たとえば、プライマリノードでクライアントインターフェイスが最初にアタッチされ、サーバーインターフェイスが2番目にアタッチされたとします。セカンダリノードでも同じ順序に従ってください。不一致がある場合は、インターフェイスをデタッチして正しい順序で再アタッチしてください。
  • このナビゲーションパスに従って、インターフェースのシーケンスを確認できます。AWS コンソール > ネットワークとセキュリティ > ENI > デバイスインデックス番号。 デフォルトでは、以下のデバイスインデックス番号がこれらのインターフェースに割り当てられています。
    • 管理インターフェース – 0
    • クライアントインターフェース – 1
    • サーバーインターフェース – 2
  • プライマリ ENI のデバイスインデックス番号のシーケンスが 0、1、2 の場合、セカンダリ ENI も同じデバイスインデックス番号のシーケンス 0、1、2 に従う必要があります。
    デバイスインデックス番号のシーケンスに不一致がある場合、不一致のすべてのルートは、ルートの損失を避けるために、管理インターフェースであるインデックス 0 に転送されます。しかし、トラフィックの輻輳を引き起こす可能性があるため、ルートが管理インターフェースに移動するのを避けるために、インターフェースをデタッチして正しいシーケンスで再度アタッチする必要があります。
  • トラフィックが流れない場合は、初回にプライマリノードのクライアントインターフェースで「Source/dest. Check」が無効になっていることを確認してください。
  • cloudhadaemon コマンド (ps -aux | grep cloudha) がシェルで実行されていることを確認してください。
  • NetScaler ファームウェアのバージョンが 13.0 ビルド 70.x 以降であることを確認してください。
  • フェイルオーバープロセスに関する問題については、次の場所にあるログファイルを確認してください: /var/log/cloud-ha-daemon.log