GCP用vSocketサイト向けの冗長化(HA)設定(EA)

この記事では、GCP vSocketサイトの冗長化(HA)設定をデプロイする方法について説明します。

注意

注: これはEarly Availability(EA)機能で、限られたリリースでのみ利用可能です。 機能を有効化するための詳細については、Cato Networksの担当者に連絡するか、ea@catonetworks.comに電子メールを送信してください。

概要

Google Cloud Platform(GCP)でCato vSocketsの冗長化(HA)を設定するには、異なるゾーンに2つのvSocketをデプロイし、そのLANインタフェース前にGoogle Cloud Load Balancerを配置してください。 Load Balancerは単一の静的IPアドレスを提供し、内部リソースがvSocketに接続するために使用します。 各vSocketの健全性を継続的に監視し、アクティブ(マスター)のvSocketにのみトラフィックを転送します。 これには、プライマリソケットまたはフェイルオーバーの場合のセカンダリが含まれます。

さらに、vSocketsはVirtual Router Redundancy Protocol(VRRP)を使用して状態情報を交換します。 セカンダリソケットがスタンバイモードのとき、Load Balancerに不健全と報告されるため、トラフィックはアクティブなvSocketにのみ転送されます。 Load Balancerの健全性チェックとVRRPを組み合わせることで、最小限の中断で自動フェイルオーバーを提供します。 通常のフェイルオーバー時間は約3〜5秒です。

注意

注: GCPでのHAに対するvSocketの最低サポートバージョンは24.0.20395です。

GCPでのHA vSocket設定は、Load Balancerのみに依存してアクティブなvSocketにトラフィックを誘導します。

GCP vSocketフェイルオーバーワークフロー

これは、プライマリアクティブvSocketがGCPサイト内でセカンダリスタンバイにフェイルオーバーする場合のワークフローです。

  1. 通常の操作では、プライマリvSocketがアクティブロールを持ち、セカンダリvSocketがスタンバイロールを持ちます。

    1. Load balancerはソケットの健全性ステータスを調査します。 プライマリは健全であると報告し、セカンダリは不健全であると報告します。

    2. プライマリとセカンダリのソケットは、LAN上でVRRPプロトコルを使用して通信します。

    3. Load balancer IPはトラフィックをプライマリvSocketのIPに誘導します。

    4. LANルートテーブルのプレフィックスはネクストホップとしてload balancer IPを使用します。

  2. プライマリ(アクティブ)vSocketがダウンします。

    1. セカンダリ(スタンバイ)vSocketはプライマリvSocketからキープアライブパケットの受信を停止します。

    2. セカンダリvSocketはアクティブ(マスター)ロールを引き受け、Load balancerに対して健全であると報告し始めます。

    3. Load balancerはプライマリvSocketからの応答を受信するのを停止し、現在はトラフィックをセカンダリvSocketのみに誘導します。

  3. セカンダリvSocketは現在アクティブなvSocketとなり、サイトのトラフィックを両方向に中継しています。

  4. プライマリvSocketが復旧すると、アクティブロールを再開し、セカンダリvSocketがスタンバイステータスに戻ります。 Load balancerは現在トラフィックをプライマリvSocketに戻します。

Terraformデプロイメントの前提条件

  • 以下のリソースを作成する権限を持つGCPプロジェクト:

    • VPCとサブネット

    • コンピュートインスタンス

    • ファイアウォールルール

    • Load balancer

    • 健全性チェック

    • 静的IP

    • サービスアカウント

  • Terraformはインストール済みでGCPに認証されています

  • Terraformモジュールに必要なCatoアカウントの資格情報またはトークン

  • ターゲットリージョン内の2つの可用性ゾーン(例: us-central1-aおよびus-central1-b)

  • (オプション) Load Balancerの静的IPアドレスを指す予約済みDNS名

  • 最小vSocketバージョン: 24.0.20395

リファレンスアーキテクチャ

  • 各vSocketには、MGMT、WAN、およびLANの3つのインタフェースが含まれます。 LANインタフェースはVRRPに参加して状態同期を行います。

  • Load balancerはLAN側で動作し、内部クライアントに一貫したIPアドレスを提供します。

  • 健全性チェックは各vSocketのLANインタフェースをプローブします。 Load balancerに対して健全であると報告するインスタンスのみがトラフィックを受け取ります。

  • VRRPは2つのvSockets間の状態同期を確保します。

GCP_HA_Diagram.png

GCP vSocketサイトの冗長化をデプロイするためのTerraformの使用

必要なすべてのリソース(VPC、vSocket、Load Balancer、および健全性チェック)は、単一のTerraformスタックに定義されている必要があります。

Terraform Registryで利用可能な公式のCato vSocket Terraformモジュールには、詳細なドキュメントとvSocketの冗長化設定に関する例が含まれています。 GCP HAモジュールの詳細については、こちらを参照してください。

