プライベート IP アドレスを持つVPX高可用性ペアをGoogle Cloud Platformにデプロイする
プライベート IP アドレスを使用して、VPX 高可用性ペアを GCP にデプロイできます。 クライアント IP(VIP)は、プライマリノードのエイリアス IP アドレスとして設定する必要があります。 フェールオーバー時に、クライアント IP アドレスがセカンダリノードに移動され、トラフィックが再開されます。
高可用性の詳細については、「 高可用性」を参照してください。
はじめに
- Google Cloud Platform に NetScaler VPX インスタンスをデプロイするに記載されている制限事項、ハードウェア要件、注意事項をお読みください。 この情報は、高可用性展開にも適用されます。
- GCP プロジェクトで クラウドリソースマネージャー API を有効にします。
-
インスタンスの作成中に、すべての Cloud 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 にデプロイする方法
ここでは、高可用性展開手順の概要を示します。
- 同じリージョンに VPC ネットワークを作成します。 たとえば、アジア東です。
- 同じリージョンに2つのVPXインスタンス(プライマリノードとセカンダリノード)を作成します。 それらは、同じゾーンまたは異なるゾーンに存在することができます。 たとえば、アジア東-1a、アジア東-Ib。
- NetScaler GUIまたはADC CLIコマンドを使用して、両方のインスタンスで高可用性設定を構成します。
手順1. 手順1:VPC ネットワークを作成する
要件に基づいて VPC ネットワークを作成します。 管理NIC、クライアントNIC、サーバーNICに関連付けるために3つのVPCネットワークを作成することをお勧めします。
VPC ネットワークを作成するには、次の手順を実行します。
- Google コンソールにログインし、[ネットワーク] > [VPC ネットワーク] > [VPC ネットワークの作成] をクリックします。
- 必須フィールドに入力し、[Create] をクリックします。
詳細については、「 Google Cloud Platform に NetScaler VPX インスタンスをデプロイする」の「 VPC ネットワークの作成 」セクションを参照してください。
手順3. 手順2:2つのVPXインスタンスを作成する
シナリオ: マルチ NIC、マルチ IP のスタンドアロン VPX インスタンスをデプロイするに記載されている手順に従って、2 つの VPX インスタンスを作成します。
重要:
クライアントエイリアス IP アドレスをプライマリノードに割り当てます。 VPX インスタンスの内部 IP アドレスを使用して VIP を構成しないでください。
クライアントエイリアス IP アドレスを作成するには、次の手順を実行します。
-
VM インスタンスに移動し、[ 編集] をクリックします。
-
[ ネットワークインターフェイス (Network Interface)] ウィンドウで、クライアントインターフェイスを編集します。
-
[ エイリアス IP 範囲 (Alias IP range)] フィールドに、クライアントエイリアス IP アドレスを入力します。
フェールオーバー後、古いプライマリが新しいセカンダリになると、エイリアス IP アドレスは古いプライマリから移動し、新しいプライマリに接続されます。
VPX インスタンスを構成したら、仮想 (VIP) アドレスとサブネット IP (SNIP) アドレスを構成できます。 詳細については、「 Citrix ADC所有のIPアドレスの構成」を参照してください。
手順3. 高可用性の構成
Google Cloud Platform でインスタンスを作成した後、NetScaler GUIまたはCLIを使用して高可用性を構成できます。
GUI を使用した高可用性の構成
ステップ 1. 両方のノードで INC Enabled モードで高可用性を設定します。
プライマリノードで、次の手順を実行します。
- GCP Console
nsroot
からノードのユーザー名とインスタンス ID をパスワードとしてインスタンスにログオンします。 - 構成 > システム > 高可用性 > ノードに移動し、 追加をクリックします。
- [リモートノードの IP アドレス] フィールドに、セカンダリノードの管理 NIC のプライベート IP アドレスを入力します。
- [ セルフノードで INC (独立ネットワーク構成) モードをオンにする ] チェックボックスをオンにします。
- [Create] をクリックします。
先に進む前に、[ Nodes ] ページにセカンダリノードの同期状態が SUCCESS と表示されていることを確認してください。
- GCP Console
nsroot
からノードのユーザー名とインスタンス ID をパスワードとしてインスタンスにログオンします。 - 構成 > システム > 高可用性 > ノードに移動し、 追加をクリックします。
- [ リモートノード IP アドレス ] フィールドに、プライマリノードの管理 NIC のプライベート IP アドレスを入力します。
- [ セルフノードで INC (独立ネットワーク構成) モードをオンにする ] チェックボックスをオンにします。
- [Create] をクリックします。
セカンダリノードで、次の手順を実行します。
注
セカンダリノードがプライマリノードと同期されると、セカンダリノードにはプライマリノードと同じログオン認証情報が割り当てられます。
ステップ 2. 両方のノードに仮想 IP アドレスとサブネット IP アドレスを追加します。
プライマリノードで、次の手順を実行します。
- System > Network > IP Sets > Addに移動します。
- クライアントエイリアス IP(VIP)アドレスを作成するには、次の手順を実行します。
- 仮想マシンインスタンスのクライアントサブネットに設定されたエイリアス IP アドレスとネットマスクを入力します。
- [IP Type] フィールドで、ドロップダウンメニューから [Virtual IP] を選択します。
- [Create] をクリックします。
- サーバ IP (SNIP) アドレスを作成するには、次の手順を実行します。
- プライマリ・インスタンスのサーバ側インターフェイスの内部 IP アドレスと、サーバ・サブネットに設定されたネットマスクを入力します。
- [IP Type] フィールドで、ドロップダウンメニューから [Subnet IP] を選択します。
- [Create] をクリックします。
セカンダリノードで、次の手順を実行します。
- System > Network > IP Sets > Addに移動します。
- クライアントエイリアス IP(VIP)アドレスを作成するには、次の手順を実行します。
- プライマリ VM インスタンスのクライアントサブネットに対して構成された Alias IP アドレスとネットマスクを入力します。
- [IP Type] フィールドで、ドロップダウンメニューから [Subnet IP] を選択します。
- [Create] をクリックします。
- サーバ IP (SNIP) アドレスを作成するには、次の手順を実行します。
- セカンダリインスタンスのサーバ側インターフェイスの内部 IP アドレスと、サーバサブネットに設定されたネットマスクを入力します。
- [IP Type] フィールドで、ドロップダウンメニューから [Subnet IP] を選択します。
- [Create] をクリックします。
ステップ 3: プライマリ・インスタンスに仮想サーバを追加します。 ステップ 3: プライマリノードに負荷分散仮想サーバーを追加します。
- [設定] > [トラフィック管理] > [負荷分散] > [仮想サーバー] > [追加]に移動します。
-
名前、プロトコル、IP アドレスタイプ(IP アドレス)、IP アドレス(プライマリクライアントエイリアス IP アドレス)、およびポートに必要な値を追加し、 「OK」をクリックします。
ステップ 4: プライマリ・インスタンスに仮想サーバを追加します。 プライマリノードにサービスまたはサービスグループを追加します。
- [設定] > [トラフィック管理] > [負荷分散] > [サービス] >[追加]に移動します。
- サービス名、IPアドレス、プロトコル、およびポートに必要な値を追加し、[ OK]をクリックします。
ステップ 5. サービスまたはサービスグループをプライマリノードの負荷分散仮想サーバーにバインドします。
- [設定] > [トラフィック管理] > [負荷分散] > [仮想サーバー]に移動します。
- 手順3で構成した負荷分散仮想サーバーを選択し、[ 編集]をクリックします。
- [ サービスとサービスグループ ] タブで、[ 負荷分散仮想サーバーサービスバインドなし] をクリックします。
- 手順4で構成したサービスを選択し、[ バインド]をクリックします。
ステップ 5. 構成を保存します。
強制フェールオーバーの後、セカンダリは新しいプライマリになります。 古いプライマリからのクライアントエイリアス IP (VIP) とサーバエイリアス IP (SNIP) が新しいプライマリに移動します。
CLI を使用した高可用性の設定
ステップ 1. ステップ 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: プライマリ・インスタンスに仮想サーバを追加します。 ステップ 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
を入力します。 そうしないと、インスタンスの再起動後に設定が失われます。