From 0a3ba27d2730fd2de189e42b199eb6a26c804ab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edu=20Gonz=C3=A1lez=20de=20la=20Herr=C3=A1n?= <25320357+eedugon@users.noreply.github.com> Date: Tue, 7 Oct 2025 09:00:23 +0200 Subject: [PATCH 1/7] ipv6 support for remote addresses added --- .../_snippets/rcs-kibana-api-snippet-self.md | 30 +++++++++++++++++ .../ec-remote-cluster-self-managed.md | 24 ++------------ .../ece-remote-cluster-self-managed.md | 33 +++---------------- .../remote-clusters-api-key.md | 13 +++++--- .../remote-clusters/remote-clusters-cert.md | 9 +++-- 5 files changed, 52 insertions(+), 57 deletions(-) create mode 100644 deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md diff --git a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md new file mode 100644 index 0000000000..07ce24b395 --- /dev/null +++ b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md @@ -0,0 +1,30 @@ + +% EC - SELF / ECE - SELF +1. Open the {{kib}} main menu, and select **Stack Management > Data > Remote Clusters > Add a remote cluster**. +2. In **Select connection type**, choose the authentication mechanism you prepared earlier (**API keys** or **Certificates**), and click **Next**. + +3. In **Add connection information**, fill in the following fields: + + * **Remote cluster name**: This *cluster alias* is a unique identifier that represents the connection to the remote cluster and is used to distinguish local and remote indices. + + When using API key authentication, this alias must match the **Remote cluster name** you configured when adding the API key in the Cloud UI. + * **Remote address**: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. + + ::::{tip} + Use the correct port for your authentication method: + * **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`). + * **TLS Certificates**: Use the {{es}} transport port (defaults to `9300`). + :::: + + * **Configure advanced options** (optional): Expand this section if you need to customize additional settings. + * **TLS server name**: Specify a value if the certificate presented by the remote cluster is signed for a different name than the remote address. + * **Socket connections**: Define the number of connections to open with the remote cluster. + + For a full list of available client connection settings, refer to [remote cluster settings reference](elasticsearch://reference/elasticsearch/configuration-reference/remote-clusters.md#remote-cluster-proxy-settings). + +4. Click **Next**. +5. In **Confirm setup**, click **Add remote cluster** (you have already established trust in a previous step). diff --git a/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md b/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md index ba88126f11..0a98acd8aa 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md @@ -221,28 +221,8 @@ On the local cluster, add the remote cluster using {{kib}} or the {{es}} API. ### Using {{kib}} [ec_using_kibana_4] -1. Open the {{kib}} main menu, and select **Stack Management > Data > Remote Clusters > Add a remote cluster**. -2. Enable **Manually enter proxy address and server name**. -3. Fill in the following fields: - - * **Name**: This *cluster alias* is a unique identifier that represents the connection to the remote cluster and is used to distinguish local and remote indices. - - When using API key authentication, this alias must match the **Remote cluster name** you configured when adding the API key in the Cloud UI. - * **Proxy address**: This value can be found on the **Security** page of the {{ech}} deployment you want to use as a remote.
- - ::::{tip} - If you’re using API keys as security model, change the port to `9443`. - :::: - - * **Server name**: This value can be found on the **Security** page of the {{ech}} deployment you want to use as a remote. - - ::::{note} - If you’re having issues establishing the connection and the remote cluster is part of an {{ece}} environment with a private certificate, make sure that the proxy address and server name match with the the certificate information. For more information, refer to [Administering endpoints in {{ece}}](/deploy-manage/deploy/cloud-enterprise/change-endpoint-urls.md). - :::: - -4. Click **Next**. -5. Click **Add remote cluster** (you have already established trust in a previous step). - +:::{include} _snippets/rcs-kibana-api-snippet-self.md +::: ### Using the {{es}} API [ec_using_the_elasticsearch_api_4] diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md b/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md index cca11e1893..be55db8ba7 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md @@ -220,39 +220,14 @@ On the local cluster, add the remote cluster using {{kib}} or the {{es}} API. ### Using {{kib}} [ece_using_kibana_4] -1. Open the {{kib}} main menu, and select **Stack Management > Data > Remote Clusters > Add a remote cluster**. -2. Enable **Manually enter proxy address and server name**. -3. Fill in the following fields: - - * **Name**: This *cluster alias* is a unique identifier that represents the connection to the remote cluster and is used to distinguish local and remote indices. - - When using API key authentication, this alias must match the **Remote cluster name** you configured when adding the API key in the Cloud UI. - * **Proxy address**: This value can be found on the **Security** page of the {{ece}} deployment you want to use as a remote.
- - ::::{tip} - If you’re using API keys as security model, change the port into `9443`. - :::: - - * **Server name**: This value can be found on the **Security** page of the {{ece}} deployment you want to use as a remote. - - :::{image} /deploy-manage/images/cloud-enterprise-ce-copy-remote-cluster-parameters.png - :alt: Remote Cluster Parameters in Deployment - :screenshot: - ::: - - ::::{note} - If you’re having issues establishing the connection and the remote cluster is part of an {{ece}} environment with a private certificate, make sure that the proxy address and server name match with the the certificate information. For more information, refer to [Administering endpoints in {{ece}}](/deploy-manage/deploy/cloud-enterprise/change-endpoint-urls.md). - :::: - -4. Click **Next**. -5. Click **Add remote cluster** (you have already established trust in a previous step). +:::{include} _snippets/rcs-kibana-api-snippet-self.md +::: +% ECE locals only ::::{note} -This configuration of remote clusters uses the [Proxy mode](/deploy-manage/remote-clusters/remote-clusters-self-managed.md#proxy-mode) and it requires that the allocators can communicate via http with the proxies. +This configuration of remote clusters uses the [Proxy mode](/deploy-manage/remote-clusters/remote-clusters-self-managed.md#proxy-mode) and requires the ECE allocators to be able to connect to the remote address endpoint. :::: - - ### Using the {{es}} API [ece_using_the_elasticsearch_api_4] To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: diff --git a/deploy-manage/remote-clusters/remote-clusters-api-key.md b/deploy-manage/remote-clusters/remote-clusters-api-key.md index 9144ec25ad..3f90621c1b 100644 --- a/deploy-manage/remote-clusters/remote-clusters-api-key.md +++ b/deploy-manage/remote-clusters/remote-clusters-api-key.md @@ -148,21 +148,26 @@ If a remote cluster is part of an {{ech}} (ECH) deployment, the remote cluster s You must have the `manage` cluster privilege to connect remote clusters. :::: - The local cluster uses the [remote cluster interface](elasticsearch://reference/elasticsearch/configuration-reference/networking-settings.md) to establish communication with remote clusters. The coordinating nodes in the local cluster establish [long-lived](elasticsearch://reference/elasticsearch/configuration-reference/networking-settings.md#long-lived-connections) TCP connections with specific nodes in the remote cluster. {{es}} requires these connections to remain open, even if the connections are idle for an extended period. +### Using {{kib}} + To add a remote cluster from Stack Management in {{kib}}: 1. Select **Remote Clusters** from the side navigation. 2. Enter a name (*cluster alias*) for the remote cluster. -3. Specify the {{es}} endpoint URL, or the IP address or host name of the remote cluster followed by the remote cluster port (defaults to `9443`). For example, `cluster.es.eastus2.staging.azure.foundit.no:9443` or `192.168.1.1:9443`. +3. Specify the {{es}} endpoint URL, the IP address, or host name of the remote cluster, followed by the remote cluster port (defaults to `9443`). For example, `cluster.es.eastus2.staging.azure.foundit.no:9443` or `192.168.1.1:9443`. + + Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. + +### Using the {{es}} API + +Alternatively, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to add a remote cluster. You can also use this API to dynamically configure remote clusters for *every* node in the local cluster. To configure remote clusters on individual nodes in the local cluster, define static settings in [`elasticsearch.yml`](/deploy-manage/stack-settings.md) for each node. ::::{note} If the remote cluster is part of an {{ech}}, {{ece}}, or {{eck}} deployment, configure the connection to use `proxy`. The default `sniff` mode doesn't work in these environments. Refer to the [connection modes](/deploy-manage/remote-clusters/remote-clusters-self-managed.md#sniff-proxy-modes) description for more information. :::: -Alternatively, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to add a remote cluster. You can also use this API to dynamically configure remote clusters for *every* node in the local cluster. To configure remote clusters on individual nodes in the local cluster, define static settings in [`elasticsearch.yml`](/deploy-manage/stack-settings.md) for each node. - The following request adds a remote cluster with an alias of `cluster_one`. This *cluster alias* is a unique identifier that represents the connection to the remote cluster and is used to distinguish between local and remote indices. ```console diff --git a/deploy-manage/remote-clusters/remote-clusters-cert.md b/deploy-manage/remote-clusters/remote-clusters-cert.md index 53591dfe9e..d68f6c8b3e 100644 --- a/deploy-manage/remote-clusters/remote-clusters-cert.md +++ b/deploy-manage/remote-clusters/remote-clusters-cert.md @@ -58,14 +58,19 @@ Before using {{ccr}} or {{ccs}} with secured {{es}} clusters, complete the follo You must have the `manage` cluster privilege to connect remote clusters. :::: - The local cluster uses the [transport interface](elasticsearch://reference/elasticsearch/configuration-reference/networking-settings.md) to establish communication with remote clusters. The coordinating nodes in the local cluster establish [long-lived](elasticsearch://reference/elasticsearch/configuration-reference/networking-settings.md#long-lived-connections) TCP connections with specific nodes in the remote cluster. {{es}} requires these connections to remain open, even if the connections are idle for an extended period. +### Using {{kib}} + To add a remote cluster from Stack Management in {{kib}}: 1. Select **Remote Clusters** from the side navigation. 2. Enter a name (*cluster alias*) for the remote cluster. -3. Specify the {{es}} endpoint URL, or the IP address or host name of the remote cluster followed by the transport port (defaults to `9300`). For example, `cluster.es.eastus2.staging.azure.foundit.no:9300` or `192.168.1.1:9300`. +3. Specify the {{es}} endpoint URL, the IP address, or host name of the remote cluster followed by the transport port (defaults to `9300`). For example, `cluster.es.eastus2.staging.azure.foundit.no:9300` or `192.168.1.1:9300`. + + Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. + +### Using the {{es}} API Alternatively, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to add a remote cluster. You can also use this API to dynamically configure remote clusters for *every* node in the local cluster. To configure remote clusters on individual nodes in the local cluster, define static settings in [`elasticsearch.yml`](/deploy-manage/stack-settings.md) for each node. From 19566432bbafc1dfac9189f79eebefc9c5ebaa3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edu=20Gonz=C3=A1lez=20de=20la=20Herr=C3=A1n?= <25320357+eedugon@users.noreply.github.com> Date: Tue, 7 Oct 2025 09:12:22 +0200 Subject: [PATCH 2/7] ipv6 support for remote addresses added --- .../remote-clusters/_snippets/rcs-kibana-api-snippet-self.md | 1 - 1 file changed, 1 deletion(-) diff --git a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md index 07ce24b395..cc62c6ae14 100644 --- a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md +++ b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md @@ -3,7 +3,6 @@ This snippet is in use in the following locations: - ece-remote-cluster-self-managed.md - ec-remote-cluster-self-managed.md --> -% EC - SELF / ECE - SELF 1. Open the {{kib}} main menu, and select **Stack Management > Data > Remote Clusters > Add a remote cluster**. 2. In **Select connection type**, choose the authentication mechanism you prepared earlier (**API keys** or **Certificates**), and click **Next**. From f4a081fef2627f2222739559eeb8d7391ddb88ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edu=20Gonz=C3=A1lez=20de=20la=20Herr=C3=A1n?= <25320357+eedugon@users.noreply.github.com> Date: Tue, 7 Oct 2025 10:38:03 +0200 Subject: [PATCH 3/7] ipv6 syntax added and elasticsearch api method fixed --- .../rcs-elasticsearch-api-snippet-self.md | 42 +++++++++ .../_snippets/rcs-kibana-api-snippet-self.md | 6 +- .../ec-remote-cluster-self-managed.md | 79 +---------------- .../ece-remote-cluster-self-managed.md | 88 ++----------------- 4 files changed, 54 insertions(+), 161 deletions(-) create mode 100644 deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md diff --git a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md new file mode 100644 index 0000000000..ec336b0b4b --- /dev/null +++ b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md @@ -0,0 +1,42 @@ + +To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: + +* `mode`: `proxy` +* `proxy_address`: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. + + ::::{note} + Use the correct port for your authentication method: + * **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`). + * **TLS Certificates**: Use the {{es}} transport port (defaults to `9300`). + + When using an IPv6 address ({applies_to}`stack: ga 9.2`), enclose it in square brackets followed by the port number. For example: `[2001:db8::1]:9443`. + :::: + +* `server_name`: Specify a value if the certificate presented by the remote cluster is signed for a different name than the proxy_address. + +This is an example of the API call to `_cluster/settings`: + +```json +PUT /_cluster/settings +{ + "persistent": { + "cluster": { + "remote": { + "alias-for-my-remote-cluster": { + "mode":"proxy", + "proxy_address": "a542184a7a7d45b88b83f95392f450ab.192.168.44.10.ip.es.io:9300", + "server_name": "a542184a7a7d45b88b83f95392f450ab.192.168.44.10.ip.es.io" + } + } + } + } +} +``` + +::::{note} +When using API key authentication, the cluster alias must match the one you configured when adding the API key in the Cloud UI. +:::: \ No newline at end of file diff --git a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md index cc62c6ae14..8c74aeef87 100644 --- a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md +++ b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md @@ -13,10 +13,12 @@ This snippet is in use in the following locations: When using API key authentication, this alias must match the **Remote cluster name** you configured when adding the API key in the Cloud UI. * **Remote address**: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. - ::::{tip} + ::::{note} Use the correct port for your authentication method: * **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`). - * **TLS Certificates**: Use the {{es}} transport port (defaults to `9300`). + * **TLS Certificates**: Use the {{es}} transport port (defaults to `9300`). + + When using an IPv6 address ({applies_to}`stack: ga 9.2`), enclose it in square brackets followed by the port number. For example: `[2001:db8::1]:9443`. :::: * **Configure advanced options** (optional): Expand this section if you need to customize additional settings. diff --git a/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md b/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md index 0a98acd8aa..04c25ca90f 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md @@ -226,83 +226,8 @@ On the local cluster, add the remote cluster using {{kib}} or the {{es}} API. ### Using the {{es}} API [ec_using_the_elasticsearch_api_4] -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: - -* `mode`: `proxy` -* `proxy_address`: This value can be found on the **Security** page of the {{ech}} deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9400` using a semicolon. - - ::::{tip} - If you’re using API keys as security model, change the port into `9443`. - :::: - - -* `server_name`: This value can be found on the **Security** page of the {{ech}} deployment you want to use as a remote. Also, using the API, this can be obtained from the {{es}} resource info field `metadata.endpoint`. - -This is an example of the API call to `_cluster/settings`: - -```json -PUT /_cluster/settings -{ - "persistent": { - "cluster": { - "remote": { - "alias-for-my-remote-cluster": { - "mode":"proxy", - "proxy_address": "a542184a7a7d45b88b83f95392f450ab.192.168.44.10.ip.es.io:9400", - "server_name": "a542184a7a7d45b88b83f95392f450ab.192.168.44.10.ip.es.io" - } - } - } - } -} -``` - -::::{note} -When using API key authentication, the cluster alias must match the one you configured when adding the API key in the Cloud UI. -:::: - -### Using the {{ecloud}} RESTful API [ec_using_the_elasticsearch_service_restful_api_4] - -::::{note} -This section only applies if you’re using TLS certificates as cross-cluster security model and when both clusters belong to the same organization. For other scenarios, the [{{es}} API](#ec_using_the_elasticsearch_api_4) should be used instead. -:::: - - -```sh -curl -H 'Content-Type: application/json' -X PUT -H "Authorization: ApiKey $EC_API_KEY" https://api.elastic-cloud.com/api/v1/deployments/$DEPLOYMENT_ID/elasticsearch/$REF_ID/remote-clusters -d ' -{ - "resources" : [ - { - "deployment_id": "$DEPLOYMENT_ID_REMOTE", - "elasticsearch_ref_id": "$REF_ID_REMOTE", - "alias": "alias-your-remote", - "skip_unavailable" : true - } - ] -}' -``` - -`DEPLOYMENT_ID_REMOTE` -: The ID of your remote deployment, as shown in the Cloud UI or obtained through the API. - -`REF_ID_REMOTE` -: The unique ID of the {{es}} resources inside your remote deployment (you can obtain these values through the API). - -Note the following when using the {{ecloud}} RESTful API: - -1. A cluster alias must contain only letters, numbers, dashes (-), or underscores (_). -2. To learn about skipping disconnected clusters, refer to the [{{es}} documentation](/solutions/search/cross-cluster-search.md#skip-unavailable-clusters). -3. When remote clusters are already configured for a deployment, the `PUT` request replaces the existing configuration with the new configuration passed. Passing an empty array of resources will remove all remote clusters. - -The following API request retrieves the remote clusters configuration: - -```sh -curl -X GET -H "Authorization: ApiKey $EC_API_KEY" https://api.elastic-cloud.com/api/v1/deployments/$DEPLOYMENT_ID/elasticsearch/$REF_ID/remote-clusters -``` - -::::{note} -The response will include just the remote clusters from the same {{ecloud}} organization. In order to obtain the whole list of remote clusters, use {{kib}} or the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. -:::: +:::{include} _snippets/rcs-elasticsearch-api-snippet-self.md +::: ## Configure roles and users [ec_configure_roles_and_users_4] diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md b/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md index be55db8ba7..b8466f7292 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md @@ -217,96 +217,20 @@ You can now connect remotely to the trusted clusters. On the local cluster, add the remote cluster using {{kib}} or the {{es}} API. - -### Using {{kib}} [ece_using_kibana_4] - -:::{include} _snippets/rcs-kibana-api-snippet-self.md -::: - % ECE locals only ::::{note} This configuration of remote clusters uses the [Proxy mode](/deploy-manage/remote-clusters/remote-clusters-self-managed.md#proxy-mode) and requires the ECE allocators to be able to connect to the remote address endpoint. :::: -### Using the {{es}} API [ece_using_the_elasticsearch_api_4] - -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: - -* `mode`: `proxy` -* `proxy_address`: This value can be found on the **Security** page of the {{ece}} deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9300` using a semicolon. - - ::::{tip} - If you’re using API keys as security model, change the port into `9443`. - :::: - - -* `server_name`: This value can be found on the **Security** page of the {{ece}} deployment you want to use as a remote. Also, using the API, this can be obtained from the {{es}} resource info field `metadata.endpoint`. - -This is an example of the API call to `_cluster/settings`: - -```json -PUT /_cluster/settings -{ - "persistent": { - "cluster": { - "remote": { - "alias-for-my-remote-cluster": { - "mode":"proxy", - "proxy_address": "a542184a7a7d45b88b83f95392f450ab.192.168.44.10.ip.es.io:9300", - "server_name": "a542184a7a7d45b88b83f95392f450ab.192.168.44.10.ip.es.io" - } - } - } - } -} -``` - -::::{note} -When using API key authentication, the cluster alias must match the one you configured when adding the API key in the Cloud UI. -:::: - -### Using the {{ece}} RESTful API [ece_using_the_elastic_cloud_enterprise_restful_api_4] - -::::{note} -This section only applies if you’re using TLS certificates as cross-cluster security model and when both clusters belong to the same ECE environment. For other scenarios, the [{{es}} API](#ece_using_the_elasticsearch_api_4) should be used instead. -:::: - - -```sh -curl -k -H 'Content-Type: application/json' -X PUT -H "Authorization: ApiKey $ECE_API_KEY" https://$COORDINATOR_HOST:12443/api/v1/deployments/$DEPLOYMENT_ID/elasticsearch/$REF_ID/remote-clusters -d ' -{ - "resources" : [ - { - "deployment_id": "$DEPLOYMENT_ID_REMOTE", - "elasticsearch_ref_id": "$REF_ID_REMOTE", - "alias": "alias-your-remote", - "skip_unavailable" : true - } - ] -}' -``` - -`DEPLOYMENT_ID_REMOTE` -: The ID of your remote deployment, as shown in the Cloud UI or obtained through the API. - -`REF_ID_REMOTE` -: The unique ID of the {{es}} resources inside your remote deployment (you can obtain these values through the API). - -Note the following when using the {{ece}} RESTful API: - -1. A cluster alias must contain only letters, numbers, dashes (-), or underscores (_). -2. To learn about skipping disconnected clusters, refer to the [{{es}} documentation](/solutions/search/cross-cluster-search.md#skip-unavailable-clusters). -3. When remote clusters are already configured for a deployment, the `PUT` request replaces the existing configuration with the new configuration passed. Passing an empty array of resources will remove all remote clusters. +### Using {{kib}} [ece_using_kibana_4] -The following API request retrieves the remote clusters configuration: +:::{include} _snippets/rcs-kibana-api-snippet-self.md +::: -```sh -curl -k -X GET -H "Authorization: ApiKey $ECE_API_KEY" https://$COORDINATOR_HOST:12443/api/v1/deployments/$DEPLOYMENT_ID/elasticsearch/$REF_ID/remote-clusters -``` +### Using the {{es}} API [ece_using_the_elasticsearch_api_4] -::::{note} -The response includes just the remote clusters from the same ECE environment. In order to obtain the whole list of remote clusters, use {{kib}} or the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. -:::: +:::{include} _snippets/rcs-elasticsearch-api-snippet-self.md +::: ## Configure roles and users [ece_configure_roles_and_users_4] From 70bc48d58853fe8140bc202ad9c8dd278b73920a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edu=20Gonz=C3=A1lez=20de=20la=20Herr=C3=A1n?= <25320357+eedugon@users.noreply.github.com> Date: Tue, 7 Oct 2025 10:43:24 +0200 Subject: [PATCH 4/7] ipv6 syntax added and elasticsearch api method fixed --- .../_snippets/rcs-elasticsearch-api-snippet-self.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md index ec336b0b4b..bb6b27c847 100644 --- a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md +++ b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md @@ -3,7 +3,7 @@ This snippet is in use in the following locations: - ece-remote-cluster-self-managed.md - ec-remote-cluster-self-managed.md --> -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: +To configure a self-managed cluster as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` * `proxy_address`: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. From ca6ea73315b4b2b36df82b3cfe8ca8ee2dc1ff38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edu=20Gonz=C3=A1lez=20de=20la=20Herr=C3=A1n?= <25320357+eedugon@users.noreply.github.com> Date: Tue, 7 Oct 2025 11:40:57 +0200 Subject: [PATCH 5/7] note integrated into text --- .../_snippets/rcs-elasticsearch-api-snippet-self.md | 4 +--- .../remote-clusters/_snippets/rcs-kibana-api-snippet-self.md | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md index bb6b27c847..2d8a13cc76 100644 --- a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md +++ b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md @@ -8,13 +8,11 @@ To configure a self-managed cluster as a remote cluster, use the [cluster update * `mode`: `proxy` * `proxy_address`: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. - ::::{note} - Use the correct port for your authentication method: + Make sure you use the correct port for your authentication method: * **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`). * **TLS Certificates**: Use the {{es}} transport port (defaults to `9300`). When using an IPv6 address ({applies_to}`stack: ga 9.2`), enclose it in square brackets followed by the port number. For example: `[2001:db8::1]:9443`. - :::: * `server_name`: Specify a value if the certificate presented by the remote cluster is signed for a different name than the proxy_address. diff --git a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md index 8c74aeef87..28a4d629fd 100644 --- a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md +++ b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md @@ -13,13 +13,11 @@ This snippet is in use in the following locations: When using API key authentication, this alias must match the **Remote cluster name** you configured when adding the API key in the Cloud UI. * **Remote address**: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. - ::::{note} - Use the correct port for your authentication method: + Make sure you use the correct port for your authentication method: * **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`). * **TLS Certificates**: Use the {{es}} transport port (defaults to `9300`). When using an IPv6 address ({applies_to}`stack: ga 9.2`), enclose it in square brackets followed by the port number. For example: `[2001:db8::1]:9443`. - :::: * **Configure advanced options** (optional): Expand this section if you need to customize additional settings. * **TLS server name**: Specify a value if the certificate presented by the remote cluster is signed for a different name than the remote address. From c32e091b07b6f320ebb0b6e0a5b3862902796994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edu=20Gonz=C3=A1lez=20de=20la=20Herr=C3=A1n?= <25320357+eedugon@users.noreply.github.com> Date: Tue, 7 Oct 2025 20:59:29 +0200 Subject: [PATCH 6/7] Update deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md Co-authored-by: florent-leborgne --- .../_snippets/rcs-elasticsearch-api-snippet-self.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md index 2d8a13cc76..8eb4c61cce 100644 --- a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md +++ b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md @@ -12,7 +12,7 @@ To configure a self-managed cluster as a remote cluster, use the [cluster update * **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`). * **TLS Certificates**: Use the {{es}} transport port (defaults to `9300`). - When using an IPv6 address ({applies_to}`stack: ga 9.2`), enclose it in square brackets followed by the port number. For example: `[2001:db8::1]:9443`. + When using an IPv6 address, enclose it in square brackets followed by the port number. For example: `[2001:db8::1]:9443`. * `server_name`: Specify a value if the certificate presented by the remote cluster is signed for a different name than the proxy_address. From 1033308415aff91c42fbd9f9d761150f3418d75c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edu=20Gonz=C3=A1lez=20de=20la=20Herr=C3=A1n?= <25320357+eedugon@users.noreply.github.com> Date: Wed, 8 Oct 2025 08:36:47 +0200 Subject: [PATCH 7/7] applies_to badges removed --- .../_snippets/rcs-elasticsearch-api-snippet-self.md | 2 +- .../remote-clusters/_snippets/rcs-kibana-api-snippet-self.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md index 8eb4c61cce..444b10d36a 100644 --- a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md +++ b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md @@ -6,7 +6,7 @@ This snippet is in use in the following locations: To configure a self-managed cluster as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` -* `proxy_address`: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. +* `proxy_address`: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 addresses are supported. Make sure you use the correct port for your authentication method: * **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`). diff --git a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md index 28a4d629fd..efb399d0c4 100644 --- a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md +++ b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md @@ -11,13 +11,13 @@ This snippet is in use in the following locations: * **Remote cluster name**: This *cluster alias* is a unique identifier that represents the connection to the remote cluster and is used to distinguish local and remote indices. When using API key authentication, this alias must match the **Remote cluster name** you configured when adding the API key in the Cloud UI. - * **Remote address**: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 ({applies_to}`stack: ga 9.2`) addresses are supported. + * **Remote address**: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Starting with {{kib}} 9.2, this field also supports IPv6 addresses. Make sure you use the correct port for your authentication method: * **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`). * **TLS Certificates**: Use the {{es}} transport port (defaults to `9300`). - When using an IPv6 address ({applies_to}`stack: ga 9.2`), enclose it in square brackets followed by the port number. For example: `[2001:db8::1]:9443`. + When using an IPv6 address, enclose it in square brackets followed by the port number. For example: `[2001:db8::1]:9443`. * **Configure advanced options** (optional): Expand this section if you need to customize additional settings. * **TLS server name**: Specify a value if the certificate presented by the remote cluster is signed for a different name than the remote address.