RDS구매하고 MySQL 세팅
RDS구매
https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2#
1. RDS 검색
2. 데이터베이스 생성 클릭
3. 표준생성, MySQL
나는 MySQL로 작업을 해서 MySQL 선택 하였다.
4. "프리 티어" 선택
요금 부과 방지 꼭 확인 -> https://aws.amazon.com/ko/free/faqs/
5. 설정 입력하기
DB접속을 위해 꼭 필요하니 기억해둬야 함!
6. [중요] 연결
- 퍼블릭 엑세스 - 예
- 이 설정이 되어있어야 우리 컴퓨터에서 AWS RDS의 MySQL과 연결이 가능합니다.
- 정책 업데이트로 IPv4의 경우 실행 중인 EC2 인스턴스에 연경 되지 않은 유휴 상태의 탄력적 IP주소와 같은 경우는 요금이 발생하는 점도 참고!
- RDS DB인스턴스 생성 시 퍼블릭 엑세스를 허용하는 경우 퍼블릭 IPv4가 할당됩니다.
- 프라이빗으로 사용하는 경우 퍼블릭 IPv4가 사용되지 않기 때문에 이로 인한 비용은 발생하지 않음
- VPC 보안 그룹(방화벽)
- 새로 생성
- 새 VPC 보안 그룹 이름 설정
- 가용영역 - ap-northeast-2a (아무거나 선택해도 괜춘)
7. 추가구성
- 초기 데이터베이스 이름 설정 "shop" - 나중에 intellij에서 확인해야 할 때 필요하기 때문에 기억하기
8. 데이터베이스 생성!
RDS 포트 열어주기
1. 방금 생성한 데이터 베이스 "springboot-database" 클릭
2. 연결& 보안 > 보안 > VPC보안 그룹 > springboot-da-security
3. 인바운드 규칙 편집 클릭
4. 소스 > 위치무관 클릭 0.0.0.0/0, ::/0 생성 확인 후 "규칙 저장" 클릭
IntelliJ에서 확인
1. springboot-database 클릭
https://ap-northeast-2.console.aws.amazon.com/rds/home?region=ap-northeast-2#databases:
2. 엔드포인트 확인 후 복사
3. 내 프로젝트 IntelliJ에서 열기
4. 우측 DataBase 탭 클릭
5. Data Source > MySQL 클릭
6. 설정 입력
- name : springboot-database
- Host : 나의 엔드 포인트
- User : 나의 User
- Password : 아까설정한 비밀번호
- Database : shop
7. Test Connection 클릭, 성공적으로 연결됨, Ok클릭
내 프로젝트 (스프링부트) MySQL과 연결하기
1. application.properties
spring.datasource.url=jdbc:mysql://나의엔드포인트:3306/shop
spring.datasource.username=나의USERNAME
spring.datasource.password=나의패스워드
spring.jpa.hibernate.ddl-auto=update
2. 연결확인
- 프로젝트 가동후 데이터 추가, 쿼리 콘솔에서 확인하기
select * from member;
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)
작업 도중 해당 오류를 만났는데 확인해보니
"Hibernate가 필요한 JDBC 메타데이터가 없어서 사용할 SQL 방언을 결정할 수 없다는 것을 의미" 라고 한다.
application.properties 파일에 해당 코드작성해서 오류를 해결하였다.
MySQL 사용시 해당 코드 이용
- 다른 데이터베이스 사용시 사용하는 데이터베이스에 맞는 코드로 수정해야함
# Hibernate 방언 설정
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
'DevOps > Aws' 카테고리의 다른 글
[AWS] Spring boot AWS 배포 - 도메인 연결 (가비아) (0) | 2024.07.05 |
---|---|
[AWS] Spring boot AWS 배포 - 포트포워딩 & nohup적용 (0) | 2024.07.05 |
[AWS] Spring boot AWS 배포 - EC2 준비 , 배포 + thymeleaf에러 (0) | 2024.07.05 |
[AWS] Spring boot AWS 배포 - EC2 구매 (0) | 2024.07.05 |
[AWS] Spring boot AWS 배포 - 준비하기 (0) | 2024.07.05 |