Backend Deployment (ECS Fargate)
Overview
In this section, we will deploy the IELTS BandUp Backend, a Spring Boot application that serves as the core logic layer of the platform.
Unlike the Frontend, the Backend requires persistent storage and caching mechanisms to function effectively. Therefore, before launching the application containers on ECS Fargate, we must provision the data infrastructure (PostgreSQL and Redis). The Backend service will reside in Private Subnets, strictly protected by Security Groups, and will communicate with the AI services via AWS SDK.
Implementation Steps
To deploy the fully functional backend system, we will follow this sequence:
- Container Registry (ECR): Build the Spring Boot application and push the Docker image to a private ECR repository.
- Relational Database (RDS): Provision an Amazon RDS for PostgreSQL instance to store user data, test results, and content.
- In-Memory Cache (ElastiCache): Set up an Amazon ElastiCache (Redis) cluster for session management and high-speed data retrieval.
- ECS Task & Service: Define the backend task configuration (including environment variables for DB connections) and launch the service.
Content
- Setup ECR & Push Image
- Create PostgreSQL RDS
- Create ElastiCache (Redis)
- Create Service & Task