ADC

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

INCモードのプライベートIPアドレスを使用して、2つの異なるサブネットまたは2つの異なるAWSアベイラビリティーゾーンで2つのNetScaler ADC VPXインスタンスを設定できます。このソリューションは、 Elastic IP アドレスを持つ既存のマルチゾーン VPX 高可用性ペアと簡単に統合できます。したがって、両方のソリューションを一緒に使用できます。

高可用性の詳細については、「 高可用性」を参照してください。INC の詳細については、「 異なるサブネットでの高可用性ノードの設定」を参照してください。

注記:

この展開は、NetScaler ADCリリース13.0ビルド67.39以降でサポートされています。このデプロイは、AWS Transit Gateway および VPC ピアリングと互換性があります。

前提条件

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"
        }
    ]
}
<!--NeedCopy-->

VPX 高可用性ペアをプライベート IP アドレスで異なる AWS ゾーンにデプロイする方法

次に、プライベート IP アドレスを使用して 2 つの異なるサブネットまたは 2 つの異なる AWS アベイラビリティーゾーンにVPXペアをデプロイする手順の概要を示します。

  1. Amazon 仮想プライベートクラウドを作成します。
  2. 2 つの異なるアベイラビリティーゾーンに 2 つの VPX インスタンスをデプロイします。
  3. 高可用性を構成する
    1. 両方のインスタンスで INC モードで高可用性をセットアップします。
    2. クライアントインターフェイスを指すそれぞれのルートテーブルを VPC に追加します。
    3. プライマリ・インスタンスに仮想サーバを追加します。

ステップ 1 と 2 では、AWS コンソールを使用します。ステップ3では、NetScaler ADC VPX GUIまたはCLIを使用します。

手順1. Amazon 仮想プライベートクラウド (VPC) を作成します。

手順2:同じ数の ENI (ネットワークインターフェイス) を持つ 2 つの異なるアベイラビリティーゾーンに 2 つの VPX インスタンスをデプロイします。

VPCを作成してAWSにVPXインスタンスをデプロイする方法の詳細については、「AWS へのNetScaler ADC 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>
<!--NeedCopy-->

AWS GUI から、次の手順を実行してルートを追加します。

  1. Amazon EC2 コンソールを開きます
  2. ナビゲーションペインで、 ルートテーブルを選択し、ルートテーブルを選択します。
  3. [ アクション] を選択し、[ ルートの編集] をクリックします。
  4. ルートを追加するには、[ Add route] を選択します。[ 宛先]に、宛先CIDRブロック、単一のIPアドレス、またはプレフィックスリストのIDを入力します。ゲートウェイ ID には、プライマリノードのクライアントインターフェイスの ENI を選択します。

ルートテーブル-ルートの編集

プライマリ・インスタンスのクライアント ENI で Source/Dest Check を無効にする必要があります。

コンソールを使用してネットワークインターフェイスのsource/destinationチェックを無効にするには、次の手順を実行します。

  1. Amazon EC2 コンソールを開きます
  2. ナビゲーションペインで、[ ネットワークインターフェイス]を選択します。
  3. プライマリクライアントインターフェイスのネットワークインターフェイスを選択し、[ アクション] を選択し、[ ソース/デストを変更] をクリックします。を確認してください。
  4. ダイアログボックスで、[ 無効] を選択し、[ 保存] をクリックします。

送信元/送信先チェックの変更

手順5. 高可用性を構成します。NetScaler ADC VPX CLIまたはGUIを使用して、高可用性をセットアップできます。

CLI を使用した高可用性の設定

  1. 両方のインスタンスで INC モードで高可用性をセットアップします。

    プライマリノードで、次の操作を行います。

    add ha node 1 <sec_ip> -inc ENABLED
    <!--NeedCopy-->
    

    セカンダリノード:

    add ha node 1 <prim_ip> -inc ENABLED
    <!--NeedCopy-->
    

    <sec_ip>セカンダリノードの管理 NIC のプライベート IP アドレスを参照します。

    <prim_ip>プライマリノードの管理 NIC のプライベート IP アドレスを参照します。

  2. プライマリ・インスタンスに仮想サーバを追加します。選択したサブネット(10.10.10.0/24 など)から追加する必要があります。

    次のコマンドを入力します。

    add \<server\_type\> vserver \<vserver\_name\> \<protocol\> \<primary\_vip\> \<port\>
    <!--NeedCopy-->
    

