프로젝트를 진행하면서 구축했던 3tier Architecture에 관해 기록할 예정이다.
아키텍처의 특징은 다음과 같다.
- 프레젠테이션 계층의 프론트엔드가 없다. ALB가 요청을 앞단에서 받아 EC2로 부하분산한다.
- 애플리케이션 계층에서 ECS를 사용하고 있으며, Auto Scaling Group의 EC2를 컨테이너 인스턴스로 사용하고 있다.
- 데이터베이스 계층에서 RDS를 MySQL을 사용하고 있으며, ElastiCache는 Redis OSS를 사용했다.
- 알림 기능을 실행하는 EventBridge Scheduler → SQS → Lambda → SES의 트리거 연결 구조가 존재한다.
위 아키텍처를 바탕으로 작성할 내용 목록은 다음과 같다.
- 3tier Architecture 구축
VPC 구축하기
bastion host 사용 및 bastion host의 대안
Auto Scaling 구축하기
ALB 생성하기
RDS 생성하기
ECS 도입하기
- 그외
application.yml에 parameter store 사용하기
CloudWatch + SNS를 통한 Billing 경보 설정 및 메일 전송
- k6 테스트 이해하기
EventBridge Scheduler → SQS → Lambda → SES를 통한 알림 및 메일 전송
github actions + ECS + ECR을 사용한 CI/CD 구축하기