Google Cloud Platformで外部静的IPアドレスを持つVPX高可用性ペアをデプロイする
外部静的IPアドレスを使用して、GCPにVPX高可用性ペアをデプロイできます。プライマリノードのクライアントIPアドレスは、外部静的IPアドレスにバインドされている必要があります。フェイルオーバー時には、トラフィックを再開するために外部静的IPアドレスがセカンダリノードに移動されます。
静的外部IPアドレスは、解放を決定するまでプロジェクト用に予約される外部IPアドレスです。サービスにアクセスするためにIPアドレスを使用する場合、そのIPアドレスを予約して、プロジェクトのみが使用できるようにすることができます。詳細については、「静的外部IPアドレスの予約」を参照してください。
HAの詳細については、「高可用性」を参照してください。
開始する前に
-
「Google Cloud PlatformにNetScaler VPXインスタンスをデプロイする」に記載されている制限事項、ハードウェア要件、注意事項をお読みください。この情報はHA展開にも適用されます。
- ジーシーピープロジェクトでCloud Resource Manager APIを有効にします。
-
インスタンスの作成中に、すべてのCloud APIへのフルアクセスを許可します。

-
GCPサービスアカウントに関連付けられているIAMロールに、次のIAM権限があることを確認してください。
REQUIRED_INSTANCE_IAM_PERMS = [ "compute.addresses.use", "compute.forwardingRules.list", "compute.forwardingRules.setTarget", "compute.instances.setMetadata" "compute.instances.addAccessConfig", "compute.instances.deleteAccessConfig", "compute.instances.get", "Compute.instances.list", "compute.networks.useExternalIp", "compute.subnetworks.useExternalIp", "compute.targetInstances.list", "compute.targetInstances.use", "compute.targetInstances.create", "compute.zones.list", "compute.zoneOperations.get", ] <!--NeedCopy--> -
管理インターフェース以外のインターフェースでエイリアスIPアドレスを構成している場合は、GCPサービスアカウントに次の追加のIAM権限があることを確認してください。
"compute.instances.updateNetworkInterface" <!--NeedCopy--> - プライマリノードでGCP転送ルールを構成している場合は、フェイルオーバー時に新しいプライマリに更新するために、「GCP上のVPX高可用性ペアに対する転送ルールサポート」に記載されている制限事項と要件をお読みください。
グーグル クラウド プラットフォームでVPX HAペアをデプロイする方法
HA展開の手順の概要を次に示します。
- 同じリージョンにVPCネットワークを作成します。例: Asia-east。
- 同じリージョンに2つのVPXインスタンス(プライマリノードとセカンダリノード)を作成します。それらは同じゾーンまたは異なるゾーンに配置できます。例: Asia east-1aおよびAsia east-Ib。
- NetScaler GUIまたはADC CLIコマンドを使用して、両方のインスタンスでHA設定を構成します。
ステップ1. VPCネットワークを作成する
要件に基づいてVPCネットワークを作成します。Citrix®は、管理NIC、クライアントNIC、およびサーバーNICに関連付けるために3つのVPCネットワークを作成することをお勧めします。
VPCネットワークを作成するには、次の手順を実行します。
- 「Google コンソール > ネットワーキング > VPC ネットワーク > VPC ネットワークの作成」にログインします。
- 必須フィールドに入力し、Create をクリックします。
詳細については、Google Cloud Platform に NetScaler VPX インスタンスを展開する の「VPC ネットワークの作成」セクションを参照してください。
ステップ2. 2つのVPXインスタンスを作成する
「シナリオ: 複数のNICとIPを持つスタンドアロンVPXインスタンスを展開する」(/ja-jp/vpx/current-release/deploy-vpx-google-cloud.html#scenario-deploy-a-multi-nic-multi-ip-standalone-vpx-instance) に記載されている手順に従って、2つのVPXインスタンスを作成します。
重要:
プライマリノードのクライアントIPアドレス (VIP) に静的外部IPアドレスを割り当てます。既存の予約済みIPアドレスを使用するか、新しいIPアドレスを作成できます。静的外部IPアドレスを作成するには、Network interface > External IP に移動し、Create IP address をクリックします。

フェイルオーバー後、古いプライマリが新しいセカンダリになると、静的外部IPアドレスは古いプライマリから移動し、新しいプライマリにアタッチされます。詳細については、Google Cloudドキュメント Reserving a Static External IP Address を参照してください。
VPXインスタンスを構成したら、VIPおよびSNIPアドレスを構成できます。詳細については、Configuring NetScaler-owned IP addresses を参照してください。
ステップ3. 高可用性を構成する
Google Cloud Platformでインスタンスを作成した後、NetScaler GUIまたはCLIを使用してHAを構成できます。
GUIを使用してHAを構成する
ステップ1. 両方のインスタンスでINCモードで高可用性を設定します。
プライマリノードで、次の手順を実行します。
- ユーザー名
nsrootと、GCPコンソールからのノードのインスタンスIDをパスワードとして使用して、インスタンスにログオンします。 - 「構成 > システム > 高可用性 > ノード」に移動し、「追加」をクリックします。
- Remote Node IP address フィールドに、セカンダリノードの管理NICのプライベートIPアドレスを入力します。
- 「自己ノードでINC (独立ネットワーク構成) モードを有効にする」チェックボックスをオンにします。
- Create をクリックします。
セカンダリノードで、次の手順を実行します。
- ユーザー名
nsrootと、GCPコンソールからのノードのインスタンスIDをパスワードとして使用して、インスタンスにログオンします。 - 「構成 > システム > 高可用性 > ノード」に移動し、「追加」をクリックします。
- Remote Node IP address フィールドに、プライマリノードの管理NICのプライベートIPアドレスを入力します。
- 「自己ノードでINC (独立ネットワーク構成) モードを有効にする」チェックボックスを選択します。
- Create をクリックします。
続行する前に、セカンダリノードの同期状態がノードページで成功と表示されていることを確認してください。

注:
これで、セカンダリノードはプライマリノードと同じログオン資格情報を持つことになります。
ステップ 2。両方のノードに仮想IPアドレスとサブネットIPアドレスを追加します。
プライマリノードで、次の手順を実行します。
- システム > ネットワーク > IP > IPv4に移動し、追加をクリックします。
- 次の手順に従って、プライマリVIPアドレスを追加します。
- プライマリインスタンスのクライアント向けインターフェースの内部IPアドレスと、VMインスタンスのクライアントサブネット用に構成されたネットマスクを入力します。
- IPタイプフィールドで、ドロップダウンメニューから仮想IPを選択します。
- 作成をクリックします。
- 次の手順に従って、プライマリSNIPアドレスを追加します。
- プライマリインスタンスのサーバー向けインターフェースの内部IPアドレスと、プライマリインスタンスのサーバーサブネット用に構成されたネットマスクを入力します。
- IPタイプフィールドで、ドロップダウンメニューからサブネットIPを選択します。
- 作成をクリックします。
- 次の手順に従って、セカンダリVIPアドレスを追加します。
- セカンダリインスタンスのクライアント向けインターフェースの内部IPアドレスと、VMインスタンスのクライアントサブネット用に構成されたネットマスクを入力します。
- IP Typeフィールドで、ドロップダウンメニューからVirtual IPを選択します。
- Createをクリックします。
プライマリノードでVIPとSNIPを作成する](/ja-jp/vpx/media/primary-vip-snip.png)
セカンダリノードで、次の手順を実行します。
- システム > ネットワーク > IPアドレス > IPv4アドレスに移動し、「追加」をクリックします。
- 次の手順に従って、セカンダリVIPアドレスを追加します。
- セカンダリインスタンスのクライアント向けインターフェースの内部IPアドレスと、VMインスタンスのクライアントサブネット用に構成されたネットマスクを入力します。
- IP Typeフィールドで、ドロップダウンメニューからVirtual IPを選択します。
- 次の手順に従って、セカンダリSNIPアドレスを追加します。
- セカンダリインスタンスのサーバー向けインターフェースの内部IPアドレスと、セカンダリインスタンスのサーバーサブネット用に構成されたネットマスクを入力します。
- IP Typeフィールドで、ドロップダウンメニューからSubnet IPを選択します。
- Createをクリックします。
セカンダリノードでVIPとSNIPを作成する](/ja-jp/vpx/media/secondary-vip-snip.png)
ステップ 3。両方のインスタンスでIPセットを追加し、セカンダリVIPにIPセットをバインドします。
プライマリノードで、次の手順を実行します。
- システム > ネットワーク > IPセット > 追加 に移動します。
- IPセット名を追加し、Insertをクリックします。
- IPV4sページから、仮想IP(セカンダリVIP)を選択し、Insertをクリックします。
- CreateをクリックしてIPセットを作成します。
プライマリIPセットを作成(/ja-jp/vpx/media/primary-ip-set.png)
セカンダリノードで、次の手順を実行します。
- システム > ネットワーク > IPセット > 追加 に移動します。
- IPセット名を追加し、Insertをクリックします。
- IPV4sページから、仮想IP(セカンダリVIP)を選択し、Insertをクリックします。
- CreateをクリックしてIPセットを作成します。
セカンダリIPセットを作成(/ja-jp/vpx/media/secondary-ip-set.png)
注:
IPセット名は両方のインスタンスで同じである必要があります。
ステップ 4. プライマリインスタンスにロードバランシング仮想サーバーを追加します。
- 「構成 > トラフィック管理 > 負荷分散 > 仮想サーバー > 追加」に移動します。
-
名前、プロトコル、IPアドレスタイプ (IPアドレス)、IPアドレス (プライマリVIP)、およびポートに必要な値を追加します。
プライマリインスタンス上のロードバランシング仮想サーバー(/ja-jp/vpx/media/primary-lb-vserver.png)
- More をクリックします。IP Range IP Set Settings に移動し、ドロップダウンメニューから IPset を選択し、ステップ 3 で作成した IPset を指定します。
- OK をクリックして、ロードバランシング仮想サーバーを作成します。
ステップ 5. プライマリノードにサービスまたはサービスグループを追加します。
- 「構成 > トラフィック管理 > 負荷分散 > サービス > 追加」に移動します。
- サービス名、IPアドレス、プロトコル、ポートに必要な値を追加し、OK をクリックします。
ステップ 6. プライマリノードで、サービスまたはサービスグループをロードバランシング仮想サーバーにバインドします。
- 「構成」>「トラフィック管理」>「負荷分散」>「仮想サーバー」に移動します。
- ステップ 4 で構成したロードバランシング仮想サーバーを選択し、Edit をクリックします。
- 「サービスとサービスグループ」タブで、「負荷分散仮想サーバーサービスバインディングなし」をクリックします。
- ステップ 5 で構成したサービスを選択し、Bind をクリックします。
設定を保存します。強制フェイルオーバー後、セカンダリが新しいプライマリになります。古いプライマリVIPの外部静的IPは、新しいセカンダリVIPに移動します。
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。両方のノードで仮想 IP とサブネット IP を追加します。
プライマリノードで、次のコマンドを入力します。
add ns ip <primary_vip> <subnet> -type VIP
add ns ip <secondary_vip> <subnet> -type VIP
add ns ip <primary_snip> <subnet> -type SNIP
<!--NeedCopy-->
primary_vip は、プライマリインスタンスのクライアント向けインターフェイスの内部 IP アドレスを指します。
secondary_vip は、セカンダリインスタンスのクライアント向けインターフェイスの内部 IP アドレスを指します。
primary_snip は、プライマリインスタンスのサーバー向けインターフェイスの内部 IP アドレスを指します。
セカンダリノードで、次のコマンドを入力します。
add ns ip <secondary_vip> <subnet> -type VIP
add ns ip <secondary_snip> <subnet> -type SNIP
<!--NeedCopy-->
secondary_vip は、セカンダリインスタンスのクライアント向けインターフェイスの内部 IP アドレスを指します。
secondary_snip は、セカンダリインスタンスのサーバー向けインターフェイスの内部 IP アドレスを指します。
ステップ 3。両方のインスタンスで IP セットを追加し、IP セットをセカンダリ VIP にバインドします。
プライマリノードで、次のコマンドを入力します。
add ipset <ipsetname>
bind ipset <ipsetname> <secondary VIP>
<!--NeedCopy-->
セカンダリノードで、次のコマンドを入力します。
add ipset <ipsetname>
bind ipset <ipsetname> <secondary VIP>
<!--NeedCopy-->
注:
IPセット名は、両方のインスタンスで同じである必要があります。
ステップ4. プライマリインスタンスに仮想サーバーを追加します。
次のコマンドを入力します。
add <server_type> vserver <vserver_name> <protocol> <primary_vip> <port> -ipset <ipset_name>
<!--NeedCopy-->
ステップ5. プライマリインスタンスにサービスまたはサービスグループを追加します。
次のコマンドを入力します。
add service <service_name> <service_ip_address> <protocol> <port>
<!--NeedCopy-->
ステップ6. プライマリインスタンスで、サービス/サービスグループをロードバランシング仮想サーバーにバインドします。
次のコマンドを入力します。
bind <server_type> vserver <vserver_name> <service_name>
<!--NeedCopy-->
注:
設定を保存するには、コマンド
save configを入力します。そうしないと、インスタンスを再起動した後に設定が失われます。
ステップ7. 設定を確認します。
プライマリクライアントNICにアタッチされた外部IPアドレスが、フェイルオーバー時にセカンダリに移動することを確認します。
- 外部IPアドレスにcURLリクエストを行い、到達可能であることを確認します。
-
プライマリインスタンスで、フェイルオーバーを実行します。
GUIから、設定 > システム > 高可用性 > アクション > 強制フェイルオーバー に移動します。
CLIから、次のコマンドを入力します。
force ha failover -f <!--NeedCopy-->GCPコンソールで、セカンダリインスタンスに移動します。フェイルオーバー後、外部IPアドレスはセカンダリのクライアントNICに移動しているはずです。
- 外部IPにcURLリクエストを発行し、再び到達可能であることを確認します。