ソケット冗長化(HA)とは何か

この記事では、物理ソケットのペアを使用しているサイトの冗長化(HA)構成とフェイルオーバー条件について説明します。

サイトにおけるSocket高可用性の概要

サイトの回復力を向上させるために、Catoは各サイトを冗長化(HA)モードで動作するソケットのペアで展開することを強くお勧めします。 この操作モードにより、単一ソケットの障害時にサイトのサービスが継続されます。 フェイルオーバー中、Cato クラウドはフローの状態を維持し、エンドユーザーのエクスペリエンスに与える影響は最小限です。

サポートされているソケット冗長化サイト

Catoは次の環境でのソケット冗長化HAをサポートしています:

  • 物理ソケットサイト

  • AWS vSocketサイト

  • Azure vSocketサイト

この記事では、物理ソケットサイトでの冗長化HAの動作を説明します。 数回クリックするだけでSocket冗長化を設定する方法について詳しくは、冗長化環境でのソケット使用をご覧ください。

Socket高可用性と異なるソケットモデル

ソケット冗長化サイトは、同じソケットタイプX1500、X1600、X1600 LTE、またはX1700を持つ2つのソケットを使用することができます。 ただし、異なるソケットタイプは使用できませんので、X1600とX1700のソケットを持つサイトはサポートされていません。

  • 同じ冗長化サイトでX1500ソケットとX1500Bソケットを使用することができます。
  • 同一のHAサイトでX1600ソケットとX1600 LTEソケットを使用することはできません。

Socket高可用性とフォールオーバーの理解

ソケット冗長化HAデプロイメントでは、2つのCatoソケットがサイトに割り当てられます。 サイトに割り当てられた最初のソケットはプライマリソケットとして識別され、2番目のソケットはセカンダリソケットです。 ソケットは冗長化HAアクティブ/スタンバイモードで動作します。 サイトの通常の操作中、プライマリソケットはマスターステータスを持ち、セカンダリソケットはスタンバイステータスを持ちます。 マスターステータスを持つソケットのみがトラフィックを処理します。

  1. セカンダリ(スタンバイ)ソケットは、プライマリソケットが送信する定期的なキープアライブメッセージをリッスンすることで、マスターソケットの状態(生存性)を継続的にモニタリングします。 キープアライブメッセージは、宛先をLAN & VRRPまたはVRRPに設定して指定されたインタフェースを経由して送信されます(LAN接続性とソケット冗長化を参照)。

  2. セカンダリ(スタンバイ)ソケットがプライマリソケットのダウンを検出すると、HA状態をマスターに変更し、トラフィックを処理し始めます。 これは、HAキープアライブメッセージが3秒間失われた後に発生します。  

  3. セカンダリソケットは、レイヤー2の収束を加速するためにGARPメッセージをLANネットワークに送信します。

  4. プライマリソケットが回復し通常の機能に戻ると、事前にマスターになり、セカンダリソケットはスタンバイステータスに戻ります。

以下の画像は、ネットワーク > サイト > {site name} > サイト設定 > ソケット内のCato管理アプリケーションにおけるX1500ソケットの冗長化HA設定画面を示しています:

image.png

アイテム

説明

1

ソケットの冗長化HA役割 - プライマリまたはセカンダリ

2

ソケット冗長化HAステータス - マスターまたはスタンバイ

3

冗長化HA ステータス - 準備完了または準備未完了

4

全体の冗長化HAステータスに関する特定条件

  • 接続済み - ソケットWAN接続性

    • GreenCheck.png- プライマリとセカンダリの両方のソケットが、Cato クラウドに接続された少なくとも1つの運用トンネルを持っています

    • Red_X.png- ソケットには、Cato クラウドに接続された運用トンネルがありません

  • キープアライブ - ソケット間の冗長化HAキープアライブチャネルの状態

    • GreenCheck.png- セカンダリソケットはプライマリソケットから冗長化HAキープアライブメッセージを受信します

    • Red_X.png- セカンダリソケットはプライマリソケットから冗長化HAキープアライブメッセージを受信していません

  • 互換バージョン - プライマリとセカンダリの両方のソケットが互換性のあるソケットOSバージョンを実行しています

    • GreenCheck.png- 両方のソケットは互換(同じメジャー)ソケットバージョンを実行しています。例えば 14.0.13986 と 14.0.12764

    • Red_X.png- ソケットは異なるメジャーソケットバージョンを持っています。例えば 14.0.13986 と 13.0.48732

    注意: ソケットの冗長化HAフェイルオーバーは、ソケットが異なるメジャーバージョンを実行していても行われます。 ただし、セカンダリソケットバージョンがプライマリソケットバージョンでサポートされている機能に対応していない場合、サイトは機能的な問題を経験する可能性があります。

    例えば、プライマリソケットがバージョン18.0を実行し、セカンダリソケットがバージョン15.0を実行している場合、フェイルオーバー時に、バージョン16 - 18でリリースされた機能はセカンダリソケットがアクティブな間は動作しません。

