OpenSearchによるOCI検索でのクロス・クラスタ接続

OpenSearchを使用したOCI Searchでのクラスタ間接続について学習します。

クラスタ間接続を使用して、複数のOpenSearchクラスタ間でデータを検索および分析できるため、分散データ・ソースからインサイトを取得できます。データが単一ソースからのものであるかのように、クラスタ間検索などの操作を実行します。

セキュリティ・プラグインでは、クラスタ間接続はデフォルトで使用できますが、他のクラスタからのリモート接続を許可するように各クラスタを構成する必要があります。これには、クラスタ接続の設定とアクセス権限の構成が含まれます。

OCI SearchでOpenSearchを使用してクラスタ間接続を構成する場合、アウトバウンド・クラスタは、他のクラスタに接続するクラスタです。インバウンド・クラスタは、アウトバウンド・クラスタから接続されているクラスタです。次の表に、OCI SearchとOpenSearchの用語を、クラスタ間検索およびクラスタ間レプリケーションOpenSearchで使用される用語にマップします。

OpenSearch用語を使用したOCI検索

OpenSearchクラスタ間検索条件

OpenSearchクラスタ間レプリケーション条件

アウトバウンド・クラスタ クラスタの調整 リーダー・クラスタ/索引
インバウンド・クラスタ リモートクラスタ フォロワ・クラスタ/索引

前提条件

クラスタ間操作を実行するユーザーには、インバウンド・クラスタとアウトバウンド・クラスタの両方に対する権限が必要です。必要な特定のクラスタ権限については、クラスタ間検索の実行およびクラスタ間レプリケーションの実行を参照してください。

OpenSearchを使用した検索に必要なIAMポリシーおよび権限の詳細の詳細は、OpenSearch IAMポリシーを使用した検索を参照してください。

クロス・クラスタ接続は、OpenSearch 2.15以降を使用するクラスタのOpenSearchを使用したOCI Searchでのみサポートされます。これは、アウトバウンド・クラスタとインバウンド・クラスタの両方に適用されます。

制限および考慮事項

  • クラスタ間接続では、テナンシ当たり最大5つのクラスタを構成できます。
  • クラスタは、同じOpenSearchバージョンまたは1バージョン未満の他のクラスタに接続できます。
  • クラスタ間接続は、同じOC1リージョン内のクラスタ、またはOC1レルム内のすべてのリージョンでサポートされます。

クラスタ間接続の構成

クラスタのクラスタ間接続の操作については、次のトピックを参照してください。

クロス・クラスタ検索の実行

クラスタ間検索を実行するユーザーには、アウトバウンド・クラスタとインバウンド・クラスタの両方を問い合せるためのOpenSearch権限が必要です。

次に、クラスタ間検索問合せの例を示します。

curl -X GET "https://<outbound_cluster_opensearch_private_IP>:9200/<inbound_cluster_alias>:<index_name>/_search?q=title:Kubernetes&pretty"

詳細は、クラスタ間検索を参照してください。

クラスタ間レプリケーションの実行

クラスタ間レプリケーションでは、あるOpenSearchクラスタ(アウトバウンド・クラスタ)から別のOpenSearchクラスタ(インバウンド・クラスタ)に索引、マッピングおよびメタデータをレプリケートします。アウトバウンド・クラスタでの後続のすべての操作は、ドキュメントの作成、更新、削除など、インバウンド・クラスタでレプリケートされます。次のシナリオでは、クラスタ間レプリケーションを使用します。

  • プライマリ・クラスタに障害が発生した場合にスイッチできるバックアップ・クラスタを維持するため。
  • 地理的に分散したリージョンのユーザーにより近いデータを保持することで、問合せのパフォーマンスを高速化します。
  • 問合せおよび索引付けのロードを複数のクラスタに分散します。

クラスタ間レプリケーションのパフォーマンスには、次の影響があります。

  • アウトバウンド・クラスタとインバウンド・クラスタ間のネットワーク・レイテンシ。
  • アウトバウンド索引に対する更新のサイズと頻度。
  • アウトバウンド・クラスタとインバウンド・クラスタの両方のリソース可用性。

権限

クラスタ間レプリケーションを有効にするには、アウトバウンド・クラスタとインバウンド・クラスタの両方に対するレプリケーションおよび索引レベルの権限に対するクラスタレベルの権限が必要です。詳細は、リーダーおよびフォロワ・クラスタのロールのマップを参照してください。

レプリケーション操作

次の表に、実行できるレプリケーション操作を示します。詳細は、クラスタ間レプリケーションAPIを参照してください。

操作

内容

リクエスト

レプリケーションの開始 アウトバウンド・クラスタからインバウンド・クラスタへの索引のレプリケーションを開始します。
PUT /_plugins/_replication/<inbound_cluster_index>/_start
レプリケーションの停止 レプリケーションを終了し、インバウンド索引を標準索引に変換します。
POST /_plugins/_replication/<inbound_cluster_index>/_stop
レプリケーションを一時停止します アウトバウンド索引のレプリケーションを一時停止します。
POST /_plugins/_replication/<inbound_cluster_index>/_pause
レプリケーションを再開します アウトバウンド索引のレプリケーションを再開します。
POST /_plugins/_replication/<inbound_cluster_index>/_resume
レプリケーション・ステータスの取得

索引レプリケーションのステータスを取得します。可能なステータスは、SYNCINGBOOTSTRAPINGPAUSEDおよびREPLICATION NOT IN PROGRESSです。

同期の詳細を使用して、レプリケーション・ラグを測定します。

GET /_plugins/_replication/<inbound_cluster_index>/_status
リーダー・クラスタ統計の取得 指定されたクラスタでレプリケートされたアウトバウンド索引に関する情報を取得します。
GET /_plugins/_replication/leader_stats
フォロワ・クラスタ統計の取得 指定されたクラスタのインバウンド索引に関する情報を取得します。
GET /_plugins/_replication/follower_stats
自動フォロー統計を取得 自動フォロー・アクティビティおよび指定したクラスタで構成されているレプリケーション・ルールに関する情報を取得します。
GET /_plugins/_replication/autofollow_stats
設定を更新 インバウンド索引の設定を更新します。
PUT /_plugins/_replication/<inbound_cluster_index>/_update
レプリケーション・ルールの作成 指定されたパターンに一致する索引のレプリケーションを自動的に開始します。アウトバウンド・クラスタの新しい索引がパターンと一致する場合、OpenSearchはインバウンド索引を自動的に作成し、レプリケーションを開始します。このAPIを使用して、既存のレプリケーション・ルールを更新することもできます。
POST /_plugins/_replication/_autofollow
レプリケーション・ルールの削除 指定されたレプリケーション・ルールを削除します。この操作により、新しい索引はレプリケートされませんが、ルールに基づいてすでに起動されている既存のレプリケーションは停止されません。レプリケーションを停止するまで、レプリケートされた索引は読取り専用です。
DELETE /_plugins/_replication/_autofollow