[DOCS] Add prerequisites for CCS (#81782)

* Adds a prerequisites section covering remote cluster config, node roles, and security.
* Moves existing content about remote cluster config to the prereqs.
* Updates the remote cluster docs to include information about eligible gateway nodes and tagging for gateway nodes.

Closes https://github.com/elastic/elasticsearch/issues/72001
This commit is contained in:
James Rodewig 2022-01-10 09:17:44 -05:00 committed by GitHub
parent 8765d2665b
commit 7142b47e69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 38 deletions

View file

@ -76,6 +76,7 @@ mode are described separately.
The number of gateway nodes to connect to for this remote cluster. The default The number of gateway nodes to connect to for this remote cluster. The default
is `3`. is `3`.
[[cluster-remote-node-attr]]
`cluster.remote.node.attr`:: `cluster.remote.node.attr`::
A node attribute to filter out nodes that are eligible as a gateway node in A node attribute to filter out nodes that are eligible as a gateway node in

View file

@ -68,10 +68,12 @@ local and remote nodes.
include::remote-clusters-shared.asciidoc[tag=remote-cluster-compatibility-matrix] include::remote-clusters-shared.asciidoc[tag=remote-cluster-compatibility-matrix]
==== ====
* *role*: Dedicated master nodes are never selected as gateway nodes. * *role*: By default, any non-<<master-node,master-eligible>> node can act as a
* *attributes*: You can tag which nodes should be selected gateway node. Dedicated master nodes are never selected as gateway nodes.
(see <<remote-clusters-settings,remote cluster settings>>), though such tagged nodes still have
to satisfy the two above requirements. * *attributes*: You can define the gateway nodes for a cluster by setting
<<cluster-remote-node-attr,`cluster.remote.node.attr.gateway`>> to `true`.
However, such nodes still have to satisfy the two above requirements.
[[proxy-mode]] [[proxy-mode]]
[discrete] [discrete]

View file

@ -5,8 +5,6 @@
clusters. For example, you can use a {ccs} to filter and analyze log data stored clusters. For example, you can use a {ccs} to filter and analyze log data stored
on clusters in different data centers. on clusters in different data centers.
IMPORTANT: {ccs-cap} requires <<remote-clusters,remote clusters>>.
[discrete] [discrete]
[[ccs-supported-apis]] [[ccs-supported-apis]]
=== Supported APIs === Supported APIs
@ -23,6 +21,37 @@ The following APIs support {ccs}:
* experimental:[] <<sql-search-api,SQL search>> * experimental:[] <<sql-search-api,SQL search>>
* experimental:[] <<search-vector-tile-api,Vector tile search>> * experimental:[] <<search-vector-tile-api,Vector tile search>>
[discrete]
[[ccs-prereqs]]
=== Prerequisites
* {ccs-cap} requires remote clusters. To set up remote clusters on {ess},
see link:{cloud}/ec-enable-ccs.html[configure remote clusters on {ess}]. If you
run {es} on your own hardware, see <<remote-clusters>>.
+
To ensure your remote cluster configuration supports {ccs}, see
<<ccs-supported-configurations>>.
* The local coordinating node must have the
<<remote-node,`remote_cluster_client`>> node role.
[[ccs-gateway-seed-nodes]]
* If you use <<sniff-mode,sniff mode>>, the local coordinating node
must be able to connect to seed and gateway nodes on the remote cluster.
+
We recommend using gateway nodes capable of serving as coordinating nodes.
The seed nodes can be a subset of these gateway nodes.
[[ccs-proxy-mode]]
* If you use <<proxy-mode,proxy mode>>, the local coordinating node must be able
to connect to the configured `proxy_address`. The proxy at this address must be
able to route connections to gateway and coordinating nodes on the remote
cluster.
* {ccs-cap} requires different security privileges on the local cluster and
remote cluster. See <<remote-clusters-privileges-ccs>> and
<<clusters-privileges-ccs-kibana>>.
[discrete] [discrete]
[[ccs-example]] [[ccs-example]]
=== {ccs-cap} examples === {ccs-cap} examples
@ -31,15 +60,8 @@ The following APIs support {ccs}:
[[ccs-remote-cluster-setup]] [[ccs-remote-cluster-setup]]
==== Remote cluster setup ==== Remote cluster setup
To perform a {ccs}, you must have at least one
<<remote-clusters-connect,remote cluster configured>>.
TIP: If you want to search across clusters in the cloud, you can
link:{cloud}/ec-enable-ccs.html[configure remote clusters on {ess}]. Then, you
can search across clusters and <<ccr-getting-started-tutorial,set up {ccr}>>.
The following <<cluster-update-settings,cluster update settings>> API request The following <<cluster-update-settings,cluster update settings>> API request
adds three remote clusters:`cluster_one`, `cluster_two`, and `cluster_three`. adds three remote clusters: `cluster_one`, `cluster_two`, and `cluster_three`.
[source,console] [source,console]
-------------------------------- --------------------------------
@ -75,6 +97,9 @@ PUT _cluster/settings
[[ccs-search-remote-cluster]] [[ccs-search-remote-cluster]]
==== Search a single remote cluster ==== Search a single remote cluster
In the search request, you specify data streams and indices on a remote cluster
as `<remote_cluster_name>:<target>``.
The following <<search-search,search>> API request searches the The following <<search-search,search>> API request searches the
`my-index-000001` index on a single remote cluster, `cluster_one`. `my-index-000001` index on a single remote cluster, `cluster_one`.
@ -288,30 +313,6 @@ PUT _cluster/settings
If `cluster_two` is disconnected or unavailable during a {ccs}, {es} won't If `cluster_two` is disconnected or unavailable during a {ccs}, {es} won't
include matching documents from that cluster in the final results. include matching documents from that cluster in the final results.
[discrete]
[[ccs-gateway-seed-nodes]]
=== Selecting gateway and seed nodes in sniff mode
For remote clusters using the <<sniff-mode,sniff connection>> mode, gateway and
seed nodes need to be accessible from the local cluster via your network.
By default, any non-<<master-node,master-eligible>> node can act as a
gateway node. If wanted, you can define the gateway nodes for a cluster by
setting `cluster.remote.node.attr.gateway` to `true`.
For {ccs}, we recommend you use gateway nodes that are capable of serving as
<<coordinating-node,coordinating nodes>> for search requests. If
wanted, the seed nodes for a cluster can be a subset of these gateway nodes.
[discrete]
[[ccs-proxy-mode]]
=== {ccs-cap} in proxy mode
<<proxy-mode,Proxy mode>> remote cluster connections support {ccs}. All remote
connections connect to the configured `proxy_address`. Any desired connection
routing to gateway or <<coordinating-node,coordinating nodes>> must
be implemented by the intermediate proxy at this configured address.
[discrete] [discrete]
[[ccs-network-delays]] [[ccs-network-delays]]
=== How {ccs} handles network delays === How {ccs} handles network delays