클라우드 아키텍처 4 3 tier architecture - 100-hours-a-week/16-Hot6-wiki GitHub Wiki

☁️ On The Top Cloud Architecture (3-Tier 단계)\

4단계 – 3-Tier Architecture

이 문서는 "On The Top" 서비스가 3-Tier 아키텍처를 기반으로 운영되는 현재 인프라 구조를 설명합니다. CI/CD는 구축 중이며, 아직 Docker 기반으로 전환되거나 Kubernetes 기반 오케스트레이션(EKS)은 적용되지 않은 상태입니다. Redis 또한 추후 도입 예정입니다.

1. 3-Tier 구조 설명

현재 아키텍처는 전통적인 3-Tier 구조에 기반하여 구성하였습니다:

Tier 구성 요소 역할
Presentation Tier Frontend (React), Nginx 사용자 인터페이스 제공
Application Tier Backend (Node.js/Express) 비즈니스 로직 처리, API 제공
Data Tier MySQL DB (Dev/Prod/Replica) 영속 데이터 저장 및 조회

이 구조를 통해 각 Tier의 책임이 명확하게 분리되며, 유지보수성과 확장성을 동시에 확보하였습니다.

2. 현재 인프라 설명

운영 (Production) 환경

  • 백엔드: GCP Managed Instance Group에서 자동 확장
  • DB: Primary/Secondary MySQL 인스턴스로 구성 (Replication)
  • 로드밸런서: HTTPS Load Balancer가 외부 요청을 분산

개발 (Dev) 환경

  • 백엔드/프론트엔드: 단일 VM에서 함께 구동되며, Nginx로 reverse proxy 구성
  • DB: 별도 Dev MySQL 인스턴스
  • AI 모델 연동: GCP 별도 VPC에서 Dev/Prod와 모두 연동

AWS 연동

  • S3: 정적 파일 (프론트 빌드, 업로드 이미지) 저장소
  • CloudFront: 정적 콘텐츠 전송 최적화
  • Route 53: DNS 관리 (onthe-top.com, dev.onthe-top.com)

3. CI/CD 적용 현황 (2~3단계 중간)

  • CI: GitHub Actions에서 프론트엔드/백엔드 빌드 자동화 진행 중
  • CD: 아직 완전한 자동 배포는 아닌 상태로, 일부 수동 또는 스크립트 기반 배포
  • 배포 방식: 현재는 빅뱅 배포 방식에서 점진적으로 Blue/Green 배포 등으로 개선 예정

4. 도입 예정 기술과의 연계

기술 현 상태 향후 도입 후 변화
Docker X VM → 컨테이너 단위 관리, 포팅 쉬움
EKS/Kubernetes X 자동 복구, 확장성 극대화
Redis X 세션 저장, 큐, 캐시 등 활용 가능성
ArgoCD / GitOps X 완전한 배포 자동화 및 Rollback 가능성

5. 보안 및 운영 관리

  • WireGuard VPN을 통해 로컬/Discord 등에서 내부 환경 접근
  • Prometheus, Grafana, AlertManager로 모니터링 체계 구축
  • Cloud NAT를 통한 Private VM 인터넷 접근 제한
  • 모든 운영/개발 DB는 내부 서브넷에서만 접근 가능

6. 결론

이 아키텍처는 전통적인 3-Tier 구조의 완성형 예시로, 단계적으로 CI → CD → Docker → EKS → Redis로 나아갈 수 있는 중간 지점에 위치합니다.

이후 단계에서는:

  • Dockerization 및 EKS 전환을 통한 탄력성과 이식성 확보
  • Redis를 통한 세션/캐시 최적화
  • 완전한 GitOps 기반 배포 자동화 등을 통해 클라우드 네이티브 인프라로 진화할 수 있습니다.