✅ EC2 + Docker 배포 정리
1. EC2 인스턴스 준비
- 인스턴스 유형:
t3.small
(vCPU 2개, RAM 2GB)
- 키 페어 생성:
yujindong-key.pem
(SSH 접속용)
- 보안 그룹 설정
- 포트 22 (SSH)
- 포트 80 (HTTP)
- 포트 443 (HTTPS)
- 포트 8080 (백엔드 API)
- 포트 3000 (프론트엔드)
2. EC2 서버 세팅
- Docker 설치
- Docker Compose 설치
usermod -aG docker ec2-user
로 도커 명령어 sudo 없이 사용 가능하도록 설정
hello-world
로 도커 정상 작동 확인
3. 프로젝트 전송
- 로컬에서
scp
명령어로 프로젝트 폴더 전체 업로드
- 민감 파일은
.gitignore
외에도 수동 확인 후 필요 시 EC2에서 삭제
4. 프론트엔드 환경 설정
.env.local
, .env.production
구성
- 코드 내
process.env.NEXT_PUBLIC_API_URL
기반 URL 설정
ENV NODE_ENV=production
Dockerfile에 명시
- Dockerfile에 멀티 스테이지 빌드 적용
dockerfile
복사편집
# builder
FROM node:18 AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build
# production
FROM node:18
WORKDIR /app
COPY --from=builder /app ./
EXPOSE 3000
CMD ["npm", "start"]