ADC

プライベート IP アドレスを持つVPX高可用性ペアをGoogle Cloud Platformにデプロイする

プライベート IP アドレスを使用して、VPX 高可用性ペアを GCP にデプロイできます。クライアント IP(VIP)は、プライマリノードのエイリアス IP アドレスとして設定する必要があります。フェールオーバー時に、クライアント IP アドレスがセカンダリノードに移動され、トラフィックが再開されます。

高可用性の詳細については、「 高可用性」を参照してください。

はじめに

  • Google Cloud Platform へのCitrix ADC VPXインスタンスのデプロイで説明されている制限、ハードウェア要件、注意点をお読みください。この情報は、高可用性展開にも適用されます。
  • GCP プロジェクトで クラウドリソースマネージャー API を有効にします。
  • インスタンスの作成中に、すべての Cloud API へのフルアクセスを許可します。 フルアクセスクラウド API

  • GCP サービスアカウントに次の IAM 権限があることを確認します。

     REQUIRED_INSTANCE_IAM_PERMS = [
     "compute.forwardingRules.list",
     "compute.forwardingRules.setTarget",
     "compute.instances.setMetadata",
     "compute.instances.get",
     "compute.instances.list",
     "compute.instances.updateNetworkInterface",
     "compute.targetInstances.list",
     "compute.targetInstances.use",
     "compute.targetInstances.create",
     "compute.zones.list",
     "compute.zoneOperations.get",
     ]
     <!--NeedCopy-->
    
  • 管理インターフェイス以外のインターフェイスに外部 IP アドレスを設定している場合は、GCP サービスアカウントに次の追加の IAM 権限があることを確認します。

     REQUIRED_INSTANCE_IAM_PERMS = [
     "compute.addresses.use"
     "compute.instances.addAccessConfig",
     "compute.instances.deleteAccessConfig",
     "compute.networks.useExternalIp",
     "compute.subnetworks.useExternalIp",
     ]
     <!--NeedCopy-->
    
  • 仮想マシンにインターネットアクセスがない場合は、 管理サブネットでプライベート Google Access を有効にする必要があります。 プライベートグーグルアクセス

  • プライマリノードで GCP 転送ルールを構成した場合は、「 GCP での VPX 高可用性ペアの転送ルールのサポート 」に記載されている制限と要件を読み、フェールオーバー時に新しいプライマリに更新します。

VPX 高可用性ペアを Google Cloud Platform にデプロイする方法

ここでは、高可用性展開手順の概要を示します。

  1. 同じリージョンに VPC ネットワークを作成します。たとえば、アジア東です。
  2. 同じリージョンに 2 つの VPX インスタンス (プライマリノードとセカンダリノード) を作成します。同じゾーンまたは異なるゾーンに配置できます。たとえば、アジア東-1a、アジア東-Ib。
  3. NetScaler GUIまたはADC CLIコマンドを使用して、両方のインスタンスで高可用性設定を構成します。

手順1:VPC ネットワークを作成する

要件に基づいて VPC ネットワークを作成します。管理NIC、クライアントNIC、サーバーNICに関連付けるために3つのVPCネットワークを作成することをお勧めします。

VPC ネットワークを作成するには、次の手順を実行します。

  1. Google コンソール > ネットワーク > VPC ネットワーク > VPC ネットワークの作成にログオンします
  2. 必須フィールドに入力し、[Create] をクリックします。

詳細については、「 Google Cloud Platform でのCitrix ADC VPXインスタンスのデプロイ」の「 VPCネットワークの作成」セクションを参照してください。

手順2:2つのVPXインスタンスを作成する

シナリオ:Multi-NIC、Multi-IPスタンドアロンVPXインスタンスを展開するの手順に従って、VPXインスタンスを2つ作成します

重要:

クライアントエイリアス IP アドレスをプライマリノードに割り当てます。VPX インスタンスの内部 IP アドレスを使用して VIP を構成しないでください。

