Welcome to the Mission Logs AWS Deployment project! This guide will walk you through the process of deploying the Mission Logs application on AWS. The migration involves setting up infrastructure on Amazon Web Services, ensuring HTTPS security, and implementing Docker for application deployment.
- Introduction
- S3 and CloudFront Setup
- Domain Registration and HTTPS
- VPC and EC2 Setup
- Docker Setup
- Auto-scaling and Load Balancing
- Cost Analysis
The project aims to migrate the Mission Logs application from on-premise infrastructure to AWS. This migration enhances scalability, improves security against DDoS attacks, and provides efficient management for a growing user base.
This technical documentation provides an overview and guide to implementing the Amazon Web Service (AWS) Solution. The solution is contains two parts, part one being the base implementation (free) and part two being the slightly more advanced implementation (paid). This documentation assumes that you are familiar AWS and can navigate the AWS Console and has a general understanding of AWS and its services, as well as decent understanding of programming. This documentation also assumes that you have a decent understanding of the Linux Command Line and other tools such as SSH clients.
- index.html: Front end of the website.
- 404.html: Error page displayed when the website cannot be found.
- Navigate to your S3 Dashboard.
- Select Create bucket.
- Give your bucket a unique name.
- Select your AWS Region.
- Upload the contents of the website zip.
- Activate Static Website Hosting and configure the bucket.
- Set up a CloudFront distribution with the S3 bucket as the origin.
- Restrict incoming traffic to HTTPS only.
- Block every HTTP method except GET and HEAD.
- Navigate to Route 53.
- Select Registered domains.
- Choose Register domain.
- Enter the desired domain name.
- Navigate to ACM.
- Select Request a certificate.
- Choose Request a public certificate.
- Enter the custom domain name.
- Verify domain ownership.
- Edit CloudFront distribution for static content.
- Choose the custom SSL certificate from ACM.
- Edit listener configuration.
- Add a new listener for HTTPS (Port 443).
- Edit the Auto-scaling Group.
- Edit the launch template.
- Update the user data script for HTTPS settings.
- Create a VPC with a specified IPv4 CIDR.
- Create public subnets in different availability zones.
- Navigate to Internet Gateway.
- Create a new Internet Gateway.
- Attach the Internet Gateway to the VPC.
- Navigate to the VPC.
- Edit the main route table.
- Add a route for destination 0.0.0.0/0 to the Internet Gateway.
- Connect to your EC2 instance.
- Run Docker installation commands.
Use Docker commands to pull and run the Mission Logs image.
- Create an image from your EC2 instance.
- Create a launch template with user data for Docker commands.
- Navigate to Auto Scaling Groups.
- Create an Auto-scaling Group with the launch template.
- Attach a load balancer.
- Configure health checks, logging, and scaling policies.
Perform a cost analysis to ensure resources align with your budget and AWS Free Tier limits.
| Service | Cost/Month | Cost/Year | Upfront Cost | Number of Instances | Total |
|---|---|---|---|---|---|
| Amazon EC2 | $14.31 | $171.70 | $0.00 | 2 | $171.70 |
| Application Load Balancer | $21.32 | $255.84 | $0.00 | 1 | $255.84 |
| S3 Standard | $0.00 | $0.00 | $0.00 | - | $0.00 |
| Data Transfer | $0.00 | $0.00 | $0.00 | - | $0.00 |
| Amazon CloudFront | $0.40 | $4.80 | $0.00 | - | $4.80 |
| Amazon Route 53 | $0.54 | $6.48 | $0.00 | - | $6.48 |
| Amazon RDS for PostgreSQL | $1.92 | $23.08 | $0.00 | 1 | $23.08 |
| Total Monthly Estimate | $38.49 | $461.92 | $0.00 | - | $461.92 |
- Monthly: Estimated monthly cost for each service.
- Yearly: Estimated yearly cost calculated from the monthly cost.
- Upfront: One-time upfront cost.
- Number of Instances: For services with instances, the number of instances considered.
- Total: The sum of all monthly costs.
Note: The provided estimate is based on AWS Pricing Calculator and may not include taxes or other factors affecting actual costs. https://calculator.aws/#/estimate?id=45d12ea1039119e0a5ef29937597b3122e1b11d5
Feel free to follow this README to successfully deploy the Mission Logs application on AWS!