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

Elasticsearch:CCR を使用したクラスター間データレプリケーション

最終更新日:Apr 03, 2026

クロスクラスターレプリケーション (CCR) は、リーダークラスターからフォロワークラスターへインデックスデータをほぼリアルタイムでレプリケーションします。これにより、リモートディザスタリカバリ、読み書き分離、およびローカルアクセスが実現されます。本トピックでは、Elasticsearch 向けの一般的なディザスタリカバリソリューションを比較し、CCR の仕組みを説明することで、適切なソリューションの選定を支援します。

CCR の仕組み

基本アーキテクチャ

CCR はアクティブ・パッシブアーキテクチャを採用しています。リーダークラスターがすべての書き込み操作を処理し、読み取り専用のフォロワークラスターがリーダークラスターからデータをレプリケーションします。

  • リーダークラスター:すべての書き込み操作を受け付けるソースクラスターです。

  • フォロワークラスター:読み取り専用であり、リーダークラスターからデータをレプリケーションする送信先クラスターです。

データレプリケーションプロセス

CCR のデータレプリケーションは、以下の 2 つのフェーズで構成されます:

初期化フェーズ

フォロワークラスターがリーダークラスターに初期化リクエストを送信します。その後、リーダークラスターはスナップショット回復と同様のプロセスで、インデックスのすべての Lucene セグメントファイルをフォロワーインデックスへ転送します。

増分同期フェーズ

デフォルトでは、フォロワーインデックスのシャードが 1 秒ごとにリーダークラスターへプルリクエストを送信し、前回の同期ポイント以降の最新操作をフェッチします。そのプロセスは以下のとおりです:

  1. プルリクエストの開始位置の決定:フォロワークラスターは、ローカルで remote_checkpoint を管理しており、これはローカルインデックスへ正常に適用された最新操作の位置を示します。この値は、リーダークラスターのトランザクションログ (Translog) 内の global_checkpoint に対応します。

  2. リーダーの Translog からの操作の読み取り:リーダークラスターは、フォロワークラスターから提供された from_seq_no を使用して Translog 内の開始位置を特定し、その後のすべての操作(インデックス登録、更新、削除など)を読み取り、これらの操作のリストを返します。

  3. フォロワークラスターでの操作の再生:フォロワークラスターは、これらの操作を順次再生し、remote_checkpoint を更新します。再生に失敗した場合(例:バージョンコンフリクト発生時)、同期は一時停止され、エラーがログに記録されます。

  4. 継続的なポーリング:フォロワークラスターは固定間隔で新しい操作を継続的にポーリングし、通常は 1 秒未満の遅延を実現します。

Translog のコア役割

トランザクションログ (Translog) は、CCR における増分同期のデータソースです。Elasticsearch において、Translog は以下の目的で使用されます:

  • データ損失の防止:Translog はすべての書き込み操作を記録し、ノードがクラッシュした場合でもログの再生によってデータを回復できます。

  • レプリカの一貫性保証:書き込み操作は、まず Translog に書き込まれ、その後レプリカシャードへ転送されます。プライマリシャードおよびレプリカシャードの両方が書き込みを承認した場合にのみ、操作は成功とみなされます。

  • CCR 増分同期のサポート:CCR は Elasticsearch の内部 Translog API を使用して操作ログを読み取り、指定されたシーケンス番号以降のすべての変更を取得し、ほぼリアルタイムのデータレプリケーションを実現します。

Translog は各シャードごとに個別に保存されます。各シャードには、indices/{index_uuid}/{shard_id}/translog/ に配置される独自の Translog ディレクトリがあります。Translog ファイル (.tlog) はバイナリ形式で保存され、世代管理メカニズムによって制御されます。フラッシュが実行されるか、またはファイルサイズがデフォルト値である 512 MB に達すると、新しい世代のファイルが作成されます。

Alibaba Cloud Elasticsearch 向け CCR ネットワークソリューション

Alibaba Cloud Elasticsearch インスタンスは、ユーザー VPC ではなく、独立した管理用 VPC にデプロイされます。たとえ 2 つのクラスターが同一リージョン内に存在する場合や、CEN を使用して跨リージョンでユーザー VPC を接続している場合であっても、それらはプライベートネットワーク上で直接通信できません。そのため、管理用 VPC 間を接続するには、NLB および PrivateLink を使用する必要があります。

クラスターが同一リージョン内にあるかどうかに応じて、該当するドキュメントをご参照ください。

シナリオ

説明

ドキュメント

同一リージョン

リーダークラスターおよびフォロワークラスターが同一リージョン内にあります。管理用 VPC 間を接続するために NLB および PrivateLink を使用します。

Alibaba Cloud Elasticsearch における同一リージョン内でのデータレプリケーション

跨リージョン

リーダークラスターおよびフォロワークラスターが異なるリージョン内にあります。まず CEN を使用してユーザー VPC を接続し、その後 NLB および PrivateLink を使用して管理用 VPC 間を接続する必要があります。

Alibaba Cloud Elasticsearch における跨リージョンでのデータレプリケーション

制限事項

  • 両方のクラスターは、クラウドネイティブ新管理 (v3) モードを使用している必要があります。v1 または v2 アーキテクチャを使用しているクラスターがある場合は、事前にアップグレードする必要があります。詳細については、「インスタンスのアーキテクチャのアップグレード」をご参照ください。

    Alibaba Cloud Elasticsearch クラスターのアーキテクチャバージョンを確認するには、Elasticsearch コンソール にログインします。インスタンスの 基本情報 ページで、デプロイコントロールモード を確認してください。表示されるモードは、クラウドネイティブの新しいコントロール (v3) または 基本コントロール (v2) のいずれかです。

  • 両方のクラスターは Elasticsearch 7.10.0 以降を実行している必要があります。フォロワークラスターのバージョンは、リーダークラスターのバージョンと同じか、それより新しい必要があります。

  • リーダーインデックスのマッピングおよびシャード数は、フォロワーインデックスと一致している必要があります。フォロワーインデックスのシャード数は変更できません。