クライアントエイリアス IP アドレスを作成するには、次の手順を実行します。

  1. VM インスタンスに移動し、[ 編集] をクリックします。

  2. [ ネットワークインターフェイス (Network Interface)] ウィンドウで、クライアントインターフェイスを編集します。

  3. [ エイリアス IP 範囲 (Alias IP range)] フィールドに、クライアントエイリアス IP アドレスを入力します。

クライアントエイリアス IP アドレス

ネットワークインターフェイス

フェールオーバー後、古いプライマリが新しいセカンダリになると、エイリアス IP アドレスは古いプライマリから移動し、新しいプライマリに接続されます。

VPX インスタンスを構成したら、仮想 (VIP) アドレスとサブネット IP (SNIP) アドレスを構成できます。詳細については、「 Citrix ADC所有のIPアドレスの構成」を参照してください。

手順3:高可用性を構成する

Google Cloud Platform でインスタンスを作成した後、NetScaler GUIまたはCLIを使用して高可用性を構成できます。

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

ステップ 1: 両方のノードで INC Enabled モードで高可用性を設定します。

プライマリノードで、次の手順を実行します。

  1. GCP Consoleからノードのユーザー名nsrootとインスタンス ID をパスワードとしてインスタンスにログオンします。
  2. 構成 > システム > 高可用性 > ノードに移動し、 追加をクリックします。
  3. [リモートノードの IP アドレス] フィールドに、セカンダリノードの管理 NIC のプライベート IP アドレスを入力します。
  4. [ セルフノードで INC (独立ネットワーク構成) モードをオンにする ] チェックボックスをオンにします。
  5. [作成] をクリックします。

セカンダリノードで、次の手順を実行します。

  1. GCP Consoleからノードのユーザー名nsrootとインスタンス ID をパスワードとしてインスタンスにログオンします。
  2. 構成 > システム > 高可用性 > ノードに移動し、 追加をクリックします。
  3. [ リモートノード IP アドレス ] フィールドに、プライマリノードの管理 NIC のプライベート IP アドレスを入力します。
  4. [ セルフノードで INC (独立ネットワーク構成) モードをオンにする ] チェックボックスをオンにします。
  5. [作成] をクリックします。

先に進む前に、[ Nodes ] ページにセカンダリノードの同期状態が SUCCESS と表示されていることを確認してください。

セカンダリノードの同期状態

セカンダリノードがプライマリノードと同期されると、セカンダリノードにはプライマリノードと同じログオン認証情報が割り当てられます。

ステップ 2: 両方のノードに仮想 IP アドレスとサブネット IP アドレスを追加します。

プライマリノードで、次の手順を実行します。

  1. [システム] > [ネットワーク] > [IP] > [IPv4] に移動し、[追加] をクリックします。
  2. クライアントエイリアス IP(VIP)アドレスを作成するには、次の手順を実行します。
    1. 仮想マシンインスタンスのクライアントサブネットに設定されたエイリアス IP アドレスとネットマスクを入力します。
    2. [IP Type] フィールドで、ドロップダウンメニューから [Virtual IP] を選択します。
    3. [作成] をクリックします。
  3. サーバ IP (SNIP) アドレスを作成するには、次の手順を実行します。
    1. プライマリ・インスタンスのサーバ側インターフェイスの内部 IP アドレスと、サーバ・サブネットに設定されたネットマスクを入力します。
    2. [IP Type] フィールドで、ドロップダウンメニューから [Subnet IP] を選択します。
    3. [作成] をクリックします。

    プライマリのクライアントおよびサーバの IP アドレスを作成する

セカンダリノードで、次の手順を実行します。

  1. [システム] > [ネットワーク] > [IP] > [IPv4] に移動し、[追加] をクリックします。
  2. クライアントエイリアス IP(VIP)アドレスを作成するには、次の手順を実行します。
    1. プライマリ VM インスタンスのクライアントサブネットに対して構成された Alias IP アドレスとネットマスクを入力します。
    2. [IP Type] フィールドで、ドロップダウンメニューから [Subnet IP] を選択します。
    3. [作成] をクリックします。
  3. サーバ IP (SNIP) アドレスを作成するには、次の手順を実行します。
    1. セカンダリインスタンスのサーバ側インターフェイスの内部 IP アドレスと、サーバサブネットに設定されたネットマスクを入力します。
    2. [IP Type] フィールドで、ドロップダウンメニューから [Subnet IP] を選択します。
    3. [作成] をクリックします。

    セカンダリ用のクライアントおよびサーバの IP アドレスを作成する

