Use Flask-Ask and Zappa and deploy to AWS Lambda. I use that setup and have been running for free on AWS infra for about 6 months now.
For ?? I've tried just making the lambda directly connect to an open port, but this requires me to open the router to quite a large range since lambdas don't have static IPs.
I'd like a VPN in ?? I have that for my phone.
As I dig into VPC and such it seems like it almost requires an EC2 endpoint for me to VPN into from my network which will NAT the request?
I'd like to not have to pay for an EC2 instance.
Once you have your lambda running inside a VPC, you can assign an elastic IP to the VPC. You don't need an EC2 instance, but you will need a NAT gateway, which is billed at similar levels to a small EC2 instance anyway.
[1] https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges....