지금까지 h2
데이터베이스를 통해 localhost에서만 확인하던 프로젝트를 aws
를 활용하여 MySQL
을 연동하려고 한다. 이제는 프로젝트를 꺼도 데이터가 남아있게 되는 것이다!!
(맨날 데이터 넣어주는 수고는 끝!)
Amazon RDS에 접속 - 데이터베이스 생성
데이터베이스 생성 방식 선택 - 표준생성, 엔진 옵션 - MySQL
템플릿 - 프리 티어 클릭 (계정 생성 후 12개월 이내만 무료로 사용 가능)
설정 - 인스턴스 식별자, 이름, 암호 -> DB접속에 사용해야하므로 기억하고 있어야 함
연결 - 퍼블릭 엑세스 -> 집에서 접속하기 위해서는 반드시 퍼블릭으로 생성
VPC - 새로 생성
새 VPC 보안 그룹 이름 작성
가용 영역 -> 아무거나 선택해도 문제 없음
데이터베이스 옵션 - 초기 데이터베이스 이름 -> 입력하지 않으면 데이터베이스가 생성되지 않는다.
데이터베이스 생성을 눌러서 마무리
springboot-database 클릭
연결 & 보안 -> 보안 -> VPC 보안 그룹의 springboot-db-security 클릭
보안 그룹 ID 클릭
인바운드 규칙 편집 클릭
규칙 추가 -> 포트범위: 3306 -> 소스 -> Anywhere-IPv4 -> 0.0.0.0/0 & Anywhere-IPv6 -> ::/0
규칙 하나로는 0.0.0.0/0와 ::/0와 을 동시에 넣을 없음 -> 규칙 두 개를 추가하여 두 줄로 하나씩 추가
데이터베이스 - springboot-database - 연결 & 보안 - 엔드포인트 - 복사해두기
ItelliJ 실행 후 우측에 Data Source > MySQL 클릭
Test Connection을 클릭하여 Test를 성공하면 OK 클릭
application.properties에 다음 코드 추가
-> 처음에 그대로 복사/붙여넣기만 했다가 오류가 났었다.
-> 한글로 된 각 자리마다 위에서 작성했던 엔드포인트, 이름, 암호를 입력해주어야 한다.
spring.datasource.url=jdbc:mysql://나의엔드포인트:3306/myselectshop
spring.datasource.username=나의USERNAME
spring.datasource.password=나의패스워드
spring.jpa.hibernate.ddl-auto=update
프로젝트를 작동시키고 데이터가 잘 들어가는지 확인하라고 하였지만 여기서부터 막혔다...
어떻게 작동시켜서 어디서 데이터를 입력해야하는지 모르겠다. 이제 H2는 안 쓰는 거니까...
확인 이후 EC2 준비하고 배포하기도 이어서 진행해야겠다.