배운 것
MySQL을 AWS RDS에 설치 후, 컴퓨터에 연결해보기 ( 데이터를 클라우드에 저장 )
AWS에서 EC2(컴퓨터)를 사고, 프로젝트 배포해보기
도메인을 붙여보기
내용 정리
MySQL을 AWS RDS에 설치 후, 컴퓨터에 연결해보기
AWS RDS에서 MySQL로 서비스를 생성했다.
그리고 누구나 접근할 수 있도록 포트를 열어줬고 ( 기본 생성 시 포트가 막혀있음, 실무에선 접근할 수 있는 IP를 특정함 )
인텔리제이와 연결!
application.properties에서 다음과 같이 설정
spring.datasource.url=jdbc:mysql://나의엔드포인트:3306/myselectshop
spring.datasource.username=나의USERNAME
spring.datasource.password=나의패스워드
spring.jpa.hibernate.ddl-auto=update
연결 완료!

EC2를 구매하고 프로젝트 배포해보기
우선 배포 파일을 빌드한다.
Gradle -> Tasks -> build -> build를 더블 클릭하면 빌드가 실행되고 build폴더 libs에 .jar파일이 생김

EC2환경에서 OpenJDK를 설치하고 Filezilla를 이용해서 배포파일을 구매한 EC2에 업로드한다
OpenJDK 설치
sudo apt-get update
sudo apt-get install openjdk-11-jdk
java -version
Filezilla로 배포파일을 EC2에 업로드하기

스프링 작동 시키기
java -jar JAR파일명.jar
이렇게 단계를 밟으면 배포설정이 완료되지만, 배포가 되진 않는다.
AWS에서 80,8080포트가 닫혀있기 때문인데, 열어주면 된다.
본인 인스턴스의 보안 -> 인바운드 규칙 편집에서 설정하면 됨
접속할 주소
http://내AWS아이피:8080
접속이 성공적으로 수행되는 것을 확인 가능
포트번호 8080을 뗄 수도 있다.
http 요청에서는 80포트가 기본이기 때문에, 굳이 :80을 붙이지 않아도 자동으로 연결된다.
이를 활용해 포트 번호를 입력하지 않아도 자동으로 접속되기 위해, 우리는 80포트로 오는 요청을 8000 포트로 전달하게 하는 포트포워딩(port forwarding) 을 사용
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
접속할 주소
http://내AWS아이피/
포트번호 8080을 붙이지 않고도 접속이 가능해 진다
서버를 구동중인 터미널을 종료하면 (=즉, SSH 접속을 끊으면) 프로세스가 종료되면서, 서버가 돌아않는다.
그러나 우리가 원격접속을 끊어도, 서버는 계속 동작해야 하기 때문에, 아래의 설정을 추가해주면 좋다.
원격 접속을 종료하더라도 서버가 계속 돌아가게 하기
# 아래의 명령어로 실행하면 된다
nohup java -jar JAR파일명.jar &
서버 종료하기 - 강제종료하는 방법
# 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
ps -ef | grep java
# 아래 명령어로 특정 프로세스를 죽인다
kill -9 [pid값]
도메인 붙여보기
접속할 때마다 IP주소로 접근하는 것은 기억하기 어렵기 때문에, 도메인 주소를 매핑해서 접속이 가능하게 만들어보자!
도메인은 가비아에서 구매했고, 매칭시켰다.
접속할 주소
http://내도메인/
느낀 점 / 보완할 점
5주차를 마쳤다.
처음으로 프로젝트를 배포까지 해보았다. 뿌듯
프로젝트를 빌드하고, 배포하는 방법을 익혔는데, 처음해보는 부분이라 아직 익숙치 않다.
프로젝트를 수행하고 배포해보는 경험을 더 쌓아야 할 듯!
'아카이브 > 스프링' 카테고리의 다른 글
| 스파르타 코딩클럽 [ Spring 심화반 ] - 1주차 (0) | 2022.01.26 |
|---|---|
| 스파르타 코딩클럽 [ 웹 개발의 봄, Spring ] - 회고 (0) | 2022.01.24 |
| 스파르타 코딩클럽 [ 웹 개발의 봄, Spring ] - 4주차 (0) | 2022.01.22 |
| 스파르타 코딩클럽 [ 웹 개발의 봄, Spring ] - 3주차 (0) | 2022.01.05 |
| 스파르타 코딩클럽 [ 웹개발의 봄, Spring ] - 2주차 (0) | 2022.01.02 |