GCPでのHAの設定を拡張するには:

  1. 同じアプローチを使用して、異なるゾーンに2つのvSocketをデプロイしてください。

  2. LAN側にLoad Balancerリソースを追加し、2つのvSocketsを前面に配置する

  3. 状態同期のために、2つのvSockets間でVRRP通信を許可する 

注意

注: Cato vSocket Terraformモジュールの公式ドキュメントを参照して、モジュールの入力、出力、および高度な構成オプションの詳細を確認してください。

GCP高可用性の管理

このセクションでは、GCPサイトの冗長化を管理する方法について説明します。

  • 各vSocketの冗長化ステータスを表示

  • サイトのLoad balancer IPを変更

  • vSocketの管理IPアドレスを変更

  • サイトの冗長化を無効にし、セカンダリvSocketを削除

高可用性情報とステータスの表示

サイトのためのネットワーク > サイト > ソケットページに、プライマリとセカンダリのvSocketsの冗長化ステータスが表示されます。

アイテム

説明

HAステータス

サイトの冗長化ステータス(準備完了 または 未準備)は、各HAステータスインジケータがOKのときのみ準備完了を表示します。

接続済み (ステータスインジケータ)

ステータスallow.svgは、両方のvSocketsがCato CloudへのWAN接続性を持っていることを示します

キープアライブ (ステータスインジケータ)

ステータスallow.svgは、1つのvSocketがマスターであり、もう1つがスタンバイであることを示します(両方のvSocketsがマスターのステータスの場合、HAスプリットブレイン問題があります)

同じバージョン (ステータスインジケータ)

ステータスallow.svgは、両方のvSocketsが同じソケットバージョンを実行していることを示します

サイトのIP設定を変更する

GCP内のvSocketsのIPアドレス設定を変更する場合、Cato管理アプリケーションでも同じ設定を更新する必要があります。 次の設定を構成できます:

  • Native Rangeサブネット - サイトのためのネットワークセクションを使用する

  • Load balancer IP - サイトのためのネットワークまたは高可用性セクションを使用する(新しい値は他のセクションに自動的に更新されます)

  • 管理IP - サイトのための高可用性セクションを使用する

ネイティブ範囲サブネットを変更する

Native Rangeサブネットを変更するには、ネットワークセクションを使用します。

サイトのためにNative Rangeサブネットを変更するには:

  1. ナビゲーションメニューからネットワーク > サイトをクリックし、GCPサイトを選択します。

  2. ナビゲーションメニューからサイト設定 > ネットワークを選択します。

  3. ネイティブレンジを編集し、サブネットの新しい値を入力します。

  4. 適用をクリックします。 Edit IP rangeパネルが閉じます。

  5. 保存をクリックしてください。

ロードバランサーIPと管理IPを変更する

Load Balancer IPと管理IPを変更するには、高可用性セクションを使用します。 ネットワークセクションでも Load Balancer IPを変更できます。

サイトのためにLoad Balancerまたは管理IPを変更するには:

  1. ナビゲーションメニューからネットワーク > サイトをクリックし、GCPサイトを選択します。

  2. ナビゲーションメニューから、サイト設定 > ソケットをクリックします。

  3. 高可用性構成セクションを展開します。

  4. 新しいプライマリ管理IPを入力します。

  5. 新しいセカンダリ管理IPを入力します。

  6. 新しいLAN Load Balancer IPを入力します。

  7. 保存をクリックしてください。

GCPサイトの高可用性を無効化する

GCPサイトからセカンダリvSocketを削除し、そのサイトの冗長化を無効にすることができます。 Cato管理アプリケーションからセカンダリvSocketを削除すると、デプロイされたvSocketはCato Cloudに接続できなくなります。 サイトの設定は、単一のvSocketに対する構成に戻されます:

  • 高可用性セクションが無効になり、ページに表示されなくなります

  • ネットワークセクションでは、Local IPがLoad Balancer IPに置き換わります

注意

注: ソケットの割り当て解除アクションは元に戻せません。 セカンダリvSocketのシリアル番号は有効ではなくなります。

セカンダリvSocketを再追加する場合、新しいシリアル番号を持つ新しいvSocketをVMにインストールする必要があります。

GCPサイトの冗長化を無効化するには:

  1. ナビゲーションメニューから ネットワーク > サイト をクリックし、GCPサイトを選択します。

  2. ナビゲーションメニューから、サイト設定 > ソケットをクリックします。

  3. セカンダリ vSocket の アクション メニューから、未配置をクリックします。

  4. 警告ウィンドウで、OKをクリックします。 サイトの冗長化が無効で、セカンダリvSocketがそれから削除されます。

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています

0件のコメント