개발환경
SpringBoot 2.7.13
JDK 11.0
MySQL 8.0.32
해당 ERD를 기반으로 Database Schema를 구축하였습니다.
Relationship을 활용해 User, Flag(만남약속), 친구목록 등의 Entity-Relationship 관계를 표현하고자 했습니다.
그리고 AWS RDS를 생성하고, DataGrip 툴을 사용하여 연동하였습니다.
Host : Instance End-Point
Port : 3306(default)
User : DB 생성 시 만든 계정 아이디
Password : DB 생성 시 만든 계정 비밀번호
참고) AWS RDS 생성 시 화면
이렇게 DB 연동 후, ERD 기반 Query로 스키마를 완성하였습니다.
그리고 SpringBoot Project에도 연동해주었는데요,
build.gradle에 기본적인 설정을 해줍니다
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'mysql:mysql-connector-java'
dependencies에 jpa와 mysql을 활용할 것임을 추가해주고..
application.properties 파일에 로그인 정보들을 적어주었습니다.
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://flag-db.cbutsy3iam3a.ap-northeast-2.rds.amazonaws.com:3306/flag_db
spring.datasource.username=admin
spring.datasource.password=${DBPW}
이때, 비밀번호 부분을 환경변수로 지정해주면 접속 정보를 은닉하여 안전하게 github에 업로드할 수 있습니다.
환경변수 지정하는 법
>>
run버튼 왼쪽에 있는 Edit Configuration을 클릭해줍니다
그 후, Modify options를 클릭하고
환경 변수를 추가해줍니다
당장은 local에서 설정해준 것이지만, 나중에 가상 인스턴스를 배포했을 때 거기에서도 이렇게 환경변수로 지정해주면 됩니다!
jasypt 라이브러리를 활용하여 MD5와 DES를 통해 암복호화하는 방법을 생각했으나..
그냥 이정도로도 정보은닉은 충분할 것 같다는 생각이 들어 이정도로 마무리했습니다.
하단 블로그에서 설명해주신 jasypt로 id,pw, 심지어 endpoint도 암복호화하여 정말 안전하게 properties를 관리할 수 있을 것 같습니다.
감사합니다.
'CS > Database' 카테고리의 다른 글
[Database] Oracle Datagrip connection (0) | 2023.05.27 |
---|