Socket冗長化フォールオーバーのサンプル

以下の図は、プライマリソケットに問題が発生し、セカンダリソケットへのフェイルオーバーが発生する例を示しています。 セカンダリソケットがプライマリソケットのダウンを検出すると、ステータスをマスターに変更します。 Cato クラウドは、トラフィックフローをセカンダリソケットのWANリンクに転送します。

Socket_HA_Regular.png
Socket_HA_Failure.png

Socket冗長化とスプリットブレイン状態

両方のソケットが同時にマスターの役割を持っている場合、それはスプリットブレイン条件です。 ソケット間のLAN接続の問題により、HAキープアライブメッセージがセカンダリソケットに届かない状況が発生することがあります。

Cato管理画面でソケットページ(上に表示)を確認することで、スプリットブレイン条件を識別できます。

  • プライマリおよびセカンダリソケットはステータスマスター(項目2)として表示されます。

  • キープアライブ条件(項目4)は失敗として示され、これによりHAステータス(項目3)は未準備として表示されます。

LAN接続の問題が解決すると、セカンダリソケットはプライマリソケットがマスターであることを認識し、セカンダリソケットはスタンバイステータスに戻ります。

スプリットブレイン状態中のサイトトラフィック

次のプロセスにより、スプリットブレイン条件中にのみ、セカンダリソケットがサイトのトラフィックを処理します(スプリットブレイン条件であっても)。

  • 下りトラフィック(PoPからサイトへ)の場合:

    1. PoPは、セカンダリソケットが現在マスターであることを検出します。

    2. PoPは、セカンダリソケットトンネルの優先メトリックを設定します。

      下りトラフィックは現在セカンダリソケットのみにルーティングされます。

  • 上りトラフィック(サイトからPoPへ)の場合:

    1. セカンダリソケットがHA状態をスタンバイからマスターに変更すると、それが現在マスターであることを示すためにGARPメッセージをLANに送信し、ARPおよびMACテーブルを更新します。

      LANからの上りトラフィックは現在セカンダリソケットのみにルーティングされます。

Catoクラウドへの冗長化ソケット接続性

プライマリとセカンダリのソケットは、各WANポートで同じCato クラウド PoPへのDTLSトンネルを確立します。 上り方向では、マスターソケットのみがトラフィックをPoPに送信します。 下り方向では、PoPはトラフィックをサイトに送信するためにマスターソケットトンネルのみを使用します。 ソケットHAフェイルオーバーイベントが発生した場合、セカンダリソケットが新しいマスターになり、PoPは失敗したプライマリソケットトンネルからセカンダリソケットトンネルにトラフィックを移行します。 PoPはフローステートとNATステートを維持して、すべてのユーザーアプリケーションがフェイルオーバー中およびその後も動作し続けることを保証します。

以下は、ソケットHAのための物理的および論理的な接続構成のサンプルです。

PhysicalLogicalTopology.png

最適なWAN接続、パフォーマンス、および冗長化機能のために、Catoは両方のソケットに対して対称的(ミラー)な配線レイアウトを必要とします。 たとえば、プライマリソケットポートWAN1がISP1に接続され、ポートWAN2がISP2に接続されている場合、セカンダリソケットはプライマリソケットと同じポートを同じISPに接続する必要があります。

これらの対称トポロジには、ISPルーターへの直接接続やスイッチのスタックを使用することが含まれます。

WAN_Connectivity_Router_Switch.png

ノート

注意:非対称トポロジの使用は問題を引き起こす可能性があり、Catoでは公式にサポートされていません。 たとえば、プライマリソケットポートWAN1がISP1に接続されている場合、セカンダリソケットポートWAN1はISP2に接続されています。

LAN接続性とSocket冗長化

Catoは、プライマリおよびセカンダリのソケットがLAN接続のために対称的(ミラー)の配線レイアウトを持つことを必要とします。 たとえば、プライマリおよびセカンダリのソケットのLANポート1がLANスイッチに接続されています(または複数のLANポートがある構成の場合はLANポート1および2)。

