リモートクラスター設定

以下の設定は、スニッフモードプロキシモードの両方に適用されます。スニッフモードおよびプロキシモードに特有の設定は別途説明します。

  • cluster.remote.<cluster_alias>.mode
  • リモートクラスター接続に使用されるモード。サポートされているモードはsniffproxyのみです。デフォルトはsniffです。これらのモードに関する詳細は接続モードを参照し、スニッフモードリモートクラスター設定およびプロキシモードリモートクラスター設定で設定に関する詳細を確認してください。
  • cluster.remote.initial_connect_timeout
  • ノードが起動したときにリモート接続が確立されるまでの待機時間。デフォルトは30sです。
  • remote_cluster_client 役割
  • デフォルトでは、クラスター内の任意のノードがクロスクラスタークライアントとして機能し、リモートクラスターに接続できます。ノードがリモートクラスターに接続するのを防ぐには、elasticsearch.ymlnode.roles設定を指定し、remote_cluster_clientをリストされた役割から除外します。リモートクラスターをターゲットとする検索リクエストは、クロスクラスタークライアントとして機能することが許可されたノードに送信する必要があります。機械学習の他の機能、データフィード変換、およびクロスクラスター複製remote_cluster_client役割を必要とします。
  • cluster.remote.<cluster_alias>.skip_unavailable
  • 特定のクラスターが利用可能なノードを持たない場合に、リモートクラスターリクエストのターゲットとしてスキップできるようにする、クラスターごとのブール設定です。

Elasticsearch 8.15では、skip_unavailableのデフォルト値がfalseからtrueに変更されました。Elasticsearch 8.15以前では、クロスクラスター検索のためにクラスターをオプションとして扱うには、その設定を行う必要がありました。Elasticsearch 8.15以降は、クロスクラスター検索に必要なクラスターを作成するために設定を行う必要があります。ローカル(”クエリ中”)クラスター検索コーディネーターノード(CCSリクエストを送信するノード)を8.15以降にアップグレードすると、skip_unavailableに対する明示的な設定がないリモートクラスターはすぐに新しいデフォルトのtrueを使用するように変更されます。これは、リモートクラスターを8.15にアップグレードしたかどうかに関係なく、skip_unavailable検索動作は、リモートを構成するローカルクラスターの設定によって完全に決定されます。

  • cluster.remote.<cluster_alias>.transport.ping_schedule
  • リモートクラスター接続を維持するために送信される定期的なアプリケーションレベルのpingメッセージ間の時間間隔を設定します。-1に設定されている場合、このリモートクラスターへのアプリケーションレベルのpingメッセージは送信されません。設定されていない場合、アプリケーションレベルのpingメッセージはグローバルtransport.ping_schedule設定に従って送信され、デフォルトは-1であり、pingは送信されません。TCP keep-alivesを設定する代わりに、正しくTCP keep-alivesを構成することが望ましいです。なぜなら、TCP keep-alivesはオペレーティングシステムによって処理され、Elasticsearchによって処理されないからです。デフォルトでは、Elasticsearchはリモートクラスター接続でTCP keep-alivesを有効にします。リモートクラスター接続はトランスポート接続であるため、transport.tcp.* 高度な設定はそれらに適用されます。
  • cluster.remote.<cluster_alias>.transport.compress
  • 特定のリモートクラスターへのリクエストの圧縮を構成できるクラスターごとの設定です。処理クラスターは、圧縮リクエストに対して自動的に応答を圧縮します。設定オプションはtrueindexing_data、およびfalseです。設定されていない場合、ノード全体のtransport.compress設定によって指定された動作がデフォルトとなります。詳細については、transport.compress設定のドキュメントを参照してください。
  • cluster.remote.<cluster_alias>.transport.compression_scheme
  • cluster.remote.<cluster_alias>.transport.compress設定によって圧縮されることが選択された場合、特定のクラスターへのリクエストの圧縮スキームを構成できるクラスターごとの設定です。処理クラスターは、対応するリクエストと同じ圧縮スキームを自動的に応答に使用します。設定オプションはdeflateおよびlz4です。設定されていない場合、ノード全体のtransport.compression_scheme設定によって指定された動作がデフォルトとなります。詳細については、transport.compression_scheme設定のドキュメントを参照してください。

  • cluster.remote.<cluster_alias>.credentials
  • (セキュアリロード可能) リモートクラスターをAPIキーに基づくモデルで構成するためのクラスターごとの設定です。この設定は、クロスクラスターAPIキーのエンコードされた値を取り、クラスター内の各ノードのElasticsearchキーストアに設定する必要があります。この設定の存在(または不在)は、リモートクラスターが使用するモデルを決定します。存在する場合、リモートクラスターはAPIキーに基づくモデルを使用します。そうでない場合、証明書ベースのモデルを使用します。設定がElasticsearchキーストアに追加、削除、または更新され、ノードのリロードセキュア設定APIを介してリロードされると、クラスターはリモートへの接続を自動的に再構築します。

スニッフモードリモートクラスター設定

リモートクラスターに接続するためにスニッフモードを使用するには、cluster.remote.<cluster_alias>.mode: sniffを設定し、次に以下の設定を構成します。cluster.remote.<cluster_alias>.modeを設定しないままにしておくこともできます。sniffがデフォルトモードです。

  • cluster.remote.<cluster_alias>.seeds
  • リモートクラスターの状態をスニッフするために使用されるシードノードのリスト。
  • cluster.remote.<cluster_alias>.node_connections
  • このリモートクラスターに接続するためのゲートウェイノードの数。デフォルトは3です。

  • cluster.remote.node.attr
  • リモートクラスター内のゲートウェイノードとして適格なノードをフィルタリングするためのノード属性。たとえば、ノードはnode.attr.gateway: trueというノード属性を持つことができ、cluster.remote.node.attrgatewayに設定されている場合、この属性を持つノードのみが接続されます。

プロキシモードリモートクラスター設定

リモートクラスターに接続するためにプロキシモードを使用するには、cluster.remote.<cluster_alias>.mode: proxyを設定し、次に以下の設定を構成します。

  • cluster.remote.<cluster_alias>.proxy_address
  • すべてのリモート接続に使用されるアドレス。
  • cluster.remote.<cluster_alias>.proxy_socket_connections
  • リモートクラスターごとに開くソケット接続の数。デフォルトは18です。

  • cluster.remote.<cluster_alias>.server_name

  • TLSが有効な場合、TLSサーバー名指示拡張のserver_nameフィールドに送信されるオプションのホスト名文字列。このフィールドがTLS SNI仕様で定義された有効なホスト名でない場合、TLSトランスポートはリモート接続を開くことに失敗します。