AWS EC2 배포 작업
이 방법을 권장하지 않습니다.
처음 배포시 작업했던 내용을 기록한것이니 참고하지 않으시는것을 추천
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 설치는
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/
++ 스타벅스 와이파이로 접속하면 안들어가진다.. 보안쪽을 점검해보자