このセクションでは、ソケットHAのための次のLAN接続オプションについて説明します:

  1. 単一LANポート

  2. 複数LANポート

  3. LANリンク集約(推奨オプション)

  4. HAキープアライブメッセージ用の専用ポート

これらのオプションのいくつかは、Cato管理画面でサイトの追加構成を必要とします。 たとえば、LANポートはLAN & VRRPまたはVRRPのために構成されます。

単一のLANポートを持つSocket冗長化

プライマリとセカンダリのソケットをLANスイッチに接続するために単一のLANポートを使用する構成があります。 この構成では、両方のソケットで同じポート番号を使用する必要があります。 ユーザートラフィックとHAキープアライブメッセージは単一リンクで実行されます。 このトポロジはLANリンクの冗長性を提供しません。

以下の図は、各ソケットの単一LANポートをスイッチに接続したソケットHAトポロジの例を示しています。

HA_LAN_switch.png

複数のLANポートを持つSocket冗長化

このセクションでは、プライマリおよびセカンダリのソケットがLANスイッチに2つ以上の独立したLANポートを介して接続されている場合について説明します。 この構成では、LAN接続のために両方のソケットで同じポートを使用する必要があります。

デフォルトでは、最も低い番号のLANポートがHAキープアライブトラフィックとユーザートラフィックの両方に使用されます。 残りのLANポートはユーザートラフィックのみを運びます。

ポート宛先LANからLAN & VRRPに変更することで、HAキープアライブトラフィック用に任意のLANポートを選択できます。  以下のスクリーンショットは、LANユーザトラフィック用のポート3とHAキープアライブトラフィックおよびユーザトラフィック用のポート4を示しています。

LAN_VRRP.png

HAキープアライブトラフィック用のLANポート変更について詳しくは、冗長化環境でのソケット使用をご覧ください。 このトポロジはLANリンクの冗長性を提供しません。

ソケットHAフェイルオーバー(セカンダリソケットがマスターになる)は、次の2つの条件を満たす場合のみ発生します:

  1. セカンダリソケットがプライマリソケットからHAキープアライブメッセージを3秒間受信しなくなる。

  2. セカンダリのソケットのLAN & VRRPポートは接続済みのステータスです。

セカンダリソケットのLANポートが未接続の場合、スプリットブレインの可能性を避けるためにマスターにはなりません。

LANリンクアグリゲーションによるソケット冗長化 (推奨設定)

プライマリおよびセカンダリのソケットは、リンクアグリゲーション(LAG)に束ねられた2つ以上のLANポートを介してLANスイッチに接続されています。  この構成では、LAN接続のために両方のソケットで同じポートを使用する必要があります。 このトポロジーにより、ユーザートラフィックとHAキープアライブメッセージの両方に対してLANのリンク冗長性が提供されます。 LAGメンバーポートの1つが故障した場合、他のメンバーポートがユーザートラフィックとHAのキープアライブトラフィックを引き続き運びます。

このトポロジーはリンクおよびソケットの両方の回復性を提供し、ベストプラクティスと見なされています。

LAN LAGについて知るには、ソケットのリンクアグリゲーション設定をご覧ください。

以下の図は、スイッチのスタックを使用したLAN LAGを利用したソケットHA LAN接続トポロジーの例です。

SocketHA_LAG.png

HAキープアライブトラフィック用の専用ポート

この構成では、HAキープアライブトラフィックをLANトラフィックから分離します。 HAキープアライブトラフィック専用にするために単一のポート(LAN、WAN、USBポート)を割り当て、残りのLANポートの1つ以上をLANトラフィックに使用できます。

HAキープアライブトラフィック専用のLANポートを設定するには、ポートの宛先VRRPに設定します。 その後、ソケット間のHAリンクオプションをダイレクトまたはスイッチ経由に設定します。

Direct_HA_Link.png

これらは専用ポート構成です。

  1. ダイレクト(ソケット間のバックトゥバックケーブル) – この構成では、セカンダリソケットがHAキープアライブメッセージを受信停止すると、VRRPポートのステータスにかかわらずマスターになります。

  2. スイッチ経由 – この構成では、両方のソケットのVRRPポートがスイッチに接続されています。 フェイルオーバーの動作は、セカンダリソケットのVRRPポートの状態に依存します。                                                             

    1. セカンダリソケットポートの状態が接続済みでもキープアライブメッセージが受信されない場合 – セカンダリソケットがマスターとなります。

      セカンダリソケットは、状態がプライマリソケットの障害によるものと想定します。

    2. セカンダリソケットポートのステータスが未接続の場合 - セカンダリソケットはマスターになりません(スイッチとの間のローカルな問題と想定しています)。

      セカンダリソケットは、プライマリソケットが正常に動作していると想定し、スプリットブレインの可能性を避けるため、マスターにはなりません。

