환경 정보 (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_dev는theedu_backend네트워크 내부 + 호스트127.0.0.1:3306만 바인딩 → 서버 안 docker 경유 접속 - Prod 서버: SSH 키(.pem, Google Drive 관리) + 퍼블릭 IP
- Grafana: 서버:3000 (구축 예정 — teams/engineering/infra/observability)
- SENS(알림톡): 서브계정
4. 관련¶
- teams/engineering/infra/architecture, teams/engineering/infra/observability
- teams/engineering/guides/db-migration (ddl-auto none + Flyway)
- teams/engineering/guides/cicd (Secrets 사용)