RDS에 접근하기 위해 Dao에서 쿼리문을 작성했고 정보를 가져오려고 했으나, 계속해서 아래와 같이 데이터베이스 연결에 실패했다는 Response가 확인되었습니다. (ps. 아래 Response 구문은 제 서비스에서 작성한 임의의 쿼리문에 대한 Response 입니다.)
{
"isSuccess" : false,
"code" : 4000,
"message" : "데이터베이스 연결에 실패했습니다"
}
문제는 Application.xml 에 있었습니다. url 에 RDS 의 앤드포인트를 넣는것이 아니라, EC2의 IP 주소를 기입했습니다.
저는 RDS 와 EC2 에서 생성한 데이터베이스의 개념을 혼동해서, 둘이 동일한 것으로 착각하고 있었습니다. RDS 로 생성한 데이터베이스의 엔드포인트를 Application.xml 의 속성정보로 넣어줘야하지만, 이전에 생성한 EC2 인스턴스의 IP 주소를 속성으로 부여해서, 해당 EC2의 인스턴스에 존재하는 내부 스키마와 연동한 것입니다.
아래와 같이 Applicaion.xml 에 url 속성을 기입해주시면 됩니다.
참고로 EC2의 DB 와 연동하실 분들은 인바운드 규칙을 하나 추가해주셔야합니다. MySQL 에 대한 포트번호를 3306 번으로 꼭 열어주시길 바랍니다.
spring.datasource.url=jdbc:mysql://ip주소:3306/내부DB 스키마명
spring.datasource.username=이름(아이디)
spring.datasource.password=비밀번호
spring.jpa.hibernate.ddl-auto=update
RDS 에 연동할 경우는 ip주소에 들어갈곳에 RDS 의 엔드포인트를 대신해서 넣어주시면 됩니다.
spring.datasource.url=jdbc:mysql://엔드포인트:3306/내부DB 스키마명
spring.datasource.username=이름(아이디)
spring.datasource.password=비밀번호
spring.jpa.hibernate.ddl-auto=update
결과적으로 아래와 같이 성공적인 Response 를 응답 받을 수 있게 되었습니다.