클라우드 아키텍처 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 기반 배포 자동화 등을 통해 클라우드 네이티브 인프라로 진화할 수 있습니다.