GUI を使用した高可用性の構成

  1. 両方のインスタンスで INC モードで高可用性をセットアップする

  2. ユーザー名nsrootとインスタンス ID をパスワードとしてプライマリノードにログオンします。

  3. [ 構成 ] > [ システム ] > [ 高可用性] に移動し、[ 追加] をクリックします。

  4. リモートノード IP アドレスフィールドに 、2 次ノードの管理NIC のプライベート IP アドレスを追加します。

  5. [ セルフノードで NIC (独立ネットワーク構成) モードをオンにする ] を選択します。

  6. [ リモートシステムログイン認証情報] で、セカンダリノードのユーザー名とパスワードを追加し、[ 作成] をクリックします。

  7. セカンダリノードで手順を繰り返します。

  8. プライマリ・インスタンスに仮想サーバを追加する

    [ 設定 ] > [ トラフィック管理 ] > [ 仮想サーバー] > [追加]に移動します。

    仮想サーバーを追加する

シナリオ

このシナリオでは、1 つの VPC が作成されます。その VPC では、2 つのアベイラビリティーゾーンに 2 つの VPX インスタンスが作成されます。各インスタンスには、管理用、クライアント用、バックエンドサーバー用の 3 つのサブネットがあります。

次の図は、AWSでのINCモードでのNetScaler ADC 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
    <!--NeedCopy-->
    

    ここで、192.168.4.10 は、セカンダリノードの管理 NIC のプライベート IP アドレスを指します。

    セカンダリノード:

    add ha node 1 192.168.1.10 -inc enabled
    <!--NeedCopy-->
    

    ここで、192.168.1.10 は、プライマリノードの管理 NIC のプライベート IP アドレスを指します。

  2. プライマリ・インスタンスに仮想サーバを追加します。

    次のコマンドを入力します。

    add lbvserver vserver1 http 10.10.10.10 80
    <!--NeedCopy-->
    
  3. 構成を保存します。

  4. 強制フェールオーバーの後:

    • セカンダリインスタンスが新しいプライマリインスタンスになります。
    • プライマリ ENI を指す VPC ルートは、セカンダリクライアント ENI に移行します。
    • クライアントトラフィックは、新しいプライマリインスタンスに再開されます。

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

AWS Transit Gateway は、AWS VPC、リージョン、およびオンプレミスネットワーク全体で、内部ネットワーク内でプライベート VIP サブネットをルーティング可能にする必要があります。VPC は AWS Transit Gateway に接続する必要があります。AWS Transit Gateway ルートテーブル内の VIP サブネットまたは IP プールの静的ルートが作成され、VPC をポイントします。

AWS Transit Gateway

AWS Transit Gateway を設定するには、次の手順に従います。

  1. Amazon VPC コンソールを開きます
  2. ナビゲーションペインで、[ Transit Gateway ートテーブル] を選択します。
  3. [ ルート ] タブを選択し、[ 静的ルートの作成] をクリックします。

    AWS Transit Gateway ートテーブル

  4. CIDR がプライベート VIP サブネットを指し、アタッチメントが ADC VPX を持つ VPC を指す静的ルートを作成します。

    スタティックルートの作成

  5. [ スタティックルートの作成] をクリックし、[ 閉じる] を選択します。

トラブルシューティング

マルチゾーン HA で HA プライベート IP ソリューションを設定する際に問題が発生した場合は、トラブルシューティングのために次の重要なポイントを確認してください。

  • プライマリノードとセカンダリノードの両方に同じ IAM 権限セットがあります。
  • INC モードは、プライマリノードとセカンダリノードの両方で有効になっています。
  • プライマリノードとセカンダリノードの両方に同じ数のインターフェイスがあります。
  • インスタンスを作成する際は、両方のノードで同じ順序でインターフェースをアタッチします。プライマリノードで、クライアントインターフェースが最初に接続され、サーバーインターフェースが次に接続されている場合。次に、セカンダリノードでも同じ順序に従います。不一致がある場合は、正しい順序でインターフェイスを取り外して再接続します。
  • トラフィックが流れない場合は、「送信元/宛先」を確認してください。プライマリノードのクライアントインターフェイスで「Check」が初めて無効になります。
  • cloudhadaemon コマンド (ps -aux | grep cloudha) がシェルで実行されていることを確認します。
  • NetScaler ADC ファームウェアのバージョンが 13.0 ビルド 70.x 以降であることを確認してください。
  • フェイルオーバープロセスの問題については、/var/log/cloud-ha-daemon.log にあるログファイルを確認してください。
異なるAWSゾーンにプライベートIPアドレスを使用してVPX高可用性ペアを展開する