-
Notifications
You must be signed in to change notification settings - Fork 153
ipv6 support for remote addresses added #3361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
0a3ba27
1956643
f4a081f
70bc48d
ca6ea73
c32e091
4d35635
1033308
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
<!-- | ||
This snippet is in use in the following locations: | ||
- ece-remote-cluster-self-managed.md | ||
- ec-remote-cluster-self-managed.md | ||
--> | ||
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 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`). | ||
* **TLS Certificates**: Use the {{es}} transport port (defaults to `9300`). | ||
|
||
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. | ||
|
||
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. | ||
:::: |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<!-- | ||
This snippet is in use in the following locations: | ||
- ece-remote-cluster-self-managed.md | ||
- ec-remote-cluster-self-managed.md | ||
--> | ||
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. 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, 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. | ||
* **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). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this relevant for the UI configuration exposed in the Kibana UI, or are we saying that there are more options if users do it through the API? If the latter, we can make it a little bit clearer as it becomes an alternative more than complimentary information |
||
|
||
4. Click **Next**. | ||
5. In **Confirm setup**, click **Add remote cluster** (you have already established trust in a previous step). |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -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. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
To make it closer to your other edit where you no longer use a badge |
||||||
|
||||||
### 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 | ||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this content is no longer in notes/tips, I suggest we group the IPv6 bits together, after the most important part to read (like ports information)