🎈 AWS를 통해 배포해보자
이번에는 나눠서 작성을 할 것인데 이어지는 글에서는 만든 프로젝트를 AWS
를 통해 배포 해볼 것이다.
그리고 여태까지는 H2
데이터베이스를 통해 테스트용으로만 사용했지만,
이제는 서버가 다운돼도 데이터가 초기화되지 않게 MySQL
을 연동해 볼 것이다.
나 혼자 로컬로 접속하는 것이 아닌 다른 사람들도 내 페이지에 접속해서 사용할 수 있게 되는 것이다!
🔧 AWS RDS 설정
AWS RDS 서비스에 접속해서 데이터베이스를 먼저 생성해보자




- 프리티어 이용자들은 꼭!!
프리티어
선택
- 나머지는 돈 많이 나감

- 사용할 때, 알아보기 위한 식별자와 마스터 이름, 암호가 필요하다.
- 까먹지 않도록 본인이 기억할 수 있는 것으로 하기

- 퍼블릭 액세스를 반드시
"예"
로 변경해줘야 한다. 그래야 접속을 할 수 있다.
- 보안그룹도 새로 설정할 것이기 때문에 만들어준다.
- 가용영역은 아무거나. 포트도 그대로.

- 추가 구성에서 초기데이터베이스 이름 꼭 설정하기
- 지정하지 않으면 생성하지 않는다고 한다.
그러고 나서 생성하기를 눌러주면 된다.
그럼 아래와 같이 새 데이터베이스가 생성된 것을 볼 수 있다.

만들어진 데이터베이스를 클릭하고 들어가서 보안그룹 설정을 해보자




- 위치무관으로 아무나 3306포트에 접근할 수 있게 열어준다.
- 어차피 마스터이름과 암호는 우리만 알고 있기 때문에 일단은 그렇게 한다.
실무에서는 지정해놓는다고 하지만 연습하는 단계기 때문에
🔧 Spring Boot , MySQL 연동

- 이제 프로젝트에 MySQL을 연동할건데 연결을 위해서는 DB의 엔드포인트가 필요하다.
- 저걸 복사해서 IntelliJ로 돌아가자

- 오른쪽 구석에 있는 database를 클릭하면 창이 펴지는데 +를 눌러서 MySQL을 눌러주자

- 입력할 것은 이 정도다.
- Name은 아무거나 해도 된다.
- Host에는 복사한 엔드포인트를 붙여넣어 준다.
- User와 Password 에는 생성할 때 설정한 마스터 이름과 암호를 입력해준다.
- Database에는 생성할 때 추가구성에서 설정한 이름을 넣어준다.

- 그러고 ok 해주면 데이터베이스가 들어가 있는걸 확인할 수 있다.
다음으로 스프링부트에 설정을 해줘야한다.
application.properties
spring.datasource.url=jdbc:mysql://엔드포인트:3306/db이름(myselectshop)
spring.datasource.username=마스터이름
spring.datasource.password=패스워드
spring.jpa.hibernate.ddl-auto=update
이러면 연동은 끝이다. 서버를 실행시켜서 테스트를 해보자

데이터가 아주 잘 들어가 있다. 서버를 재시작해도 그대로 남아있다.
여기까지가 MySQL 세팅 끝이다.
다음 글에서는 AWS EC2에 프로젝트를 올려서 배포해보자