NCP 취득을 위한 아래 링크의 Edwith 강의 내용 요약
Mooc 강의로 무료제공되는 강의입니다.
https://www.edwith.org/professioanl-vpc
1. 네이버클라우드 플랫폼의 데이터베이스 개요
- 완전관리형 데이터베이스(CDB)
- 네이버클라우드 플랫폼에 미리 만들어진 DB서버를 인스턴스만 이용하는 방식
- 루트 권한이나 admin기능은 쓸 수 없음
- Cloud DB for MySQL
- Cloud DB for MSSQL
- Cloud DB for Redis
- 설치형 데이터베이스
- MSSQL, MySQL, CUBRID, Redis, PostgreSQL, MariaDB, Tibero
2. Cloud DB for MYSQL 핵심 기능
- 사용자 환경에 맞는 구성
- 최대 32vCPU, 256GB메모리까지 지원하며, 6TB까지 Disk 확장이 가능
- 편리한 구성과 사용
- 클릭 몇번으로 구성 완료, 검증된 파라미터 셋을 제공하여 안정된 운영 가능
- 자동화된 DB백업
- 매일 자동 DB백업이 진행되며 최대 30일 보관
- 백업본 기준으로 자동 복구 가능
- 자동 Fail-Over지원
- DNS기반의 DB 인스턴스 자동 Fail-Over를 지원하여 어플리케이션 변경없이 DB고가용성을 지원
- Read Replica 확장
- 최대 5대까지 복제 Slave확장이 가능
- 로드밸런서 상품을 이용하여 읽기 부하 분산이 가능
- 모니터링과 알람
- 설치 후 즉시 DB 모니터링을 이용할 수 있으며, 사용자의 메일, SMS 등으로 빠르게 장애 보고
3. Cloud DB for MySQL 스펙
- DB엔진 버전
- MySQL 5.7.19, 5.7.25, 5.7.29, 5.7.32, 8.0.18, 8.0.21, 8.0.25
- Classic - Standard 타입과 High-Memory 타입으로 제공
- VPC - High CPU, Standard, High-Memory 타입 제공
- 최대 5대의 Slave DB 추가 가능
- 데이터 스토리지는 HDD, SSD주 선택 가능
- 데이터 스토리지는 데이터베이서 데이터(테이블, 인덱스, 로그 등)의 데이터를 저장하는 스토리지
- 기본 10GB부터 10GB단위로 최대 6TB까지 자동 증가
- 고가용성이 지원되는 스펙과 중요하지 않은 DB는 Stand Alone 형태로 생성 가능
- Secure Zone 내 생성 가능 - Classic
- Secure Zone 에 생성된 Cloud DB for MySQL 서버는 Public domain 제공하지 않음
- Public domain부여를 통해 외부에서 접근 가능
4. Cloud DB for MySQL VPC특징
- 멀티존 지원
- Master DB 서버 2대를 서로 다른 Zone에 생성하여 높은 가용성 제공
- Master DB 서버는 같은 속성의 Subnet에 위치
- Public Subnet과 Private Subnet에 구성하는 것의 차이
- Public Subnet에 구성하는 경우 Public 도메인을 구성할 수 있으나 Private Subnet은 구성 불가
5. CDB Operation 1. DB Process list 확인
- 데이터베이스 서버에 현재 접속한 세션 리스트를 확인해볼 수 있습니다.
- MySQL에서 사용하는 show process list; 와 동일합니다.
- 제공 항목
- Session ID : 접속한 세션의 고유번호
- USER : 접속한 세션이 사용한 유저 명
- HOST(IP) : 접속한 세션의 호스트 IP 주소
- DB : 접속한 세션이 사용한 DB명
- Command : 접속한 세션이 수행한 명령어
- Time : 수행한 명령어의 수행 시간
- State : 접속한 세션의 상태를 나타내는 값
- Kill Session
- 선택된 Session ID를 강제로 종료
- 강제로 종료한 세션은 복구 불가능
- 하나의 세션만 선택 가능
6. CDB Operation 2. Slave DB Replication 확인
- Slave 서버의 경우, Replication 상태를 확인할 수 있음(Master 서버는 표시되지 않음)
- MySQL 에서 사용하는 show slave status; 명령어와 동일한 결과를 보여줌
- Slave DB 서버에서 Replication 오류가 발생한 Query를 건너뛰어 오류를 조치할 수 있는 Skip Replication Error 기능과 Slave DB 재설치 기능이 제공
7. CDB Operation 3. DB 서버 로그 확인
- Binary Log, Slow Log, General Log를 Object Storage로 전송 가능
8. CDB Operation 4. DB 백업 설정 및 복원
- 백업은 하루 한번 매일 수행되며, 사용자 설정에 따라 최대 30일까지 보관 가능
- 백업 관련 정보
- DB서비스 이름 : 사용자가 지정한 서비스 이름
- Backup 보관일
- Backup 시작 시간
- Backup 데이터 크기
- 마지막 Backup일자
- 상세 정보 보기 : 선택된 Db서버에 대한 백업 내용을 상세히 볼 수 있는 페이지로 이동
- 백업 파일을 바탕으로 데이터 베이스 복원 기능을 제공
- 백업 파일로 복원 시, 신규 VM이 생성되며, 이때 데이터베이서 서버는 Recovery 모드로 복원되며 데이터 조회만 가능
- 시점 복원 기능을 제공하여 복원 가능한 시간 범위 내에서 사용자가 원하는 시간대로 데이터 복원이 가능(분단위까지 지원)
9. CDB Operation 5. 이벤트 설정
- OS 영역 이벤트 항목
- CPU Used
- CPU lowait
- Memory used
- swap_pct : swap메모리 발생량
- Disk I/O Read bytes/Write bytes : 디스크 읽기/쓰기 발생량
- Network bps in : NIC의 초당 outbound byte
- Load Average (1min,5min,15min) : 서버 부하량
- Filesystem used : 디스크 사용량
- DB영역 이벤트 항목
- Connection Running : DB 접속 세션 수
- SlowQueryCount : 1초 이상 실행되는 쿼리 개수
- Replication Stop : 복제 중단 정보
- Replication Delay : 마스터 대비 복제 지연 시간
- DB Down : DB 다운 정보
10. CDB Operation 6. DB 엔진 업그레이드
- MySQL 의 Minor 버전 Rolling 업그레이드 지원
- 버전 업그레이드는 동일한 서비스 내 모든 DB서버 버전이 변경
- Master DB는 Standby Master DB로 전환하여 서비스 접근 차단을 최소화
- 업그레이드 작업은 1대씩 순차적으로 진행
- Stanby를 먼저 업그레이드하고, Role Change해서 Master로 올리고 나머지 하나를 업그레이드
11. CDB Operation 7. DB Config 관리
- DB서버 상세보기 화면 > DB Config 관리를 통해 선택한 DB서버의 설정 변경 가능
- 기본적으로 자주 변경하는 대표적인 Configuration
- innodb_buffer_pool_size
- innodb_buffer_pool의 역할
- 데이터 파일과 로그 파일이 기록되는 순서를 조정하는 역할
- 디스크 액세스를 줄이기 위한 캐시의 역할
- 보통 메모리의 50~80%로 설정
- NCP innodb_buffer_pool_size는 default로 1073741824로 설정되어 있음
- 이 부분을 수정한 후에는 반드시 db재시작 필요
- Max Connection
- General Log
- 언제 누가 어디서 쿼리를 수행했는지 확인 가능