API 개발환경 구성 Nginx, Spring Boot, AWS RDS(MySQL 8.0.23)

Purple·2021년 7월 27일
1

해당 게시글은,
AWS EC2 서비스를 통해 Ubuntu 18.04 환경에서 Nginx를 설치한 환경으로 진행한다.
또한 AWS RDS(Mysql 8.0.23)를 외부에서 접속하여 가용할 수 있도록 구성한 상태이다.
프레임워크로는 Spring Boot로 한다.

1. Back-End 언어 설치

EC2 인스턴스에서 백앤드 언어를 설치한다.
-y옵션을 주어서, 한번에 진행시킨다.

2. EC2 및 RDS 인바운드 규칙 설정

EC2 인스턴스에는, 자신이 사용하는 스프링 부트 프로젝트의 포트번호를 인바운드 허용해줘야 한다.
나 같은 경우에는 9000번 포트로 사용하였기에 다음과 같이 설정하였다.

RDS에는, EC2 인스턴스의 보안 그룹에서 RDS에 접근할 수 있도록 다음과 같이 허용해준다.

3. Test용 스프링부트 프로젝트 서버에 올리기

스프링 부트 프로젝트에서 AWS RDS에 접속하기 위해 다음과 같이 application.yml파일을 생성한다.

빨간색 박스에는 RDS의 엔드포인트를, 파란색 박스에는 사용하고자하는 데이터베이스의 스키마명을 입력해준다.

EC2인스턴스의 /var/www의 위치에 Test용 스프링부트 프로젝트를 클론한다.

vim /etc/nginx/sites-available/default에서
내가 관리하고 있는 server블록의 root를 해당 프로젝트 파일의 경로로 변경한다.

참고로 해당 프로젝트는, 로컬 환경에서 빌드를 미리 해주었다.
EC2환경에서 빌드를하면 가끔, 에러가 나기도 해서 미리 해주었다.

servcie nginx restart를 통해 nginx를 재시작한다.

빌드는 미리 해주었기 때문에 바로 실행을 해준다.

다음과 같이 테스트로 작성해둔 url로 Get Mapping이 성공되었음을 확인할 수 있다.

profile
안녕하세요.

0개의 댓글