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

ApsaraDB for MongoDB:読み取り専用ノード

最終更新日:Jul 18, 2026

ApsaraDB for MongoDB の読み取り専用ノードは、独立した接続文字列 URI を持ち、別システムが直接接続して、プライマリノードとセカンダリノードからの読み取りトラフィックをオフロードできます。

読み取り負荷が高いシナリオでは、プライマリノードとセカンダリノードが読み取りリクエストにより過負荷になり、ご利用のサービスに影響を及ぼす可能性があります。読み取り専用ノードを 1 つ以上作成することで、大量の読み取りリクエストを処理し、アプリケーションのスループットを向上させることができます。

読み取り専用ノードのアーキテクチャ

只读节点结构图

読み取り専用ノードには以下の特徴があります。

  • 読み取り専用ノードは、oplog を使用して、プライマリノードまたはセカンダリノードからレイテンシが最も低いノードとデータを同期します。これにより、読み取り負荷が高いシナリオにおいて、プライマリノードおよびセカンダリノードの読み取り負荷を軽減できます。

  • 読み取り専用ノードは独立した接続文字列 URI を持ち、分析サーバーなどの分析アプリケーションが直接接続するのに適しています。読み取り専用ノードへの接続は、プライマリノードおよびセカンダリノードへの既存の接続に影響を与えません。

  • 読み取り専用ノードが 2 つ以上ある場合、ReadOnly ConnectionStringURI を使用して、読み取りリクエストの負荷分散を実現できます。

読み取り専用ノードとセカンダリノードの違い

ノード

共通点

相違点

ユースケース

読み取り専用ノード

  • システムまたはアプリケーションが接続文字列 URI を使用して読み取り専用ノードまたはセカンダリノードに接続すると、読み取り専用アクセス権限が付与されます。

  • 読み取り専用ノードおよびセカンダリノードはいずれも高可用性を提供します。ノードに障害が発生した場合、システムは自動的に正常なノードにフェイルオーバーします。自動フェイルオーバーが発生しない場合は、手動でスイッチオーバーを実行できます。この際、ノードの接続文字列 URI は変更されません。

    説明

    ノードロールの切り替え方法の詳細については、「ノードロールの切り替え」をご参照ください。

    ノードロールの切り替えがトリガーされると、最大 30 秒間の一時的な切断が発生する可能性があります。この操作はオフピーク時間帯に実行するか、アプリケーションに自動再接続メカニズムを実装することを推奨します。

  • 読み取り専用ノードはプライマリノードに選出されず、選出投票にも参加しません。

  • 読み取り専用ノードは独立した接続文字列 URI を持ち、別システムやアプリケーションが直接接続するのに適しています。読み取り専用ノードへの接続は、プライマリノードおよびセカンダリノードへの既存の接続に影響を与えません。

読み取り専用ノードが 2 つ以上ある場合、ReadOnly ConnectionStringURI を使用して読み取りリクエストの負荷分散を実現できます。これは、ビジネスインテリジェンス (BI) やビッグデータ分析など、大量のデータ読み取りが必要なシナリオに適しています。

セカンダリノード

  • プライマリノードに障害が発生した場合、セカンダリノードが新しいプライマリノードとして選出され、読み取りおよび書き込みリクエストを処理できます。

  • セカンダリノードは独立した接続文字列 URI を持ちますが、現在のプライマリノードに障害が発生した場合、新しいプライマリノードとして選出される可能性があります。この場合、このノードに接続しているシステムまたはアプリケーションが書き込み権限を取得する可能性があります。

プライマリノードおよびセカンダリノードの接続文字列 URI を使用して、読み書き分離を実現できます。これは、書き込みよりも読み取りが多い同時実行シナリオに適しており、ノード障害からサービスを保護しながらパフォーマンスをスケーリングできます。

メリット

  • 読み取り専用ノードの数をいつでも変更できるため、コストを効率的に管理できます。

  • 読み取り専用ノードは独立した接続文字列 URI を持ち、別システムやアプリケーションが直接接続するのに適しています。プライマリノードおよびセカンダリノードへの既存の接続に影響を与えません。

  • 読み取り専用ノードは、プライマリノードおよびセカンダリノードと同じ仕様を持ち、プライマリノードまたはセカンダリノードからレイテンシが最も低いノードと自動的にデータを同期するため、メンテナンスのオーバーヘッドがありません。

  • 読み取り専用ノードは読み取りリクエストのみを処理し、プライマリノードのリソースを消費しません。読み取り専用ノードの追加または削除は、プライマリノードおよびセカンダリノードのワークロードや接続に影響を与えません。

  • ApsaraDB for MongoDB は、レプリカセットインスタンス向けに、すべての読み取り専用ノードに接続するための統一アドレス (ReadOnly ConnectionStringURI) を提供します。読み取り専用ノードの数を増やすことで読み取りキャパシティをスケールアウトでき、アプリケーション側の変更は不要です。

    説明

    ReadOnly ConnectionStringURI の詳細については、「レプリカセットインスタンスの接続説明」をご参照ください。

制限事項

  • 読み取り専用ノードは、ApsaraDB for MongoDB のレプリカセットインスタンスおよびシャードクラスターインスタンスでのみサポートされます。

  • 読み取り専用ノードは読み取りリクエストのみを処理でき、プライマリノードの選出には参加しません。

  • レプリカセットインスタンスには、最大 5 つの読み取り専用ノードを追加できます。

  • シャードクラスターインスタンスの各シャードには、最大 5 つの読み取り専用ノードを追加できます。

  • データは、プライマリノードまたはセカンダリノードから読み取り専用ノードへ非同期でレプリケーションされます。通常、レプリケーション遅延はミリ秒単位ですが、プライマリノードの書き込み負荷が高くなると、遅延が数秒に達する可能性があります。

課金

読み取り専用ノードの料金は、親インスタンス(レプリカセットインスタンスまたはシャードクラスターインスタンス内のシャード)のシングルノードと同額です。

関連ドキュメント

  • インスタンス作成時に読み取り専用ノードの数を設定する場合:

  • 既存のインスタンスについて読み取り専用ノードの数を変更する場合:

    • レプリカセットインスタンスの構成変更

      • 従量課金インスタンスの場合、設定の変更 を選択します。

      • サブスクリプションインスタンスの場合、アップグレード設定 または Downgrade を選択します。

    • 1 つ以上のシャードの構成変更

      • 従量課金インスタンスの場合、設定の変更 を選択します。

      • サブスクリプションインスタンスの場合、単一のシャードを変更するには アップグレード設定 または Downgrade を選択します。複数のシャードを変更するには、一括アップグレード または 一括ダウングレード を選択します。