すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for MongoDB:ApsaraDB for MongoDBがプライマリ/セカカンダリ スイッチオーバーをトリガーする理由

最終更新日:Sep 10, 2026

ApsaraDB for MongoDB は、高可用性 (HA) アーキテクチャで動作します。HA システムがノードが利用不可であることを検出すると、自動的にプライマリ/セカンダリ スイッチオーバーをトリガーし、ショートメッセージサービス (SMS) または内部メッセージで通知します。

通知の例

[Alibaba Cloud] ** 様:お客様の ApsaraDB for MongoDB インスタンス dds-bp**** (名前: ****) でエラーが発生しました。インスタンスの安定稼働を確保するため、スイッチオーバーがトリガーされました。お使いのアプリケーションがインスタンスに接続されているかを確認し、自動で再接続するよう設定することを推奨します。

仕組み

レプリカセットインスタンスには、デフォルトで 3 つのノードがあります。シャードクラスターインスタンスの各シャードにも 3 つのノードがあります。プライマリノードとセカンダリノードはアプリケーション接続を処理し、非表示ノードはスイッチオーバーのスタンバイターゲットとして機能します。詳細については、「レプリカセットインスタンス」または「シャードクラスターインスタンス」をご参照ください。

スイッチオーバーがトリガーされる理由

プライマリ/セカンダリ スイッチオーバーは、次の 2 つの条件でトリガーされることがあります。

  • ノードが利用不可:ノードのヘルスモニタリングシステムが、あるノードが応答しないことを検出し、非表示ノードをプライマリに昇格させます。

  • ホストがオフライン:プライマリノードが実行されているホストで例外が発生します。HA システムは、長時間のダウンタイムを防ぐために正常なホストに切り替えます。

HA スイッチオーバーの原因のトラブルシューティング

高い CPU 使用率やメモリ使用率などの過剰なリソース使用率は、ノードが利用不可になる原因となり、HA スイッチオーバーの一因となる可能性があります。リソースの圧迫がスイッチオーバーの原因となったかどうかを評価するには、スイッチオーバーが発生した期間のパフォーマンスメトリックを調査してください。

  1. ApsaraDB for MongoDB コンソールで、対象のインスタンスを開きます。左側のナビゲーションウィンドウで、[DAS パフォーマンストレンド] をクリックします。

  2. スイッチオーバーが発生した時間範囲を選択します。次のメトリックを確認し、その変更をスイッチオーバー時間と比較してください。

    • CPU 使用率とメモリ使用率:持続的な高使用率や突然の急上昇は、リソースの圧迫がノードの応答性に影響を与えたことを示している可能性があります。

    • 影響を受けるドキュメントとスキャンされたインデックスとドキュメント:異常な増加は、インスタンスリソースを消費する非効率なクエリを示している可能性があります。

    • Repl OpcountersとOplog 保持期間:異常値は、レプリケーションアクティビティとレプリケーションステータスを評価するのに役立ちます。

  3. CPU 使用率またはメモリ使用率が異常な場合は、左側のナビゲーションウィンドウで [モニタリング情報] をクリックしてください。影響を受けたノードと対応する時間範囲を選択して、その履歴トレンドを確認してください。

  4. 異常なメトリック期間をスイッチオーバー時間と関連付けます。たとえば、CPU 使用率が急上昇した後にモニタリングデータが中断された場合、リソースの圧迫がインスタンスのスイッチオーバーの一因となった可能性があります。原因を特定する前に、他のメトリックと合わせてこの状況を評価してください。

説明

DAS パフォーマンストレンドは、以前の Dukang-Telescope パフォーマンス診断機能がアップグレードされた名称です。

CPU 使用率が異常な場合は、「ApsaraDB for MongoDB インスタンスの高い CPU 使用率のトラブルシューティング」をご参照ください。

スイッチオーバーの影響

  • スイッチオーバーにより、30 秒未満の一時的な接続中断が発生します。

  • アプリケーションがプライマリノードのエンドポイントに直接接続している場合、スイッチオーバー中は読み書き操作が影響を受けます。

対処方法

即時再接続の問題:切断後に自動的に再接続するようにアプリケーションを設定してください。ほとんどの MongoDB ドライバーは、デフォルトで自動再接続をサポートしています。

本番環境向け:接続文字列 URI を使用してインスタンスに接続してください。これにより、プライマリが切り替わった場合でも、アプリケーションは正常なノードに自動的にフェイルオーバーし、読み書き操作を利用可能な状態に保つことができます。詳細については、「レプリカセットインスタンスへの接続」または「シャードクラスターインスタンスへの接続」をご参照ください。