New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create RDS+VPC Tutorial/Command #1135

Open
Miserlou opened this Issue Sep 28, 2017 · 6 comments

Comments

Projects
None yet
6 participants
@Miserlou
Owner

Miserlou commented Sep 28, 2017

This is an extremely common use case that still isn't properly documented or automated.

Related: https://github.com/Miserlou/zappa-django-utils

@souravsingh

This comment has been minimized.

souravsingh commented Sep 28, 2017

I am interested in taking a stab at this. How do I start?

@jjorissen52

This comment has been minimized.

jjorissen52 commented Sep 29, 2017

Maybe in the meantime make some reference to this aws tutorial on the docs.

@Miserlou

This comment has been minimized.

Owner

Miserlou commented Sep 29, 2017

Well, there are a few ways we can actually approach this.

We could interrogate during init and make the calls with boto, or we could make DB and VPC (and other services) part of the CF template, or we could make a separate repo for Terraform scripts, or we could make it part of the Z-D-U repo linked above.

The CF template approach is probably the right one, but it greatly expands the scope of the project. The init one is probably one of the easiest, but RDS databases can't be created with boto, I don't know if VPCs can either.

Or, I suppose, we just write a really really good tutorial.

@glassresistor

This comment has been minimized.

glassresistor commented Sep 29, 2017

I've working on an Ansible script that automates RDS and s3 setup for Django/Flask and wraps Zappa package/template and then deploys to lambda.
The upside here is Ansible can basically do everything with AWS that boto3 can do which includes VPC etc.
Everything is done except automating the part where I put the application tarball from github and build the Zappa settings file using variables and the facts modules. Having to work on other things for afew weeks but think I'll be shipping something ~Nov

@Sveder

This comment has been minimized.

Sveder commented Jan 11, 2018

@Miserlou If (for our use case) we only need the Lambda to be created in a VPC, should I open a new task?

Specifically, we would like Zappa to automatically create the "public subnet" (Subnet with IP gateway) and "private subnet" with NAT gateways pattern. This tutorial does a better job explaining this: https://gist.github.com/reggi/dc5f2620b7b4f515e68e46255ac042a7.

Is this the right task to +1 (and maybe to PR) or should I open a new one?

@hammadzz

This comment has been minimized.

hammadzz commented Jan 25, 2018

Before someone gets suckered on a small project. A NAT Gateway costs $0.05/hr everywhere except Tokyo region where it is $0.045/hr. So for most cases it is $36 a month.

If you had three environments stage, dev, qa it would be $108/month. Plus traffic cost which is $0.05/gb.

Go for a NAT Instance instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment