View on GitHub

Portfolio Hosted on AWS

Using AWS to host your Porfolio website.

Download this project as a .zip file Download this project as a tar.gz file

AWS-Portfolio

This repository showcases a easy walkthrough of AWS services used to host a Django application. This architecture has been followed by me to host my own portfolio website.

Architecture

graph TB subgraph "Global Edge Network" CF[CloudFront Distribution] end subgraph "VPC" EC2[DJANGO APP] SG[Security Group] end subgraph "DNS & SSL" NAMECHEAP[NAMECHEAP] ACM[ACM Certificate] end CF --> |HTTPS| EC2 NAMECHEAP --> CF ACM --> CF

Important Components

1. CloudFront

AWS CloudFront is used to distribute content globally with low latency. It acts as a CDN that caches content at edge locations.

2. VPC and Security Group

The EC2 instance is hosted within a Virtual Private Cloud (VPC) and associated with a Security Group to control inbound and outbound traffic.

3. DNS & SSL

graph TB subgraph "DNS Management" NAMECHEAP[Namecheap] end subgraph "Content Delivery Network" CF[CloudFront Distribution] ACM[ACM Certificate] end subgraph "Portfolio Application" EC2[EC2 Django App] DJANGO[Django 4] HTML5[HTML5] BOOTSTRAP[Bootstrap 5] SASS[Sass] EC2 --> DJANGO DJANGO --> HTML5 DJANGO --> BOOTSTRAP DJANGO --> SASS end NAMECHEAP --> CF ACM --> CF CF --> EC2

Portfolio Application Technical Stack

NOTE -> Since the site does not expect a lot of traffic, an application load balancer is not used. This helps to reduce complexity and costs while still providing the necessary functionality.

By following this setup, you can ensure a secure, scalable, and efficient architecture for your Django application with the specified technologies.

Let me know if you need further assistance or have any other questions!

Contact

For any questions or inquiries, please contact:

License

This project is licensed under the MIT License. See the LICENSE file for more details.