본문 바로가기

프로그래밍/Spring

[REST API 실습] 2. AWS RDS로 MariaDB 생성해서 워크벤치에 연결하기

본 포스팅은 스터디 모임의 발표 참고자료로 사용하기 위해 작성되었습니다.

 

 

목차

1) Springboot 프로젝트 생성하고 RestController 작성 후 실행하기(Gradle)

2) AWS RDS로 MariaDB 생성해서 워크벤치에 연결하기

3) JPA(Hibernate) + HikariCP로 스프링부트 프로젝트와 RDS MariaDB 연동 후 CRUD 메소드 구현

4) Springboot 프로젝트 AWS EC2 인스턴스에 배포

5) 안드로이드 앱에서 Retrofit을 사용해서 REST API와 통신하기(CRUD 구현)

 

참고사항

1) 부가적인 설명은 최대한 배제하는 대신 모든 과정을 여과 없이 스크린샷으로 남겼습니다. 그래서 대부분의 스크린샷이 창 전체를 포함합니다.

2) 이론적인 이해가 필요한 부분은 해시 태그(#)를 통해 키워드만 남겨놓도록 하겠습니다. 

3) 모든 과정을 정확하게 따르기 위해서는 IntelliJ, Gradle, Putty, AWS 계정, Mysql Workbench, Postman이 필요합니다.(테스트 과정을 패스한다면 Mysql Workbench, Postman은 필요 없습니다.)

 

 

2. AWS RDS로 MariaDB 생성해서 워크벤치에 연결하기

 

1) AWS 접속

- AWS 계정이 없는 분들은 새로 생성해주세요.

- 계정 생성시 결제에 사용할 카드를 입력하는데 잘못된 카드를 입력할 경우 추후 계정 생성이 불가능할 수 있습니다.

- 해당 실습은 무료 한도 내에서 진행됩니다.

- 콘솔에 로그인합니다.

#CloudComputing #프리티어

 

- RDS 서비스를 검색합니다.

#RDS

 

2) RDS 서비스를 통해 데이터베이스 생성

- 데이터베이스 생성을 클릭합니다.

 

- MariaDB를 선택합니다.

- 다른 DB를 선택해도 되지만 추후 스프링부트와 연동 설정시 올바른 Driver와 Dialect를 지정해야 합니다.

#MariaDB

 

- RDS 프리 티어에 적용되는 옵션만 사용을 체크하고 다음 단계를 클릭합니다. 

 

- 기본 설정을 그대로 유지하고 DB 인스턴스 식별자(이름)과 사용자 이름 및 암호를 설정합니다.

- 사용자 이름으로 된 스키마가 생성되며 비밀번호를 잊어버리면 DB에 접속하실 수 없습니다.

#스키마

 

- 퍼블릭 액세스 가능성에 예에 체크합니다.

 

- 데이터베이스 생성을 클릭합니다.

 

- DB 인스턴스가 생성 중이라는 알림이 나오면 성공입니다.

- 인스턴스 생성에 시간이 약간 소요됩니다.

#인스턴스

 

- 인스턴스가 추가된걸 확인할 수 있습니다.

 

- 인스턴스 상태가 백업 중으로 넘어가면 인스턴스 생성이 완료된 상태이며 접근이 가능합니다.

- 엔드 포인트가 DB에 접근할 주소입니다.

- 보안그룹이 인스턴스 생성을 요청한 IP로 한정해서 접근을 허용합니다.

- 생성한 PC가 아닌 다른 PC에서 접근할 경우에는 보안그룹도 수정해야 합니다. 추후 EC2에서 접근할 때 보안그룹을 재설정할 예정입니다.

#EC2 #AWS보안그룹

 

3) 데이터베이스 접속 테스트

- Mysql Workbench를 통해 접속이 잘 되는지 테스트합니다.

- Hostname에 인스턴스의 엔드포인트, Username에 사용자 이름을 작성합니다.

- Connection Name은 관리용 별명이니 자유롭게 지정해도 무방합니다.

#MysqlWorkbench

 

- Test Connection을 클릭하고 비밀번호를 입력합니다.

 

- 접속에 성공했다는 알림을 확인하면 OK를 클릭합니다.

- 지정된 별명으로 된 Connection을 클릭합니다.

 

- 정상적으로 접속되었으며 사용자 이름의 스키마를 확인할 수 있습니다.

 

 

3장에서는 생성한 데이터베이스와 스프링부트 프로젝트를 연동합니다.