Cloud Endpoints
Cloud endpoints are currently in private beta. The functionality listed below is not yet publicly available.
Overview
Cloud endpoints enable you to centrally manage your endpoints' traffic policy configurations in the cloud instead of defining them via an Agent or Agent SDK. With Cloud Endpoints, you can update those configurations without taking your endpoints offline.
Cloud endpoints can be created, updated, or deleted via the ngrok dashboard or API. Unlike agent endpoints which are only online for as long as an agent is connected, cloud endpoints are persistent and will remain online until they are explicitly deleted. You never have to restart the agent to pick up new traffic policy configurations. Cloud endpoints can be created for any one of the following schemes: HTTP, HTTPS, TCP, TLS.
Cloud Endpoints enable you to:
- Enhance your endpoints with Traffic policies using the dashboard or API without restarting the Agent
- Centrally manage your traffic policy configurations in ngrok's cloud service
- Load balance traffic to different ngrok agents
- Apply different configurations for each path in your application. For
example, you may apply OAuth on
/app
and Compression on/static/css
. - Use the Kubernetes Ingress Controller
When you create a Cloud Endpoint, you must specify:
- The complete URL for the cloud endpoint, including the scheme, hostname, and port. The port may be inferred if omitted
- The associated traffic policy
- The bindings associated with the cloud endpoint
Cloud endpoints are commonly used to route traffic to agent endpoints via the forward action. The traffic policy of a cloud endpoint must either redirect or terminate traffic via actions such as deny, redirect, custom-response, or forward via the forward action.
For examples of cloud endpoint usage, check out the following guides:
- Forwarding Traffic to and Load Balancing Internal Endpoints with Cloud Endpoints
- Path-based Routing and Policy Decentralization with Cloud Endpoints
Cloud Endpoints vs Edges
Cloud endpoints offer all the functionality of edges and simplify the module and backends system of modules by putting everything behind traffic policies.
Feature | Edges | Cloud Endpoints |
---|---|---|
Customization | Configured via modules, backends, labels, and routes | Universally configured via traffic policy |
Supported Protocols | HTTP/S, TCP, TLS | HTTP/S, TCP, TLS |
Supported Bindings | Always Public | Public, Internal, or K8s |
Routing | Can only route traffic by paths | Advanced routing capabilities using traffic policy CEL expressions |
Load Balancing | Load balanced with tunnel group backends and labels | Load balanced automatically via endpoint pools |