Deploying your project to AWS can be difficult and frustrating if you are new to deploying a project. Neither is AWS user interface easy to work with nor is their documentation easy to understand.
I recently had to redeploy a Django application that made use of WebSockets and it took me around 8 days to get it properly up and running. Most of the errors occurred because I didn't understand their system well.
In this blog, I wish not only to help you deploy your Django project but also to help you understand AWS better. I will also talk about some of the common errors that I faced during the deployment.
While I'll be using Django, most of the steps followed will remain the same across different frameworks and programming languages.
Note: If think some steps are missing or is incorrect please create a new issue on this Github repository or create a new pull request.
-
- Introduction
- Commonly used services
- Some abbreviation you should know
- Navigating in AWS Console
- Search
- Elastic beanstalk
- EC2
- RDS
- S3
-
Deploying our Django application
- Deployment flow
- Multiple ways to deploy an application
- Setup
- Creating an application using the AWS console.
- Using EB CLI to deploy an application
- Creating an application
- Creating an environment
- Debugging errors
-
- Introduction
- setting up RDS
- Connecting to pgAdmin
- Setting up RDS in our project
- Testing connection on an EC2 instance (DEBUGGING)
- Migrations
-
Using Environment variables to hide our sensitive info's
- Introduction.
- Hiding your sensitive information in development
- Setting environment variables in production:
-
Using S3 storage to store static and media files.
- Introduction.
- Setting up a project for S3 and creating a bucket.
- Creating IAM Role
-
Deploying Django channels application
- Setup
- Connecting Redis:
-
Using Route53 to connect to custom domain
- Connecting your custom domain to elasticbeanstalk using Route53.
- Configuring your custom domain email to send mails
- Hosting a static website
-
- Introduction
- Checklist
- Debugging tips
- Commonly used commands.
- Eb cli commands
- Linux commands
References: