RDS INSTANCE CLASS 생성

단일 AZ db.t2.micro 인스턴스에서 Amazon RDS의 750시간의 시간을 프리티어는 사용할 수 있으며 20GB의 범용 스토리지(SSD), 20GB의 자동 백업 스토리지 및 사용자가 시작한 모든 DB 스냅샷을 기록할 수 있습니다.

스토리지에 대한 정보가 궁금하면 참조하자.
스토리지 유형별 성능과 설명



중간에 생각나서 찾아봤는데 다중 AZ 배포가 무엇인지는 깊게 들여다보지는 않았고 대충 이정도로 설명이 나와있는대로 이해했다.
나중에 시간이 나면 한번 찾아보자.
Multi-AZ Deployment에 대한 설명 (AWS 사이트)
Multi-AZ Deployment ?
장애에 대응할 수 있는 이중화를 위한 다중 가용 영역Multi-AZ 복제와 고성능 I/O를 제공하는 Provisioned IOPS Storage를 사용할 것인지 선택합니다. Multi-AZ와 Provisioned IOPS Storage를 사용하면 추가 요금이 발생합니다.

퍼블릭 엑세스 기능에 "예"를 눌러서 외부에서 접근 가능하게 해줍니다.
보안그룹은 새로 생성으로 만든다.
가용영역은 저렇게 비워놔도 알아서 잡아주는 것 같다.
mySQL의 포트 3306
RDS 포트 열어두기
연걸&보안 > 보안 > VPC 보안그룹 클릭 > 보안그룹 ID 클릭 > 인바운드 규칙 편집 <BR> (인바운드 규칙 편집) 소스 -> 위치 무관
VPC: DB 인스턴스가 위치할 네트워크(VPC)입니다.
DB Subnet Group: DB 인스턴스가 위치할 서브넷입니다. 위에서 Default VPC이외의 VPC를 선택했을 때 이 서브넷을 설정할 수 있습니다.
Publicly Accessible: DB를 외부에서 접근할 수 있게 하는 옵션입니다. No로 설정하면 VPC 내부에서만 접근할 수 있습니다. 기본값 그대로 사용합니다.
VPC Security Group: 방화벽 설정인 Security Group입니다. 기본값 그대로 사용합니다. 이 Security Group은 나중에 DB 인스턴스 전용으로 따로 생성해야 합니다.

암호인증
- DB 암호를 사용해서 인증
암호 및 IAM 데이터베이스 인증
- IAM 정책으로 인증(보안상 추천)

Duration을 설정하는 이유는 위 Backup Window의 시간과 겹치지 않게 하기 위해서 입니다. 점검은 Duration에 설정한 시간보다 일찍 끝날 수 있습니다.
이 시간에 Auto Minor Version Upgrade를 설정했다면 DB 버전 업데이트 또는 패치가 적용됩니다. DB 버전 업데이트 또는 패치는 필수적인 것(보안 패치)만 적용되며 자주 발생하지 않고 몇 달에 한 번 발생합니다. DB 업데이트 또는 패치가 적용되는 시간 동안에는 DB 인스턴스의 실행이 중지됩니다.
DB 인스턴스 클래스를 변경했다면 이 시간에 적용됩니다. DB 인스턴스 클래스를 변경하는 동안에는 DB 인스턴스의 실행이 중지됩니다.


인스턴스 상태가 백업 중으로 넘어가면 인스턴스 생성이 완료된 상태이며 접근이 가능합니다.
엔드 포인트가 DB에 접속할 주소이며 뒤로 넘어가면 로컬에서 개발할 때 jdbc:mysql://localhost:3306/db이름?ServerTimezone=UTC - 이런식으로 나왔던 주소가 localhost를 대체합니다.
보안그룹이 인스턴스 생성을 요청한 IP로 한정해서 접근을 허용합니다.
생성한 PC가 아닌 다른 PC에서 접근할 경우에는 보안그룹도 수정해야 합니다. 추후 EC2에서 접근할 때 보안그룹을 재설정할 예정입니다.

Mysql Workbench를 통해 접속이 잘 되는지 테스트합니다.

server:
port: 8080
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://database-androidproject.----------.ap-northeast-2.rds.amazonaws.com:3306/db
username: admin
password: passwd
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
format_sql: true