ステップ 3: プライマリノードに負荷分散仮想サーバーを追加します。

  1. [設定] > [トラフィック管理] > [負荷分散] > [仮想サーバー] > [追加]に移動します。
  2. 名前、プロトコル、IP アドレスタイプ(IP アドレス)、IP アドレス(プライマリクライアントエイリアス IP アドレス)、およびポートに必要な値を追加し、 「OK」をクリックします。

    LB 仮想サーバクライアントエイリアス

ステップ 4: プライマリノードにサービスまたはサービスグループを追加します。

  1. [設定] > [トラフィック管理] > [負荷分散] > [サービス] >[追加]に移動します。
  2. サービス名、IPアドレス、プロトコル、およびポートに必要な値を追加し、[ OK]をクリックします。

ステップ 5: サービスまたはサービスグループをプライマリノードの負荷分散仮想サーバーにバインドします。

  1. [設定] > [トラフィック管理] > [負荷分散] > [仮想サーバー]に移動します。
  2. 手順3で構成した負荷分散仮想サーバーを選択し、[ 編集]をクリックします。
  3. [ サービスとサービスグループ ] タブで、[ 負荷分散仮想サーバーサービスバインドなし] をクリックします。
  4. 手順4で構成したサービスを選択し、[ バインド]をクリックします。

ステップ 5: 構成を保存します。

強制フェールオーバーの後、セカンダリは新しいプライマリになります。古いプライマリからのクライアントエイリアス IP (VIP) とサーバエイリアス IP (SNIP) が新しいプライマリに移動します。

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

ステップ 1: NetScaler CLI を使用して、 両方のインスタンスで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: 両方のノードに VIP と SNIP を追加します。

プライマリノードで次のコマンドを入力します。

add ns ip <primary_client_alias_ip> <subnet> -type VIP

<!--NeedCopy-->

注:

仮想マシンインスタンスのクライアントサブネットに設定されたエイリアス IP アドレスとネットマスクを入力します。

add ns ip <primary_snip> <subnet> -type SNIP
<!--NeedCopy-->

primary_snipは、プライマリインスタンスのサーバ側インターフェイスの内部 IPアドレスを指します。

セカンダリノードで次のコマンドを入力します。

add ns ip <primary_client_alias_ip> <subnet> -type VIP
<!--NeedCopy-->

プライマリ VM インスタンスのクライアントサブネットに対して構成された Alias IP アドレスとネットマスクを入力します。

add ns ip <secondary_snip> <subnet> -type SNIP
<!--NeedCopy-->

secondary_snipは、セカンダリインスタンスのサーバ側インターフェイスの内部 IPアドレスを指します。

注:

VM インスタンスのサーバサブネットに設定された IP アドレスとネットマスクを入力します。

ステップ 3: プライマリノードに仮想サーバを追加します。

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

add <server_type> vserver <vserver_name> <protocol> <primary_client_alias_ip> <port>
<!--NeedCopy-->

ステップ 4: プライマリノードにサービスまたはサービスグループを追加します。

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

add service <service_name> <service_ip_address> <protocol> <port>
<!--NeedCopy-->

ステップ 5: サービスまたはサービスグループをプライマリノードの負荷分散仮想サーバーにバインドします。

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

bind <server_type> vserver <vserver_name> <service_name>
<!--NeedCopy-->

注:

設定を保存するには、コマンドsave configを入力します。そうしないと、インスタンスの再起動後に設定が失われます。

プライベート IP アドレスを持つVPX高可用性ペアをGoogle Cloud Platformにデプロイする