これらはダイレクトおよびスイッチ経由の専用ポート構成の図です。

Socket_HA_-_Direct_Port_for_HA_Traffic.png
Socket_HA_-_via_Switch_Port_for_HA.png

Socket高可用性のフォールオーバー条件

このセクションでは、プライマリソケットからセカンダリソケットへのフェイルオーバーを引き起こす条件について説明します。

プライマリソケットの障害によるフォールオーバー

このフェイルオーバーシナリオは、プライマリソケットの障害によって引き起こされます。 ソケットは以下の理由のいずれかでダウン状態と見なされます。

  • ソケットの一般的な故障または電源の喪失

  • LAN接続(3秒以上キープアライブがない)

  • 10秒以上のインターネット接続なし

キープアライブ障害によるフォールオーバー

セカンダリソケットがプライマリソケットから3秒間キープアライブメッセージを受信しない場合にも、フェイルオーバーシナリオが発生します。

セカンダリソケットがプライマリソケットがダウンしていることを発見すると、ステータスをマスターに変更します。 Cato クラウドはトラフィックフローをセカンダリソケットのWANリンクに転送します。 次の図はこのシナリオを示しています。

Socket_HA_LAN_Failure.png

インターネット接続の問題がソケットのフォールオーバーを引き起こしますか?

ソケットはプローブメカニズムを使用してインターネット接続状況を判断します。 プライマリソケットがすべてのインターネットリンク(Catoリンク)のインターネット接続が10秒以上ダウンしていると判断した場合、HAキープアライブメッセージの送信を停止します。 これにより、セカンダリソケットへのフェイルオーバーが発生します。

ノート

注意: プライマリソケットがインターネット接続している状況でも、すべてのDTLSトンネルが未接続状態である可能性があります。 ソケットにはインターネットとWANの回復メカニズムがあるため、この状況はセカンダリソケットへのフェイルオーバーを引き起こしません。 これらの回復メカニズムにより、ソケットはCatoクラウドの異なるPoPに再接続できます。

Socket高可用性の監視

このセクションでは、Cato管理画面でソケットの高可用性のステータスとイベントを監視するために使用できるさまざまなページについて説明します。

Socket冗長化ステータスの表示

Cato管理画面には、サイトのソケットの高可用性ステータスを表示するさまざまなページがあります。

ページ名称

説明

パス

サイト

アカウント内のすべてのサイトを表示します。 HAステータス列には、各サイトのソケットの高可用性ステータスが表示されます。

ネットワーク > サイト

ソケット

サイトのソケットの高可用性の詳細を表示します。 上記のSocket高可用性とフォールオーバーの理解を参照してください。

ネットワーク > サイト > <サイト名> > サイト設定 > ソケット

ネットワークアナリティクス

サイトのネットワークデータとHAステータスを表示します。

ネットワーク > サイト > <サイト名> > サイト監視 > ネットワークアナリティクス

Socket冗長化フォールオーバーイベント

ソケットがフェイルオーバーするたびに、セカンダリ ソケットが35秒以上アクティブである場合、ソケット フェイルオーバー イベントが生成されます。 例えば、プライマリ ソケットが新しいソケットバージョンにアップグレードし、アップグレード プロセスに20秒かかった場合、セカンダリ ソケットが20秒しかアクティブでなかったため、ソケット フェイルオーバー イベントは生成されません。

ホーム > イベントページでイベントをCato管理画面で確認できます。 こちらは、プライマリソケットからセカンダリソケットへのフェイルオーバーを示すサンプルイベントです。

Failover.png

Socket高可用性フォールオーバーの電子メール通知の定義

ネットワーク > リンクヘルスルール) のページを使用して、ソケット冗長化フェイルオーバーイベントのためのメール通知を送信する接続性健全性ルールを作成できます。 メール通知は、Cato管理画面で設定するメーリングリストのすべての受信者に送信されます。 メーリングリストには、Cato管理画面でユーザーおよび管理者として定義されていないメールアドレスを含めることができます。

これはソケットフェイルオーバーのための接続性健全性ルールの例です。

Socket_Failover_Alert.png

接続性健全性ルールの設定について詳しくは、リンクヘルスルールの使用をご覧ください。

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

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

0件のコメント