I'm currently very excited about Zappa, mainly because of its ability to easily deploy Django to AWS Lambda. This post will be a collection of URLs to different tutorials and manuals about how to deploy Zappa and configure AWS VPC accordingly. I deployed https://www.kalakeitto.fi with it.

My main goal was to try and create production environment where the RDS instance resides in a private subnet, secure from the pubic internet.

Zappa: https://github.com/Miserlou/Zappa

Extensive guide towards production setup by Edgar Roman: https://edgarroman.github.io/zappa-django-guide/

A solid VPC configuration with public and private subnets: launch RDS instance to private subnet and allow it to connect the internet via NAT instance (for security updates and other maintenance): https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html

Deploy your own "NAT gateway" (NAT EC2 instance) instead of using the one that Amazon offers by default (Amazon's NAT gateway is way too expensive to keep running): https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html