Depending on your traffic and number of users, you could also go with an instance like t3.nano and setup your own OpenVPN server. If course this needs a bit more manual configuration with route tables, but your VPN-server can be less than 5,- USD.
You should be familiar with routing in general, some basic crypto knowledge (to not have a weak connection) and Linux networking like forwarding rules and NAT. The default config files of OpenVPN are pretty well documented and the general documentation on their website is also good. Just give it a try.
It stops making monetary sense if you’re going to roll it out to lots of users who will have an always-on VPN connection. Paying thousands of dollars per month for VPN access when you could have a couple of small OpenVPN servers is a little outrageous, although for smaller use-cases its simplicity might be beneficial.
IIRC it worked out to be like, $30-40 a month per VPN. When we used them it was demonstrably more resilient and WAY less work/effort than running Strongswan on an EC2. AWS VPN’s will even generate you copy-pastable config to plug into your device.
At the end of the day, I cost my company more per hour than it costs them to run an AWS VPN for at least a couple of months. So I could spend several hours screwing around with an EC2, or maybe 30 minutes to set up an AWS VPN which I then never need to touch or think about ever again.
If I’m reading it right, it’s just 5c/hour per client right? So users individually connection as opposed to always on would be say 8 hours x 5c per day, so like 40c/day/user sounds pretty cheap actually