Endpoints: Direct Connection to Cloud
The Endpoints feature provides the ability to establish a direct connection (over either raw TCP or UDP protocol) to the particular node, without the mandatory public IP address attached. You can learn more about endpoints specifics, management, and use cases in the linked documentation.
In this guide, we’ll consider some technical aspects of the feature implementation and the corresponding parameters, that are available at your admin panel.
Endpoints Configuration
1. The platform limits the amount of traffic that passes through the platform’s internal network (i.e., without public IP) to ensure equal and stable access for all the users. The exact limit can be set with the following system settings (Expert Mode):
- jelastic.resolver.tc.shaper.rate - sets per-endpoint, guaranteed bandwidth for traffic on Shared Load Balancers
- jelastic.resolver.tc.shaper.ceil - sets per-endpoint, maximum bandwidth for traffic on Shared Load Balancers
Do not forget to Apply the changes after the adjustments.
2. When a user adds a new endpoint, the platform randomly takes an available public port within the pool of Shared Load Balancer ports and allocates it for the corresponding node. By default, the range of this pool stands for 10000-20000.
If you’d like to change this range, open the admin panel’s System Settings section, enable the Expert Mode and find the endpoint.public.ports.ranges parameter:
3. The availability of the endpoints option for your end-users is controlled with the environment.endpoint.enabled quota. Set as 1 to enable or 0 to disable the feature.
4. Once an endpoint is assigned, the appropriate record appears in the Shared Load Balancer’s database (replicated to all its secondaries). After that, a special trigger adjusts the iptables rules on the server, providing a user with a ready-to-work endpoint connection link (displayed within the dashboard).
The number of custom endpoints allowed to be added by the user, can be controlled by a cluster administrator with the environment.endpoint.count.per.node quota. It defines the maximum number of endpoints per each node:
The quotas can be managed for a single user or for the group.