[AWS를 이용한 시스템 설계 및 구축과 배포] 17. 다중 서버 React js + Spring boot + MySQL 배포 (영상 설명 한 번 읽어주세요)
- 다중 서버 배포는 React.js (웹 서버), Spring Boot (WAS), MySQL (DB 서버)를 분리하여 각기 다른 인스턴스에 배포하는 과정을 상세히 설명합니다. 🌐
- 프로젝트 클론 후, Spring Boot는
application.properties에 DB 서버의 프라이빗 IP를, React.js는 .env 파일에 WAS 서버의 퍼블릭 IP/DNS를 환경 변수로 설정하는 것이 핵심입니다. ⚙️
- Spring Boot 프로젝트는 Gradle을 사용하여 빌드하고, 생성된 JAR 파일을
systemd 서비스로 등록하여 백그라운드에서 안정적으로 실행되도록 구성합니다. 🚀
- React.js 프로젝트는
npm run build로 빌드한 후, serve와 PM2를 전역 설치하여 ecosystem.config.js를 통해 백그라운드에서 관리하며 실행합니다. 📦
- 배포된 시스템의 정상 작동 여부는 Spring Boot의 로그 파일 확인 및 React.js 웹 페이지 접속 후 회원가입/로그인 기능 테스트를 통해 검증합니다. ✅
- 다중 서버 아키텍처는 각 컴포넌트(프론트엔드, 백엔드, DB)의 독립적인 확장 및 유연한 리소스 관리가 가능하다는 장점이 있습니다. 📈
- 하지만 여러 인스턴스 및 추가 네트워크 구성(예: 로드 밸런서)으로 인해 시스템 복잡도가 증가하고 비용이 상승할 수 있다는 단점도 존재합니다. 💸
- 향후 CI/CD 파이프라인을 구축하면 코드 수정 및 재배포 과정을 자동화하여 효율성을 크게 높일 수 있음을 시사합니다. 🔄