Google Cloud Platformで外部静的IPアドレスを持つVPX高可用性ペアを展開する
外部静的IPアドレスを使用して、GCP上にVPX高可用性ペアを展開できます。プライマリノードのクライアントIPアドレスは、外部静的IPアドレスにバインドされている必要があります。フェイルオーバー時には、トラフィックを再開するために、外部静的IPアドレスがセカンダリノードに移動されます。
静的外部IPアドレスは、解放を決定するまでプロジェクト用に予約される外部IPアドレスです。サービスにアクセスするためにIPアドレスを使用する場合、そのIPアドレスを予約して、プロジェクトのみが使用できるようにすることができます。詳細については、「静的外部IPアドレスの予約」を参照してください。
HAの詳細については、「高可用性」を参照してください。
始める前に
-
Google Cloud PlatformにNetScaler VPXインスタンスを展開するに記載されている制限事項、ハードウェア要件、注意事項をお読みください。この情報はHA展開にも適用されます。
- GCPプロジェクトに対して、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高可用性ペアに対する転送ルールサポートに記載されている制限事項と要件を読み、フェイルオーバー時にそれらを新しいプライマリに更新してください。
Google Cloud Platform上で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 インスタンスを展開する の「Create VPC Networks」セクションを参照してください。
ステップ 2. 2 つの VPX インスタンスを作成する
シナリオ: 複数 NIC、複数 IP のスタンドアロン VPX インスタンスを展開する に記載されている手順に従って、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 for CLIを使用して高可用性を構成できます。
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 をクリックします。
先に進む前に、Nodesページでセカンダリノードの同期状態がSUCCESSと表示されていることを確認してください。
セカンダリノードの同期状態(/ja-jp/vpx/media/sync-state-success-external-static-ip.png)
注:
これで、セカンダリノードはプライマリノードと同じログオン資格情報を持つことになります。
ステップ2。両方のノードで仮想IPアドレスとサブネットIPアドレスを追加します。
プライマリノードで、次の手順を実行します。
- システム > ネットワーク > IPアドレス > IPv4アドレス に移動し、追加 をクリックします。
- プライマリVIPアドレスを追加するには、次の手順に従います。
- プライマリインスタンスのクライアント向けインターフェースの内部IPアドレスと、VMインスタンスでクライアントサブネット用に構成されたネットマスクを入力します。
- IP Typeフィールドで、ドロップダウンメニューからVirtual IPを選択します。
- Createをクリックします。
- プライマリSNIPアドレスを追加するには、次の手順に従います。
- プライマリインスタンスのサーバー向けインターフェースの内部IPアドレスと、プライマリインスタンスでサーバーサブネット用に構成されたネットマスクを入力します。
- IP Typeフィールドで、ドロップダウンメニューからSubnet IPを選択します。
- Createをクリックします。
- 以下の手順に従って、セカンダリ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セット > 追加 に移動します。
- IP セット名を追加し、Insert をクリックします。
- IPV4s ページから、仮想 IP (セカンダリ VIP) を選択し、Insert をクリックします。
- Create をクリックして IP セットを作成します。

注:
IP セット名は、両方のインスタンスで同じである必要があります。
ステップ 4。プライマリインスタンスに負荷分散仮想サーバーを追加します。
- 設定 > トラフィック管理 > 負荷分散 > 仮想サーバー > 追加 に移動します。
-
名前、プロトコル、IPアドレスタイプ(IPアドレス)、IPアドレス(プライマリVIP)、およびポートに必要な値を入力します。

- 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リクエストを発行し、再び到達可能であることを確認します。