이슈

AWS EC2 배포 작업

유당불내증이 있는 개발자 2023. 9. 7. 05:39

이 방법을 권장하지 않습니다.

처음 배포시 작업했던 내용을 기록한것이니 참고하지 않으시는것을 추천

2024.12.27

-----------------------------------------------------------------------------------------------

 

AWS EC2를 이용해 배포 작업을 하며 겪었던 문제 정리

 

AWS 가입하고 EC2 인스턴스 시작하기.

 

메모리 부족

EC2 인스턴스를 만들고 연결했다.
자바설치 -> 깃 클론 -> cd 프로젝트명 -> ./gradlew build 입력 후 무한 대기에 이르게 된다.

 

중간중간 여러 오류들을 해결해보다 카페 마감으로 쫓겨났다.

 

집에와서 찾아보니 프리티어(공짜)로 이용해 램이 1GB, 램 부족현상이였다.

 

AWS에서 제공하는 프리티어 EC2 인스턴스의 성능은 기본적으로 1GB 현재 프로젝트를 감당하기 어려운듯했다. 

 

리눅스에서 제공하는 RAM swap을 통해 부족한 메모리 현상을 해결할 수 있다고 한다. 

https://ge0nmo.tistory.com/211 이분의 블로그 글을 보며 해결했다.

출처 - 잇트루님의 티스토리

 

 

그 후에 cd 프로젝트명 -> cd build -> cd libs 경로 안에 jar 파일을 실행 시킨다.

 

java -jar 프로젝트명-0.01-SNAPSHOT.jar

 

MYSQL 서버 연결

아마 데이터베이스에 연결하라는 오류가 발생할것이다.

 

MYSQL 설치는

https://velog.io/@cptkuk91/AWS-EC2%EC%97%90-MySQL-%EC%84%A4%EC%B9%98-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0  블로그 참고.

 

url을 해당 인스턴스 ipv4주소로 바꿔준다 

 

mysql -u root -p  사용자 접속 후

데이터베이스 만들어 주고 테이블 생성 명령어 날리기

 작성 해 놓은 게 있다면 복붙해준다. 

 

아 개발시에는  yml JPA설정부분을 create를 사용하면 편하겠지만 배포에서 validate로 해야하니 미리미리 테이블쿼리를 작성해 놓자.

 

성공

외부에서 접속하기 위해 보안설정도 해줘야한다. 

보안 - 인바운드규칙에서 설정 (간단하니 찾아보자)

 

 

순서정리

 

1.메모리용량늘리기 

2.자바 설치

3.깃 클론

4. ./gradlew build  <<- 요기까지 되는지 확인

5.mysql 설치
6.데이터베이스, 테이블 만들어주기 

7. jar파일 실행 

 

글로 정리하다 보니 간단하다. 나는 왜그리 해맸을까

 

 

배포주소

http://ec2-43-202-56-183.ap-northeast-2.compute.amazonaws.com:8080/

웰컴페이지 정도 만들어 놔야겠다.

 

 

 

 

++ 스타벅스 와이파이로 접속하면 안들어가진다.. 보안쪽을 점검해보자