Skip to content

04 System Architecture

haenin edited this page Jan 14, 2026 · 4 revisions

시스템 아키텍처

KakaoTalk_Photo_2026-01-15-00-27-58-1

🧱 전체 아키텍처 개요

HERO는 Frontend / Backend / Python Processing Server로 역할을 명확히 분리한 구조입니다.
각 영역은 독립적으로 배포·확장 가능하도록 설계되어 서비스 안정성과 운영 효율을 높였습니다.


🎨 Frontend (사용자 UI 영역)

  • 역할

    • 사용자 화면 제공
    • 정적 리소스(Vue 빌드 결과) 제공
  • 구성

    • GitHub Actions로 빌드 및 배포
    • EC2 + Nginx 기반 정적 파일 서빙
    • Route53 → ALB → EC2 구조
    • AZ 이중화 구성으로 가용성 확보
    • Blue/Green 방식으로 무중단 배포 지원

⚙️ Backend (핵심 비즈니스 로직)

  • 역할

    • 인증/인가
    • 근태, 급여, 평가 등 핵심 비즈니스 처리
    • Frontend 및 Python 서버와의 API 통신 허브
  • 구성

    • Private Subnet에 EC2(Spring Boot) 배치
    • ALB → Target Group → EC2 구조
    • Elastic Beanstalk 기반 Blue/Green 배포
    • 외부 노출 없이 내부 네트워크로만 접근

🧠 Python Processing Server (분석·연산 전용 서버)

  • 역할

    • 평가 데이터 분석
    • 점수 계산, 통계 처리
    • 추천 로직 및 연산 집중 작업 수행
  • 구성

    • Backend와 분리된 EC2(Python) 인스턴스
    • Private Subnet 배치
    • ALB + Target Group 기반 트래픽 제어
    • Backend에서 내부 API 호출 방식으로 연동

🛡️ Database & Security

  • Database

    • RDS (MariaDB)
    • Private Subnet 구성
    • Backend 서버에서만 접근 가능
  • 보안 구성

    • Bastion Host를 통한 관리자 접근
    • NAT Gateway를 통한 Private Subnet의 외부 통신
    • 서비스 서버는 직접 외부 접근 차단

HERO는 UI, 비즈니스 로직, 연산 처리 영역을 명확히 분리하고 무중단 배포와 보안성을 동시에 고려한 AWS 기반 서비스 아키텍처입니다.

Clone this wiki locally