🤔 전체 배포 과정 결정 사항
Github Action 빌드 vs 서버에서 빌드
- Github Action에서 테스트가 완료되면 빌드 결과를 ncp 서버로 넘겨서 (ssh, scp 방식) 실행하여 배포
- Github Action에서 테스트가 완료 되면 서버에 스크립트를 통해서 배포를 진행하도록 하는 방식
- 확인해야 되는 내용
- FE는 SPA이므로 빌드된 app.js, index.html 정적 파일을 제공할 수 있어야함
- 서버에 인터넷이 되는가? ✅
- git clone(pull) 후 빌드
- public 서버여서 배포 가능
- ssh 키 생성 ✅
- RSA 방식으로 생성하여 Github에는 Secret 키를 등록해두고, 인스턴스 서버에는 공개 키를 보유하는 방식으로 사용 가능
Frontend 배포 방식
프론트엔드 배포 진행 시에 선택해야 되는 것
- s3 vs nginx
- cloudfront vs cloudflare
서버 분리
- Nginx 서버 (진입점)
- SSL 설정 ( 80 포트 ⇒ 443 포트 )
- 정적 파일 서빙 로직, 서버 로직의 분리
- WAS를 private 서버로 설정하여 안전성 강화 (
- WAS 서버 (Nest)
- DB, Redis 서버(추후 예정)
VPC 설정
- DB,WAS 서버는 private으로 설정
- Nginx 서버는 public 서버로