S3 bucket will share static website files with server-side encryption enables for all objects. Versioning is automatically enabled to prevent accidental deletion.
Route 53 creates primary and secondary records to route traffic based on health checks.
Cloudfront creates a distribution to serve static web pages from the s3 bucket. Configured with a TLS Certificate from AWS.
I've built a resilient infrastructure with Route 53 routing to an Application Load Balancer, securely directing traffic to private instances hosting a dynamic website.
I placed a bastion host in the public subnet enabling secure SSH access to the private instances.
The infrastructure is designed for multi-region, multi-Availability Zone deployment and aimed at ensuring resiliency and minimizing downtime.
Using Fargate to host a dynamic website allows for seamless scaling based on traffic demands, enables cost-efficiency, efficient resource utilization, and removes operational overhead.
Fargate can be employed for backend processing of on-demand tasks, such as image or document processing that allows the organization to efficiently scale resources based on variable workloads without the need for managing dedicated servers.
Description
I created an image in docker and pushed it to the container registry in AWS in order to run it in a serverless fashion through fargate.
The infrastructure is fuly serverless, resilient, highly available and configured to failover to a backup region with zero downtime.
I maximized the security by placing the ECS service in private subnets which can only be accessed through the load balancer. The image runs on a container and keeps its important details in a Dynamo database.
This architecture diagram shows a highly available AWS deployment where traffic from users flows through Route 53 DNS to a load balancer in the public subnet.
The load balancer directs requests to EC2 instances running Red Hat and Apache in private subnets, which are managed by an auto scaling group for reliability.
The application is backed by a PostgreSQL database with a main instance and a replica, while monitoring and security are handled by CloudWatch and SSL/TLS.