SpringBoot 프로젝트를 EC2로 배포하고 AWS RDS MariaDB를 연결해서 실행되는 것까지 확인할 것이다.
1. 인스턴스 생성
1) 인스턴스 생성
키페어를 새로 생성해주었다.
스토리지는 무료 최대 사이즈인 30으로 설정하고 생성해주면 된다.
2) 인바운드 규칙 편집
MariaDB는 MYSQL/Auroa 유형으로 설정해주면 된다.
3) 탄력적 IP 설정
인스턴스를 중지했다가 다시 실행해도 IP가 변경되지 않도록 탄력적 IP를 설정했다.
설정하지 않아도 무관하다.
나중에 인스턴스를 삭제하면 탄력적 IP도 삭제해주도록 하자.
기본 설정 그대로 할당했다.
연결된 인스턴스 ID가 비어있다. 연결시켜 주자! 이 탄력적 IP 주소 연결 클릭한다.
이전에 생성한 인스턴스를 선택해준다.
2. AWS EC2 서버 접속
window는 ssh프로그램이 없으므로 git bash창을 사용한다.
다음과 같은 형태로 입력한다
ssh -i 까지 치고 받은 키 페어를 끌어다 놓기만 하면 알아서 경로가 입력된다.
ssh -i 키페어 ubuntu@퍼블릭IP주소
필자의 경우는 다음 같다.
ssh -i /c/Users/sojk4/Desktop/.ssh/sshkey_gpt.pem ubuntu@IP주소
Are you sure you want~ 이런 질문이 나오면 yes 하면 된다.
다음과 같이 뜨면 연결 성공
1) apt-get 업데이트
$ sudo apt-get update
2) JDK설치
필자는 JDK17을 사용하기 때문에 다음 명령어로 설치했다.
$ sudo apt install openjdk-17-jdk
java -version과 javac -version으로 잘 설치 됐는지 확인해보자.
3) git 설치
나중에 git을 사용할거라 미리 설치해 두었다. 단순히 로컬에서 jar파일을 빌드해서 올릴거면 안해도 된다.
$ sudo apt-get install git
git --version을 입력해서 잘 설치됐는지 확인해보자.
4) MariaDB 설치
$ sudo apt install mariadb-server
접속해보자.
$ sudo mysql -u root -p
Enter password: 엔터
root@localhost 권한과 비밀번호를 설정해보자.
다음을 입력하면 MariaDB 접속할 때 sudo를 안 쓰고 로그인이 가능하다.
$ grant all privileges on *.* to 'root'@'localhost' identified by '설정할 비밀번호' with grant option;
exit로 빠져나와 sudo 없이 다시 접속해보자
select now(); 를 입력해보자. MariaDB는 시스템 시간을 따라가서 시간이 다른 것을 볼 수 있다.
exit로 나와서 시간대를 변경해주자.
$ sudo timedatectl set-timezone 'Asia/Seoul';
$ sudo systemctl restart mysqld; //mariadb 재실행
마리아 db에 다시 접속해서 select now();로 시간을 확인해보자
현재 시간과 일치!
필자는 따로 생성한 AWS RDS mariaDB에 접속할 것이다.
관련 포스트는 다음을 참고하면 된다.
https://yeon-dev.tistory.com/178
[Spring] SpringBoot, AWS RDS MariaDB 생성 및 연동
AWS RDS MariaDB를 생성해 스프링 부트와 연동해보자. 1. AWS RDS MairaDB 생성 데이터베이스 생성 버튼을 클릭하고 MariaDB를 선택한다. 템플릿은 프리티어, 식별자는 원하는대로 작성하면 되고, 마스터의
yeon-dev.tistory.com
3. 파일질라를 이용해 jar 파일 업로드
필자는 로컬에서 jar파일을 빌드한 후 파일질라를 통해 업로드 하고 실행했다.
파일 > 사이트 관리자로 들어간다. 사이트가 없으면 새로 생성해준다.프로토콜은 SFTP, 호스트는 인스턴스의 퍼블릭IP주소, 포트는 22로 설정한다.로그온 유형은 키 파일, 사용자는 ubuntu, 키 파일은 인스턴스 생성시의 ssh 파일을 설정한다.
왼쪽 창에서 오른쪽 창으로 원하는 파일을 드래그앤 드롭해서 옮긴다.
EC2에서 실행할 때는 다음 명령어를 입력하면 된다.
$ java -jar 파일명.jar
4. PostMan 확인
인스턴스의 public IPv4 주소로 변경해서 요청을 보내보았다. 뒤에 :8080 를 붙여야 한다는 점!
참고
https://velog.io/@yeoonnii/AWS-RDS-MariaDB-%ED%94%84%EB%A6%AC%ED%8B%B0%EC%96%B4-%EC%83%9D%EC%84%B1