AWS | Cloud | DevOps | Security
AWS API Gateway throttling explained Since version 2.2 Kong API Gateway supports UDP services, but the documentation illustrates this
with a very complex Kubernetes setup. In this blog I will show you the easiest way to
configure a udp service.
Without further ado: to configure a UDP service in Kong,
you just have to do three things:
- define a Kong service with the udp protocol
- define a Kong route with the udp protocol
- configure Kong to listen on UDP
In this setup, I will configure the Google DNS nameservers as a udp service and
route traffic from localport 5353.
define kong udp service
To define the kong UDP service, type:
$ curl -sS --fail
-X POST http://localhost:8001/services
-d name=google-dns
-d protocol=udp
-d host=8.8.8.8
-d port=53
define kong udp route
To define the kong UDP route to the service, type:
curl -sS --fail
-X POST http://localhost:8001/services/google-dns/routes
-H 'Content-Type: application/json'
-d '{"protocols": [ "udp"], "destinations": [{"port": 5353}]}'
configure Kong to listen on UDP
To configure Kong to listen on UDP, start kong with the property stream_listen
set:
KONG_STREAM_LISTEN="0.0.0.0:5353 udp" kong ...
Bonus enable logging
The enable logging of udp requests, make you configure the udp protocol on the plugin too.
curl -sS --fail
-X POST http://localhost:8001/plugins
--data name=file-log
--data protocols=udp
--data protocols=http
--data protocols=https
--data config.path=/tmp/request.log
conclusion
The guide on Using UDP
in Kong is more a guide into the complexity of kubernetes. In this blog,
I showed you how easy it really is!
Image by Gerd Altmann from Pixabay
Mark van Holsteijn is a senior software systems architect at Xebia Cloud-native solutions. He is passionate about removing waste in the software delivery process and keeping things clear and simple.