Skip to main content

Agent Endpoints

Overview

Agent Endpoints are for creating connectivity to your upstream applications. They are created and configured by Secure Tunnel agents and live for the lifetime of that agent process. They forward connections that they receive to the agent that started them.

Agent endpoints are the most common way to get started with ngrok because they make it so easy to put any app online.

Quickstart

Agent Endpoints are created by a Secure Tunnel agent such as the Agent, Agent SDKs or Kubernetes Operator.

TODO

Use cases

Agent endpoints are a good choice when you want to:

  • Put applications running anywhere online. Your app could be running in a anywhere, e.g. AWS, Digital Ocean, in a container or a VM, on your laptop, in your home lab, etc.
  • Create connectivity to apps running in ephemeral environments like CI
  • Ensure that an endpoint goes offline when your process or machine is disconnected
  • Because agent endpoints are created via Secure Tunnel agents, they are excellent for connecting to apps running on all networks, even those behind a NAT. You can use agent endpoints to create connectivity to apps running on your localhost, an IoT device in the field, or an EC2 instance.

Differences from Cloud Endpoints

  • Lifetime - Unlike Cloud Endpoints, Agent Endpoints are online only as long as the agent process that started them remains running and connected to the ngrok cloud service.
  • Agent Authoritative - Agent Endpoints are created, managed and configured by the Secure Tunnels agent that started them. The agent is authoritative about Agent Endpoints it has started and the dashboard or API provides a read-only view of them. Cloud Endpoints, by contrast, are created, managed, and configured centrally by the API or dashboard.
  • URLs - When creating an agent endpoint, you may ask the ngrok cloud service to choose a random URL for it.
  • Forwarding - Agent Endpoints implicitly forward their traffic to the agent that started them.
  • Traffic Policy - Traffic Policy is optional for agent endpoints. When you do specify a Traffic Policy for an Agent Endpoint, any traffic that is not terminated by the policy is sent to the agent that created the endpoint.
  • API - Agents Endpoints' API representation specifies type: agent and its tunnel_session reference points to the Secure Tunnels session that it was created by.

Protocols, Binding and Pooling

  • Protocols - Agent endpoints support all Endpoint Protocols (http, https, tcp and tls).
  • Bindings - Agent endpoints support all Endpoint Bindings (public, internal and kubernetes).
  • Pooling - Agent endpoints support Endpoint Pooling. They may also pool with themselves and with cloud endpoints.

API

Agent Endpoints can be managed programatically via:

Agent Endpoints are also included in a read-only capacity via:

Pricing

Agent endpoints are available on all plans. Consult the Endpoints Pricing documentation for billing details.