I have a system where raspberry Pi's connect to a VPN hosted in an EC2 instance. The raspberry pi's essentially act as IoT devices and send images to an S3 bucket. I'm using Wireguard as the VPN as it's pretty low level and doesn't consume much CPU power on the raspberry pi or the host VPN.
My current network activity from 4 pi's peaks at about 500 kbps. So I can assume on average that each pi chews up about 125kbps.
If I want to scale up to a very large number, I would likely hit the 0.25Gbps limit on the EC2 threshold, causing a networking bottleneck in the system.
The obvious solution would be to make the Pi's connect to a different location, but that would require having a different VPN url for sets of pi's which would be difficult logistically.
Is there a way to distribute the networking load automatically?