From 2b33c447e05ba01a0ca15158f1f075f915c5f6b1 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:57:23 +0200 Subject: [PATCH 1/3] Snippets and improvements for remote clusters Kibana UI and Elasticsearch API configs --- .../rcs-elasticsearch-api-snippet.md | 44 +++++++ .../_snippets/rcs-kibana-api-snippet.md | 36 ++++++ .../remote-clusters/ec-remote-cluster-ece.md | 110 ++--------------- .../ec-remote-cluster-other-ess.md | 105 ++-------------- .../ec-remote-cluster-same-ess.md | 62 ++-------- .../ece-remote-cluster-ece-ess.md | 109 ++-------------- .../ece-remote-cluster-other-ece.md | 116 ++---------------- .../ece-remote-cluster-same-ece.md | 75 ++--------- 8 files changed, 135 insertions(+), 522 deletions(-) create mode 100644 deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet.md create mode 100644 deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet.md diff --git a/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet.md b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet.md new file mode 100644 index 0000000000..7690ac2139 --- /dev/null +++ b/deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet.md @@ -0,0 +1,44 @@ + +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 {{remote_type}} you want to use as a remote. Copy the **Proxy address** from the **Remote cluster parameters** section. 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. + + ::::{note} + 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 {{remote_type}} you want to use as a remote. Copy the **Server name** from the **Remote cluster parameters** section. 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. +:::: diff --git a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet.md b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet.md new file mode 100644 index 0000000000..8437c7c501 --- /dev/null +++ b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet.md @@ -0,0 +1,36 @@ + +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 then 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**: This value can be found on the **Security** page of the {{remote_type}} you want to use as a remote. Copy the **Proxy address** from the **Remote cluster parameters** section. + + ::::{tip} + If you’re using API keys as security model, change the port into `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. + + This value can be found on the **Security** page of the {{remote_type}} you want to use as a remote. Copy the **Server name** from the **Remote cluster parameters** section. + + * **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-ece.md b/deploy-manage/remote-clusters/ec-remote-cluster-ece.md index 2b7cb6e9bd..a1db6c5127 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-ece.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-ece.md @@ -8,6 +8,8 @@ applies_to: ece: ga products: - id: cloud-hosted +sub: + remote_type: Elastic Cloud Enterprise deployment --- # Connect {{ech}} deployments to an {{ece}} environment [ec-remote-cluster-ece] @@ -201,113 +203,17 @@ On the local cluster, add the remote cluster using {{kib}} or the {{es}} API. ### Using {{kib}} [ec_using_kibana_3] -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). - - -### Using the {{es}} API [ec_using_the_elasticsearch_api_3] - -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_3] +:::{include} _snippets/rcs-kibana-api-snippet.md +::: ::::{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_3) should be used instead. +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). :::: +### Using the {{es}} API [ec_using_the_elasticsearch_api_3] -```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.md +::: ## Configure roles and users [ec_configure_roles_and_users_3] diff --git a/deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md b/deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md index 17fb26bf50..8ce8a4e8b7 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md @@ -7,6 +7,8 @@ applies_to: ess: ga products: - id: cloud-hosted +sub: + remote_type: Elastic Cloud Hosted deployment --- # Connect to deployments in another {{ecloud}} organization [ec-remote-cluster-other-ess] @@ -139,108 +141,15 @@ On the local cluster, add the remote cluster using {{kib}} or the {{es}} API. ### Using {{kib}} [ec_using_kibana_2] -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 into `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). +% snippet +:::{include} _snippets/rcs-kibana-api-snippet.md +::: ### Using the {{es}} API [ec_using_the_elasticsearch_api_2] -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_2] - -::::{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_2) 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.md +::: ## Configure roles and users [ec_configure_roles_and_users_2] diff --git a/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md b/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md index f91b3343cc..46dbfa5b3b 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md @@ -7,6 +7,8 @@ applies_to: ess: ga products: - id: cloud-hosted +sub: + remote_type: Elastic Cloud Hosted deployment --- # Connect to deployments in the same {{ecloud}} organization [ec-remote-cluster-same-ess] @@ -168,65 +170,15 @@ On the local cluster, add the remote cluster using {{kib}} or the {{es}} API. ### Using {{kib}} [ec_using_kibana] -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 into `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). +snippet: +:::{include} _snippets/rcs-kibana-api-snippet.md +::: ### Using the {{es}} API [ec_using_the_elasticsearch_api] -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. -:::: +:::{include} _snippets/rcs-elasticsearch-api-snippet.md +::: ### Using the {{ecloud}} RESTful API [ec_using_the_elasticsearch_service_restful_api] diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md b/deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md index d02ec683ab..1b2f83cb2e 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md @@ -8,6 +8,8 @@ applies_to: ess: ga products: - id: cloud-enterprise +sub: + remote_type: Elastic Cloud Hosted deployment --- # Connect {{ece}} deployments to an {{ecloud}} organization [ece-remote-cluster-ece-ess] @@ -141,112 +143,21 @@ 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_3] - -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 into `9443`. - :::: - - * **Server name**: This value can be found on the **Security** page of the {{ech}} deployment you want to use as a remote. - -4. Click **Next**. -5. Click **Add remote cluster** (you have already established trust in a previous step). - -::::{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. -:::: - - - -### Using the {{es}} API [ece_using_the_elasticsearch_api_3] - -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_3] - +% ECE locals only ::::{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_3) should be used instead. +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. :::: -```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_3] -The following API request retrieves the remote clusters configuration: +:::{include} _snippets/rcs-kibana-api-snippet.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_3] -::::{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.md +::: ## Configure roles and users [ece_configure_roles_and_users_3] diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md b/deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md index 566281d8d7..806aefa006 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md @@ -7,6 +7,8 @@ applies_to: ece: ga products: - id: cloud-enterprise +sub: + remote_type: Elastic Cloud Enterprise deployment --- # Connect to deployments in a different {{ece}} environment [ece-remote-cluster-other-ece] @@ -213,121 +215,25 @@ 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_2] - -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). - +% 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 {{kib}} [ece_using_kibana_2] - -### Using the {{es}} API [ece_using_the_elasticsearch_api_2] - -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_2] +:::{include} _snippets/rcs-kibana-api-snippet.md +::: ::::{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_2) should be used instead. +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). :::: -```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. - -The following API request retrieves the remote clusters configuration: - -```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_2] -::::{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.md +::: ## Configure roles and users [ece_configure_roles_and_users_2] diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md b/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md index 41edb63242..99fbc24a15 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md @@ -7,6 +7,8 @@ applies_to: ece: ga products: - id: cloud-enterprise +sub: + remote_type: Elastic Cloud Enterprise deployment --- # Connect to deployments in the same {{ece}} environment [ece-remote-cluster-same-ece] @@ -169,78 +171,25 @@ You can now connect remotely to the trusted clusters. On the local cluster, add the remote cluster using {{kib}} or the {{es}} API. +% 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 {{kib}} [ece_using_kibana] -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). +% snippet +:::{include} _snippets/rcs-kibana-api-snippet.md +::: ::::{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. +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). :::: - - ### Using the {{es}} API [ece_using_the_elasticsearch_api] -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. -:::: +:::{include} _snippets/rcs-elasticsearch-api-snippet.md +::: ### Using the {{ece}} RESTful API [ece_using_the_elastic_cloud_enterprise_restful_api] From 41cf55a5a7e8c867b70543eb70c046171ffe55b3 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:08:26 +0200 Subject: [PATCH 2/3] platform APIs for TLS cert auth marked as deprecated --- deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md | 4 ++++ deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md b/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md index 46dbfa5b3b..c46875a59d 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md @@ -181,6 +181,10 @@ snippet: ::: ### Using the {{ecloud}} RESTful API [ec_using_the_elasticsearch_service_restful_api] +```{applies_to} +deployment: + ess: deprecated +``` ::::{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) should be used instead. diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md b/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md index 99fbc24a15..5540dca920 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md @@ -192,6 +192,10 @@ If you’re having issues establishing the connection and the remote cluster is ::: ### Using the {{ece}} RESTful API [ece_using_the_elastic_cloud_enterprise_restful_api] +```{applies_to} +deployment: + ece: deprecated +``` ::::{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) should be used instead. From f71f8ff29f55032eda5f50f257d931b66a2006ae 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:31:14 +0200 Subject: [PATCH 3/3] tip and note aligned --- .../remote-clusters/_snippets/rcs-kibana-api-snippet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet.md b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet.md index 8437c7c501..8d8a303ca0 100644 --- a/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet.md +++ b/deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet.md @@ -19,7 +19,7 @@ It requires remote_type substitution to be defined * **Remote address**: This value can be found on the **Security** page of the {{remote_type}} you want to use as a remote. Copy the **Proxy address** from the **Remote cluster parameters** section. - ::::{tip} + ::::{note} If you’re using API keys as security model, change the port into `9443`. ::::