aws - RDS
인프런 JSCODE 박재성님 비전공자도 이해할 수 있는 AWS 입문/실전 강의를 듣고 정리한 내용입니다
https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9D%B4%ED%95%B4%ED%95%A0%EC%88%98%EC%9E%88%EB%8A%94-aws-%EC%9E%85%EB%AC%B8%EC%8B%A4%EC%A0%84/dashboard
RDS
RDS(Relational Database Service)
관계형 데이터베이스 서비스
MySQL, MariaDB 등 여러 관계형 데이터베이스 서비스를 AWS로부터 빌려서 사용하는 형태
-
-
EC2 안에 있는 백엔드 서버가 RDS로 직접 요청을 보냄
RDS 생성하기
AWS > RDS > 데이터베이스
-
리전 선택
-
데이터베이스 생성
-
생성 방식 선택: 표준
-
엔진 옵션: MySQL
-
템플릿 선택: 프리티어
- 설정
- 인스턴스 식별자와 암호 생성
-
인스턴스 구성, 스토리지 - 그대로
- 연결
-
퍼블릭 액세스 “예”
-
여러 환경(로컬 환경, 개발 환경 등)에서 편하게 DB에 접근 가능
-
보안성 높이고 싶으면 “아니오”(“예”로 해도 보안이 떨어지는 것은 아님)
-
- 데이터베이스 인증, 모니터링 - 그대로
-
보안그룹 설정하기
AWS > EC2 > 네트워크 및 보안 > 보안 그룹
- 보안 그룹 생성
- 인바운드 규칙
-
DB에 접근하기 위해 MySQL 3306번 포트 추가
-
소스는 IPv4로 들어오는 누구나
-
- 아웃바운드 규칙
- 모든 트래픽을 허용
- 인바운드 규칙
RDS > 데이터베이스 > db
- 수정
연결 > 보안 그룹- 생성한 보안그룹을 RDS에 붙이기
- 즉시 적용
파라미터 그룹 추가하기
AWS > RDS > 파라미터 그룹
데이터베이스 설정 옵션 세팅 가능
- 파라미터 생성
- 파라미터 그룹 이름과 설명 설정
- 엔진 유형: MySQL Community
- 파라미터 그룹 패밀리: mysql 8.0
- 유형: DB Parameter Group
- 편집
-
아래 속성 전부
utf8mb4로 설정하기character_set_clientcharacter_set_connectioncharacter_set_databasecharacater_set_filesystemcharacater_set_resultscharacter_set_server
utf8대신에utf8mb4를 사용하면 ‘한글’ 뿐만 아니라 ‘이모티콘’도 지원 가능 -
아래 속성 전부
utf8mb4_unicode_ci로 설정하기collation_connectioncollation_server
utf8mb4_unicode_ci은 정렬, 비교 방식을 나타냄 -
time_zone을 Asia/Seoul로 설정
데이터베이스 자체에서 시간을 어떻게 표시할 건지를 나타냄
-
- time_zone을 Asia/Seoul로 설정
AWS > RDS > 데이터베이스
- 수정
추가 구성 > 데이터베이스 옵션- DB 파라미터 그룹: 방금 만든걸로 바꿔주기
📌
DB 파라미터 그룹을 변경한 뒤에는 RDS의 DB를 재부팅해야만 정상적으로 적용
- 작업>재부팅
RDS 접속하기
DataGrip 사용
-
New>data source>mysql
- Host: RDS의 엔드포인트를 입력
- 엔드포인트: 특정 리소스(서버, DB 등)에 접근할 수 있도록 해주는 URL
- User: 마스터 사용자 이름(AWS RDS 데이터베이스 만들 때 정함) 입력
- Password: 마스터 암호(AWS RDS 데이터베이스 만들 때 정함) 입력
- Test Connection 으로 연결 확인
- ok
- Host: RDS의 엔드포인트를 입력
비용 나가지 않게 RDS 깔끔하게 종료하기
AWS > RDS > 데이터베이스 > 작업 > 삭제
최종 스냅샷 생성, 자동 백업 보존 해제