免許
フォールトトレランスを使用するには、1つのエンタープライズ(ENT)またはプロフェッショナル(PRO)ライセンスが必要です。 ENTライセンスは、3QXサーバーのFQDN Aレコードのライフタイム(TTL)を5分に設定します。 PRO TTLライセンスでは、Aレコードは6時に設定されます。 これは、PROエディションでは、IP電話、3CX、3CX SBCクライアント、およびWebクライアントの緊急再接続の時間が非常に長くなることを意味します。
フェイルオーバーの実装
3CXは、24時間ごとに構成を複製するアクティブ/パッシブクラスターの原則を使用します。 プライマリ(アクティブ)ノードはVoIPコール処理を実行し、バックアップ(パッシブ)ノードはアクティブホストを監視します。 アクティブなホストで障害が発生した場合(理由に関係なく)、パッシブなホストはほぼ同じ状態から動作を開始します。 アクティブなホストの障害を判断するメカニズムは、パッシブなホストの設定に依存し、以下で説明します。
サポートされているネットワークトポロジ
3CXフェールオーバークラスターは、次のトポロジで動作するように設計されています。
- ローカルサーバー(NAT)
- クラウド(パブリックサーバー)
オンプレミスとクラウドホスト間のフェールオーバーは公式にはサポートされていません。 また、3QXサーバーのFQDNが3CXによって提供および維持されることも想定されています。 もちろん、より複雑なトポロジと独自のFQDN名を使用できますが、この場合、DNSレコードの管理とデバイスの再構成はシステム管理者の責任です。
前提条件
2台のサーバーでフェールオーバークラスターを開始する前に、3CXサーバーを次のようにインストールする必要があります。
- クラウド内の1つの3CX(最初のパブリックIP)と3CXからのFQDN名を持つクラウド内の別のPBX(2番目のパブリックIP)
- 両方のサーバーは同じ設定(同じFQDN、SSL証明書とSIP、トンネルとWebサーバーのポート)でインストールされます。
- IP電話の[自動設定]タブで、インターフェイスをIPアドレスではなくFQDNとして指定する必要があります(以下を参照)。
他のトポロジ、たとえばプライベートネットワークの1つのノードとクラウドの別のノードでは、スクリプトを使用してDNS Aレコードを更新する必要があります。 スクリプトは、フェイルオーバー時に実行する必要があります。 以下でこれについてさらに詳しく説明します。
プライマリノードを構成する
メイン(アクティブ)サーバーに3CX v15.5が既にインストールおよび構成されていると仮定します。
すべての内線番号について、FQDNを使用してIP電話を自動構成するオプションを指定します([電話の自動構成]タブ、[インターフェイスオプションの選択])。
[バックアップ]セクションで、[場所]ボタンをクリックして[Googleドライブ]を選択します。 両方のサーバーから利用可能な別の場所を選択できます。 この例では、クラスターは構成をGoogleドライブのSIP3CXCOMBackupsフォルダーに保存します。
[バックアッププラン]ボタンをクリックし、クラスター内で同期するデータと同期時間を選択します。 上記のように、毎日の夜間同期を設定することをお勧めします。 3CXScheduledBackup.zipバックアップファイルの名前は、最後にダウンロードされた構成のために3CXにリダイレクトされ、クラスターの両方のノードで使用されます。
同じセクションで、[フォールトトレランス]ボタンをクリックし、[バックアップを有効にする]オプションを有効にして、[バックアップスイッチングモード-基本]を選択します。
これで、アクティブなクラスターノードの構成が完了しました。
バックアップノードを構成する
上記の前提条件を考慮して、スタンバイサーバーに3CXをインストールします。 プライマリサーバーとバックアップサーバーが異なるパブリックIPアドレスを使用している場合、バックアップサーバーをインストールした後、クラスターの共通FQDNはバックアップノードに解決されます(最初にプライマリサーバーをインストールした後、IPに解決されます)。 メインサーバーのIPアドレスにFQDNを再度関連付けるには、メインサーバーの[メイン]セクションで[ライセンス]リンクをクリックし、[変更]および[OK]をクリックします。 これで、FQDNは再びプライマリサーバーのIPを指すようになります。
[バックアップ]セクションに移動し、[回復計画]ボタンをクリックします。 回復を有効にし、回復時間を指定します(もちろん、バックアップ時間より少し遅くする必要があります)。 次に、[回復後にサービスを開始しない]オプションを設定します。
同じセクションで、[フォールトトレランス]ボタンをクリックし、[バックアップを有効にする]オプションを有効にして、[バックアップスイッチングモード-バックアップ]を選択します。 メインサーバー(この例では1.1.1.1)のIPアドレスと、監視する必要があるサービス(SIPサーバー、Webサーバー、またはトンネルサーバー)を指定します。 1つのサービスのみまたはすべてのサービスが「クラッシュ」する場合、チェック間隔と切り替えトリガーロジックを設定します。
バックアップサーバーがプライマリの障害を検出すると、最後に復元されたバックアップのデータを使用して作業に含まれます。 さらに、FQDNのAQレコードがバックアップノードのIPアドレスに変更されたことをDNS 3CX(Googleインフラストラクチャ上にある)に通知します。
3CXサービスがまだ実行されている場合、バックアップノード上の同様のサービスとの競合が発生する可能性があるため、「落ちた」メインサーバーを完全にオフにすることが重要です。
このようなトポロジでのゲートウェイとサーバーの相互作用はベンダーの機能、ファームウェアの特定のモデルとバージョンに依存するため、3CXはフェールオーバークラスター内のFXOまたはFXSゲートウェイの動作を公式にサポートしていないことに注意してください。
複雑なトポロジーのスクリプト
LAN-LANトポロジまたはLAN-Cloudトポロジで独自のFQDNを使用する場合、特定の特権で実行される特別なスクリプト(WindowsではActive DirectoryのPowershellフォールトトレランススクリプト )を使用する必要があります。
既定では、フェールオーバープロセス中に実行できるスクリプトは、3CX Event Notification Managerサービス(既定ではローカルシステム)の特権で実行されます。 原則として、スクリプトを実行するには、DNSサーバー(dnscmdまたはpsexec)を管理する特権が必要です。
適切なWindowsスナップインでサービスをクリックし、[ログオン]タブで、アカウントをローカルシステムからDNSを構成するための適切な特権を持つアカウントに変更し、サービスを再起動します。 この特権を持つ別のユーザーを作成し、不変のパスワードを付与することをお勧めします。