콘텐츠로 이동

환경 정보 (Dev / Prod)

⚠️ 시크릿 값(비밀번호·키·엔드포인트·IP)은 본 페이지에 두지 않는다. 실제 값은 GitHub Actions Secrets와 raw 환경-정보(REDACTED 처리됨)에만. 여긴 구조/변수명만.

1. 환경 매트릭스

2026-05~06 Dev를 AWS → 온프레미스로 이전(전체 토폴로지·이유: teams/engineering/infra/architecture, ADR-0017). 구 AWS Dev 구성은 architecture.md §7에 보존.

항목 Dev (현재 = 온프레미스) Prod
백엔드 도메인 apidev.d-edu.site (Cloudflare 터널) api.d-edu.site
프론트 Vercel (dev.d-edu.site) ← the-edu-project 미러 Lightsail (nginx, d-edu.site)
컴퓨팅 온프레 서버 Docker (the-edu-staging) Lightsail
DB 온프레 mysql_dev MySQL 8.4 (dedu) Lightsail MySQL dedu
Redis 온프레 컨테이너 theedu_redis 서버 내 컨테이너
Spring 프로파일 staging prod
Hibernate ddl-auto none — Flyway 적용 none — main 머지 후 DDL은 Flyway로 적용
시드 seed/dev 없음
배포 develop 머지 → self-hosted runner → GHCR main 머지 → AWS

2. 환경변수 (값은 Secrets에)

GitHub Actions Secrets에 등록(Settings → Secrets → Actions). 변수명만:

  • 공통: EMAIL_USER, EMAIL_PASSWORD, DB_ADMIN_ID/PASSWORD, KAKAO_CLIENT_ID/SECRET
  • Dev/Prod 각: DB_URL, DB_USER, DB_PASSWORD, JWT_SECRET, REDIS_HOST/PASSWORD/PORT, SENS_SERVICE_ID/ACCESS_KEY/SECRET_KEY, KAKAO_REDIRECT_URI

3. 접근 (구조)

  • Dev 서버(온프레): Cloudflare 터널 SSH — ssh d_edu@ssh.d-edu.site -o ProxyCommand="cloudflared access ssh --hostname %h" (공인 IP/포트 개방 없음)
  • Dev DB: 온프레 mysql_devtheedu_backend 네트워크 내부 + 호스트 127.0.0.1:3306만 바인딩 → 서버 안 docker 경유 접속
  • Prod 서버: SSH 키(.pem, Google Drive 관리) + 퍼블릭 IP
  • Grafana: 서버:3000 (구축 예정 — teams/engineering/infra/observability)
  • SENS(알림톡): 서브계정

4. 관련