リモートクラスター設定
以下の設定は、スニッフモードとプロキシモードの両方に適用されます。スニッフモードおよびプロキシモードに特有の設定は別途説明します。
cluster.remote.<cluster_alias>.mode
- リモートクラスター接続に使用されるモード。サポートされているモードは
sniff
とproxy
のみです。デフォルトはsniff
です。これらのモードに関する詳細は接続モードを参照し、スニッフモードリモートクラスター設定およびプロキシモードリモートクラスター設定で設定に関する詳細を確認してください。 cluster.remote.initial_connect_timeout
- ノードが起動したときにリモート接続が確立されるまでの待機時間。デフォルトは
30s
です。 remote_cluster_client
役割- デフォルトでは、クラスター内の任意のノードがクロスクラスタークライアントとして機能し、リモートクラスターに接続できます。ノードがリモートクラスターに接続するのを防ぐには、
elasticsearch.yml
でnode.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
- 特定のリモートクラスターへのリクエストの圧縮を構成できるクラスターごとの設定です。処理クラスターは、圧縮リクエストに対して自動的に応答を圧縮します。設定オプションは
true
、indexing_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.attr
がgateway
に設定されている場合、この属性を持つノードのみが接続されます。
プロキシモードリモートクラスター設定
リモートクラスターに接続するためにプロキシモードを使用するには、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トランスポートはリモート接続を開くことに失敗します。