Deploy your first serverless UDP listener in under 5 minutes. This guide will walk you through the fastest path from AWS Marketplace subscription to processing your first UDP packets with Lambda, DynamoDB, or any other AWS service.
There are two ways to get started with Proxylity UDP Gateway:
Time: ~3 minutes
Deploy using CloudFormation templates. Best for production use, repeatable deployments, and version control. No manual setup required—just deploy and go.
Time: ~5 minutes
Use the Proxylity web application to create listeners and destinations through a graphical interface. Good for testing and exploration.
Recommended for most users. Proxylity is designed for Infrastructure as Code, making it easy to create and manage UDP listeners and destinations alongside your other AWS resources. No initial setup required—your subscription immediately provides access to CloudFormation custom resources.
Visit the AWS Marketplace listing and click "Continue to Subscribe." Accept the terms to activate your subscription. (Takes ~1 minute)
Clone the Proxylity Examples Repository and navigate to the packet counter example:
git clone https://github.com/proxylity/examples cd examples/packet-counter
Deploy the packet counter example using the AWS CLI:
aws cloudformation deploy \ --template-file packet-counter.template.json \ --stack-name my-first-udp-listener \ --capabilities CAPABILITY_IAM \ --region us-west-2
The template creates:
After deployment completes, check the CloudFormation stack outputs for your listener's ingress domain and port:
aws cloudformation describe-stacks \ --stack-name my-first-udp-listener \ --query 'Stacks[0].Outputs' \ --region us-west-2
Test your listener (replace with your actual domain and port from outputs):
echo "test" | nc -u ingress-1.proxylity.com 15678
✓ Success! Your UDP packet was received, counted, and echoed back. The response will show 1
for a single packet. Check your Lambda CloudWatch logs to see the processing details.
Next: Customize the example template for your use case, or explore other destination types like Step Functions, Kinesis, or EventBridge.
Prefer a graphical interface? The Proxylity web application lets you create and manage listeners through a point-and-click interface.
Proxylity needs permission to deliver packets to your AWS resources. We recommend using per-destination, least-privilege IAM roles:
An ingress domain and port will be automatically assigned to your listener. You'll see these in the listener details.
Send a test UDP packet to your listener's ingress domain and port. For example, if you were assigned port
15678 on ingress-1.proxylity.com:
Using bash (Linux/macOS):
echo "hello world!" > /dev/udp/ingress-1.proxylity.com/15678
Using netcat:
echo "hello world!" | nc -u ingress-1.proxylity.com 15678
Using PowerShell (Windows):
$udpClient = New-Object System.Net.Sockets.UdpClient
$udpClient.Connect("ingress-1.proxylity.com", 15678)
$bytes = [Text.Encoding]::ASCII.GetBytes("hello world!")
$udpClient.Send($bytes, $bytes.Length)
$udpClient.Close()
Check your destination resource to confirm the packet was received:
To learn more about the format and structure of delivered packets, see the destination-specific documentation.
Congratulations! You've successfully deployed your first serverless UDP listener. Here's how to take it further:
Configure client restrictions to block unauthorized traffic using IP allowlists or policy-based rules. Highly recommended for production.
Configure destinations with region-specific ARNs for best performance and reliability.
Optimize batching configuration to balance latency and cost for your workload.
Configure CloudWatch metrics and alarms to track packet delivery, errors, and performance.
Try integrating with other AWS services: