본문 바로가기

프로그래밍/스프링 부트와 AWS로 구현하는 웹서비스

8.4 스프링 부트 프로젝트로 RDS 접근하기

RDS는 MariaDB를 사용 중입니다.

MariaDB에서 스프링부트 프로젝트를 실행하기 위해서는 몇가지 작업이 필요합니다.

  • 테이블 생성 : H2에서 자동 생성해주던 테이블들을 MariaDB에선 직접 쿼리를 이용해 생성합니다.
    • RDS 테이블 생성
      • JPA가 사용될 테이블과 스프링 세션이 사용될 테이블 2가지를 생성
        • JPA 테이블은 테스트 코드 수행 시 로그로 생성되는 쿼리를 사용합니다.
        • 스프링 세션 테이블은 schema-mysql.sql 파일의 쿼리를 사용합니다.
          • File 검색 ( ctrl+shift+N)으로 찾습니다.
        • 두 쿼리문들을 복사하여 RDS에 반영합니다.
  • 프로젝트 설정 : 자바프로젝트가 MariaDB에 접근하려면 데이터 베이스 드라이버가 필요합니다. MariaDB에서 사용 가능한 드라이버를 프로젝트에 추가합니다.
    • MariaDB 드라이버를 build.gradle에 등록합니다.
      • compile('org.mariadb.jdbc:mariadb-java-client')
    • 서버에서 구동될 환경을 구성합니다.
      • src/main/resources/에 application-real.properties 파일 추가
      • p. 309 참고
    • 모든 설정 후 깃허브로 푸시합니다.
  • EC2(리눅스 서버) 설정 : 데이터베이스의 접속정보는 중요하게 보호해야할 정보입니다. 공개되면 외부에서 데이터를모두 가져갈 수 있기 때문입니다. 프로젝트안에 접속정보를 가지고 있다면 깃허브와 같이 오픈된 공간에선 누구나해킹할 위험이 있습니다. EC2서버내부에서 접속정보를 관리 하도록 설정합니다.
    • OAuth와 마찬가지로 RDS 접속 정보도 보호해야 할 정보이니 EC2 서버에 직접 설정 파일을 둡니다.
    • app 디렉토리에 application-real-db.properties 파일 생성 
      • - vim ~/app/application-real-db.properties (내용은 p.310 참조)
    • 마지막으로 deploy.sh가 real profile을 쓸 수 있도록  수정합니다.(p.310 참조)

 

모든  설정 후 deploy.sh를 재실행합니다. 

 

curl 명령어로 html 코드를 확인합니다. 

- curl localhost : 8080

 

정상적으로 보인다면 성공입니다.