MySQL, MariaDB 등 여러 관계형 데이터베이스 서비스를 AWS로부터 빌려서 사용
개발할 때는 로컬 환경에 설치된 MySQL와 같은 DB를 연결, 하지만 서버를 배포하고 나면 서버가 내 컴퓨터에 설치된 MySQL과 연결을 할 수가 없음. DB도 외부 인터넷에서 접근할 수 있게 같이 배포필요
AWS에 대해 공부하면서 검색하다보면 하나의 EC2에 백엔드 서버와 MySQL을 같이 설치해서 쓰는 걸 볼 수 있음, EC2에 MYSQL을 직접 설치해서 사용
실제 현업에서는 하나의 EC2에 백엔드 서버와 MySQL을 같이 사용하지 않는다.
왜냐하면 백엔드 서버에 장애로 인해 EC2 컴퓨터가 죽을 경우, 애꿎은 MySQL도 같이 죽기 때문이다. 또한 RDS가 제공하는 부가적인 편리한 기능이 많아서 MySQL을 직접 설치해서 쓰지 않고 RDS를 쓰기도 함
사용사와 EC2 사이에 ELB를 넣어도 됨
DB종류 선택
템플릿 선택
프리티어여도 충분 할 듯
설정
마스터 사용자 이름과 마스터 암호는 데이터베이스에 접근하기 위한 아이디와 비밀번호와 같은 값이다. 따라서 마스터 사용자 이름과 마스터 암호는 따로 적어두는 것이 좋다.
연결
퍼블릭 액세스를 예로 체크, 여러 로컬 개발환경에서 DB에 보다 편하게 접근 가능
RDS의 MySQL은 3306번 포트에서 실행된다. DB에 접근하기 위해 3306번 포트를 인바운드 규칙에 추가
- `character_set_client`
- `character_set_connection`
- `character_set_database`
- `characater_set_filesystem`
- `characater_set_results`
- `character_set_server`
- `collation_connection`
- `collation_server`
정렬, 비교 방식을 나타내는 것들
+) END POINT
특정 리소스(ex. 서버, DB 등)에 접근할 수 있도록 해주는 URL
EC2나 RDS와 같은 리소스에 접근 할 때 특정 주소를 통해 접근, 그 주소가 해당 리소스의 대문 역할, 그리고 대문을 넘어서면, 내부에 있는 코드나 데이터들을 자세히 들여다 볼 수 있음. 리소스에 접근할 때 가장 처음 마주치는 대문은 가장 끝 단에 위치.
spring.datasource.url=jdbc:mysql://<DATABASE_HOST>:3306/instagram
spring.datasource.username=admin
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
설정을 하고,
./gradlew bootRun
Spring Boot가 RDS(MySQL)에 연결되면 데이터베이스 테이블이 자동 생성