Appearance
AWS Infrastructure Overview
Context
This document provides a detailed overview of the AWS public access infrastructure.
Architecture Diagram
Purpose of the Infrastructure
The goal of this infrastructure is to:
- Deliver public image assets quickly to users around the globe.
- Securely manage and serve video content requiring controlled access.
- Provide a scalable and reliable API for application functionality.
Components and Workflow
1. CloudFront (CF)
CloudFront serves as the entry point for all traffic and provides the following functionalities:
- Image Distribution: Serves public image assets stored in the S3 bucket.
- Video Distribution: Secures access to video content by requiring signed URLs.
- API Traffic Management: Routes API requests to the Application Load Balancer (ALB).
2. S3 Bucket - Images
- Purpose: Stores publicly accessible image assets, such as thumbnails, banners, or logos.
- Access: Content is publicly available and distributed via CloudFront for enhanced performance and caching.
3. S3 Bucket - Videos
- Purpose: Stores video content, including episodes or VOD.
- Access Control: Requires signed URLs to ensure only authorized users can access the content.
- Integration: Works seamlessly with CloudFront to deliver secured video streams to end users.
4. Application Load Balancer (ALB)
- Purpose: Balances incoming API traffic across multiple ECS tasks (containers).
- Features: Ensures high availability, scalability, and reliability of the API backend.
5. Elastic Container Service (ECS)
- Purpose: Hosts the backend API services using Docker containers.
- Scalability: Dynamically adjusts based on traffic and workload demands.
- Integration: ECS tasks are registered with the ALB, ensuring seamless load balancing.