0. AWS EC2, RDS 활용 Sping boot 빌드, 배포
스프링 인스타그램 클론코딩 프로젝트 진행 중
무중단 배포 테스트를 위해 AWS EC2와 RDS를 사용하였다
EC2 인스턴스로 리눅스 서버를 구축하고
RDS로 MariaDB를 구축하고
탄련적 IP로 IPv4 주소를 할당 한 후
한국도메인 사이트를 이용하여 도메인을 설정하였다
이후 리눅스 서버를 깃허브와도 연동하여 CI/CD(Continuous Integratio/Continuous Deployment)로 자동화를 하려고했으나
AWS 프리티어의 적은 RAM 용량으로 빌드 중 계속해서 서버가 멈추는 현상이 발생해서
노트북 개인서버를 포트포워딩으로 접속하는 방식으로 바꾸었다.
(노트북을 안끄면 무중단배포니깐...)
1. MAC OS에서 스프링 빌드
터미널을 열어서 프로젝트가 저장된 경로로 이동한다.
./gradlew build
를 입력하여 프로젝트를 빌드한다.
cd build/libs 로 빌드된 폴더로 이동하면 다음과 같은 빌드된 jar 파일이 존재한다.
java -jar 파일명.jar 로 빌드된 프로젝트를 구동시킨다.
이 후 localhost:8080 으로 접속하면 배포된 프로젝트에 접속이 가능한 걸 볼 수 있다.
여기서 접속 포트를 80으로 바꿀 수 있지만
외부에서 접속하려면 어차피 포트포워딩이 필요하므로
80번 포트를 8080으로 포트포워딩 하였다.
2. 포트포워딩
포트포워딩 - 외부에서 집에 있는 공유기가 할당받은 IP에 접속한 후, 공유기에 연결되어 있는 장치의 포트를 접근하기 위한 이정표
포트포워딩 방법은 공유기따라 다르므로 현재 쓰고 있는 KT 공유기로 작성하였다.
172.30.1.254로 접속하여 관리자 페이지로 들어간다
초기 아이디 : ktuser
초기 비밀번호 : homehub
로그인하면 아이디와 비밀번호를 변경하는 창이 나온다
변경 후 로그인을 다시해준다.
로그인하면 다음과 같은 화면이 나온다.
장치설정 -> 트래픽 관리로 들어가면 포트 포워딩 설정 화면이 나온다.
여기서 내부 IP 주소를 알아야 포트 포워딩을 할 수 있는데
맥에서는 네트워크 설정에서 IP주소를 확인할 수 있다.
다음과 같이 입력 후 추가를 누르면 3초정도 적용 후 포트포워딩이 완료된다.
이제 아이피를 입력하면 접속이 되야하는데
막상 172.30.1.52를 입력하면 접속이 안되는 걸 볼수있다.
여기서 172.30.1.52는 내부 IP주소 이므로
외부 IP주소로 접속하여야 한다.
외부 IP주소는 네이버 검색창에 '내 IP주소'를 입력하면 쉽게 알 수 있다.
위 IP를 입력하면 구동중인 프로젝트 화면이 나온다.