들어가며
Next.js + Prisma + PostgreSQL로 만든 사내용 프로젝트(칸반/위키 등)를 AWS에 올리면서, “어디에 어떻게 띄울까?”를 정리해 봤다.처음엔 App Runner를 쓰려다가 한국 리전(ap-northeast-2) 미지원이라 다른 선택지를 비교했고, 그 과정을 공부용으로 정리한 글이다.
1. 이 프로젝트에서 고민한 것
- 무엇을 올리는가
Next.js 풀스택 앱(Docker 이미지), RDS(PostgreSQL), S3 업로드.→ “한 개의 웹앱 + DB + 스토리지” 구조.
- 어디에 올릴 것인가 (컴퓨팅)
코드는 Docker로 빌드하고 ECR에 올리는 전제.그 이미지를 어떤 AWS 서비스에서 실행할지를 정해야 함.
- 제약
- 서비스 지역: 한국 리전(ap-northeast-2) 사용 필요.
- App Runner는 ap-northeast-2를 지원하지 않음 → App Runner 제외.
그래서 App Runner 대안으로 ECS, Lambda(+ Lambda Web Adapter), EKS를 비교했다.
2. 고민한 옵션과 이유
| 구분 | App Runner | ECS(Fargate) | Lambda + WebAdapter | EKS |
| 뭔가 | 관리형 컨테이너 서비스 | 컨테이너 오케스트레이션(관리형 Fargate) | 서버리스 함수 + HTTP 서버 어댑터 | 쿠버네티스 |
| 한국 리전 | ❌ | ✅ | ✅ | ✅ |
| Docker 그대로 | ✅ | ✅ | 변환/제약 있음 | ✅ |
| RDS 연결 | 편함 | 편함(풀 유지) | RDS Proxy 권장 | 편함 |
| 운영 부담 | 낮음 | 중간 | 낮음(대신 제약 있음) | 높음 |
| 적합한 경우 | 간단한 웹앱, 지원 리전이면 최적 | 지금처럼 “한 개 앱” 상시 운영 | 트래픽 적고 비용 민감 | 다수 서비스, K8s 팀 |
- App Runner
설정 간단하고 Docker 그대로 쓰기 좋지만, ap-northeast-2 미지원이라 이번에는 제외.
- ECS (Fargate)
Docker 이미지 그대로, RDS 연결/풀 유지하기 좋고, 한국 리전 지원.“한 개 Next.js 앱을 안정적으로 상시 운영”하기에 가장 무난한 선택.
- Lambda + Lambda Web Adapter
서버리스, 요청당 과금.대신 콜드 스타트, 실행 시간 제한, RDS 연결 수 관리(RDS Proxy 필요) 등 고려할 점이 있어서, 트래픽이 적고 비용을 최소화하고 싶을 때만 검토.
- EKS
확장성·유연성은 크지만, 한 개 웹앱만 올리기엔 운영·비용 모두 과한 선택.나중에 서비스가 많이 늘어나고 K8s를 쓸 계획이 있으면 그때 고려.
3. 이 프로젝트에서의 결론(선택 기준)
- 목표: 한국 리전에서 Next.js + RDS를 안정적으로 돌리기.
선택: ECS (Fargate) 를 1순위로 두고,
트래픽이 매우 적고 비용을 더 줄이고 싶을 때만 Lambda + Lambda Web Adapter(+ RDS Proxy) 를 대안으로 검토.
- 용어 정리:
“ECS로 배포한다” = 컨테이너 기반 웹앱 호스팅
“Lambda로 배포한다” = 서버리스 HTTP 앱 호스팅
“이번에 고민한 건 AWS 컴퓨팅/호스팅 옵션 정리” 정도로 말하면 됨.
'[React] Front-End' 카테고리의 다른 글
| Next.js 프로젝트에서 Docker·Prisma·DB가 어떻게 연결되는지 (0) | 2026.02.11 |
|---|---|
| Next.js부터 GitHub 연동까지: JIRA 클론 기술 해부 Phase 1: 기반 구축 (0) | 2026.02.05 |
| [TypeScript] 타입스크립트 기본 / 타입 / 연습 (0) | 2021.10.18 |
| [Deploy]우여곡절 많은 React netlify 배포 Page Not Found 와 Deploy Failed의 향연 (0) | 2021.10.12 |
| [FE] React 공통 컴포넌트 만들기 : 예제) 버튼(button) (0) | 2021.10.11 |