Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -321,8 +321,11 @@ Verify that required traffic is allowed. Check the [Networking prerequisites](ec
# enable forwarding so the Docker networking works as expected
net.ipv4.ip_forward=1
# Decrease the maximum number of TCP retransmissions to 5 as recommended for Elasticsearch TCP retransmission timeout.
# See /deploy-manage/deploy/self-managed/system-config-tcpretries.md
# See https://www.elastic.co/docs/deploy-manage/deploy/self-managed/system-config-tcpretries
net.ipv4.tcp_retries2=5
# Other keepalive relevant settings
net.ipv4.tcp_keepalive_time=180
net.ipv4.tcp_keepalive_intvl=60
# Make sure the host doesn't swap too early
vm.swappiness=1
EOF
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,9 @@ You must use XFS and have quotas enabled on all allocators, otherwise disk usage
# Decrease the maximum number of TCP retransmissions to 5 as recommended for Elasticsearch TCP retransmission timeout.
# See https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config-tcpretries.html
net.ipv4.tcp_retries2=5
# Other keepalive relevant settings
net.ipv4.tcp_keepalive_time=180
net.ipv4.tcp_keepalive_intvl=60
# Make sure the host doesn't swap too early
vm.swappiness=1
EOF
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,20 @@ products:

[{{ece}} architecture](./ece-architecture.md) is designed to be used in conjunction with at least one load balancer. A load balancer is not included with {{ece}}, so you need to provide one yourself and place it in front of the {{ece}} proxies.

## Recommendation [ece-load-balancer-recommendation]

Use the following recommendations when configuring your load balancer:

* **High availability**: The exact number of load balancers depends on the utilization rate for your clusters. In a highly available installation, use at least two load balancers for each availability zone in your installation.
* **Inbound ports**: Load balancers require that inbound traffic is open on the ports used by {{es}}, {{kib}}, and the transport client.
* **X-found-cluster**: The ECE proxy uses the header `X-found-cluster` to route traffic to the correct cluster via the cluster UUID (Universally Unique Identifier). If the load balancer rewrites a URL, make sure the HTTP header `X-Found-Cluster` gets added. For example: `X-found-cluster: d59109b8d542c5c4845679e597810796`.
* **Deployment traffic and Admin traffic**: Create separate load balancers for deployment traffic ({{es}} and {{kib}} traffic) and admin traffic (Cloud UI Console and Admin API). This separation allows you to migrate to a large installation topology without reconfiguring or creating an additional load balancer.
* **Load balancing algorithm**: Select a load balancing algorithm that will balance traffic evenly across all proxies. Proxies are constantly updated with internal routing information on how to direct requests to clusters on allocators hosting their nodes across zones. Proxies prefer cluster nodes in their local zone and route requests primarily to nodes in their own zone. In case of doubt, consult your load balancer provider.
* **Load balancing algorithm**: Select an algorithm that distributes traffic evenly across all proxies, such as round robin or another comparable method. Proxies are constantly updated with internal routing information on how to direct requests to clusters on allocators hosting their nodes across zones. Proxies prefer cluster nodes in their local zone and route requests primarily to nodes in their own zone.

:::{note}
Load balancer configuration falls outside the scope of this documentation page and is a customer-managed prerequisite. Consult your load balancer provider for configuration details or applicable support resources.
:::

* **Network**: Use a network that is fast enough from a latency and throughput perspective to be considered local for the {{es}} clustering requirement. There shouldn't be a major advantage in "preferring local" from a load balancer perspective (rather than a proxy perspective), and it might lead to potential hot spotting on specific proxies, so it should be avoided.
* **TCP timeout**: Use the default (or required) TCP timeout value from the cloud provider. Do not set a custom timeout on the load balancer.

Expand Down
Loading