This repository was archived by the owner on Feb 16, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 216
Serverless deployment of Node on AWS (HTTP) #701
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Layers contain all dependencies for the Node
Changed runtime to py3.6
- Returns an instance of FlaskLambda - FlaskLambda can handle events passed by triggers to the lambda function
* Added EFS, Access points, and mount targets * Would be used to store syft and dependencies
* Lambda is added to same VPC as EFS * Lambda can access the EFS via provided access point * Lambda can import dependencies stored in EFS
* Can import syft and it's dependencies including torch from numpy * Syft and dependencies are hosted on efs * efs is mounted on aws lambda * ec2 instance is used to install syft on efs
* Added sqlalchemy-aurora-data-api as a dependency in requirements.txt
* Private subnets would host the lambda function * NAT & Internet gateway would allow lambda to access AWS RDS via Data API * subnets in multiple availability zones allow high availability & fault tolerance
* Associated lambda to private subnets * Assosiated database to private subnets * Added EFS file system to private subnets * [Fix]: Lambda can access database * [Broken]: Lambda can't mount the EFS
* Initialize and seed the remote database
* Remove redundant permissions
*Fix: secretmanager:GetSecretValue permission
cereallarceny
approved these changes
Sep 29, 2020
AmrMKayid
pushed a commit
that referenced
this pull request
Dec 15, 2020
* Initial template * Add more params to modules * Organize files into folders * Separate resources into files * Add AWS Lambda layers Layers contain all dependencies for the Node * Solved Numpy import issue Changed runtime to py3.6 * Added Lambda compatible create_app() function - Returns an instance of FlaskLambda - FlaskLambda can handle events passed by triggers to the lambda function * Host packaged dependencies on s3 * Added Elastic File system * Added EFS, Access points, and mount targets * Would be used to store syft and dependencies * Integrated AWS Lambda with AWS EFS * Lambda is added to same VPC as EFS * Lambda can access the EFS via provided access point * Lambda can import dependencies stored in EFS * Successful import of syft and dependencies on AWS lambda * Can import syft and it's dependencies including torch from numpy * Syft and dependencies are hosted on efs * efs is mounted on aws lambda * ec2 instance is used to install syft on efs * Integrated database with Lambda * Added support for AWS secret manager * Added IAM policies to access database from lambda * Added bash script to create lambda layer zip file * Added sqlalchemy-aurora-data-api as a dependency in requirements.txt * Added VPC, Public & Private Subnets, NAT & Internet gateway * Private subnets would host the lambda function * NAT & Internet gateway would allow lambda to access AWS RDS via Data API * subnets in multiple availability zones allow high availability & fault tolerance * Lambda can access Database via Data API * Associated lambda to private subnets * Assosiated database to private subnets * Added EFS file system to private subnets * [Fix]: Lambda can access database * [Broken]: Lambda can't mount the EFS * Moved EC2 to a new folder * Added permissions to EFS access point * Added database to create_lambda_app() function * Initialize and seed the remote database * Fix: Register dialects before connecting to database * Tidy up .gitignore * Added flask-lambda-python36 & sqlalchemy-aurora-data-api as dependency * Merged back ec2 instance * Updated lambda layer dependencies * Clean and refactor IAM policies * Remove redundant permissions * Replace torch-gpu with torch-cpu *Fix: secretmanager:GetSecretValue permission * Added functionality to pull latest AMI id Co-authored-by: Patrick Cason <me@patrickcason.com>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
dependencies
Pull requests that update a dependency file
Status: In Progress 🌟
This is actively being worked on
Type: Epic 🤙
Describes a large amount of functionality that will likely be broken down into smaller issues
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Initial serverless deployment of Node on AWS.
Fixes #642
Affected Dependencies
flask-lambda-python36==0.1.0sqlalchemy-aurora-data-apiHow has this been tested?
Checklist