서비스 개요

KT Cloud DB는 데이터베이스를 쉽게 구축하고 운영할 수 있는 서비스입니다. 안정적인 서비스 운영을 위한 다양한 부가 서비스들도 함께 제공하며, 복제 기반의 자동 절체가 가능한 이중화 구조로 장애가 발생해도 사용자의 개입없이 자동으로 처리합니다.

서비스 특장점

ucloud DB 서비스 사용시의 특장점
쉽고 간편한 데이터베이스 관리
  • 데이터베이스 운영에 필요한 패치, 설정, 스케일링, 모니터링 기능을 사용자가 직접 웹 상에서 간편하게 제어 가능
  • KT Cloud DB 시스템에게 자동으로 관리하도록 수행 가능
손쉬운 데이터베이스 이관
  • 기존에 사용하던 데이터베이스 Application과 3rd party tool을 별도의 조작없이 KT Cloud DB 서비스와 손쉽게 연동하여 사용 가능
자동 패치 기능
  • 사용하는 데이터베이스 Application patch는 사용자가 직접 설정한 유지보수 기간에 자동으로 수행
컴퓨터 자원관리의 최적화
  • 데이터베이스 스케일링 기능을 통해 데이터베이스 사용량에 따라서 유연하게 대응하여, 최적화된 데이터베이스 설정 제공
편리한 모니터링
  • KT Cloud DB를 사용하면서 꼭 필요한 항목 모니터링 수행
  • 한 번의 클릭만으로 사용자의 데이터베이스 현황을 확인 가능
High Availability
  • MySQL의 Replication, Auto-Failover 기능을 제공
  • MariaDB의 Clustering 기능으로 가용성을 향상

구성도

도식화

물리 서버 기반의 데이터베이스와의 비교

물리서버 컴퓨팅과 비교표
구분 물리서버 기반 Database KT Cloud DB
비용절감 - 여유용량이 포함된 Hardware 구입비 소요
- 네트워크/상면/전력 등 운영비용 발생
- 필요기간 종료 시 매몰비용 발생
- 필요 용량만큼 사용, 해당 비용 지불
- 부대 운영비용 감소
- 서비스 종료 시 매몰비용 없음
확장성 - 기 운영중인 시스템의 물리적 용량 제한
- 용량 확대를 위해 Hardware 추가/교체 필요
- 가상서버(VM) 추가로 간단한 확장 가능
신속성 Delivery, Installation 등 설치 시간 소요 - 자동화된 자원할당으로 5분 내 서비스 제공
- Admin 기능을 서비스로 제공
안전성 Hardware 장애 시 서비스 불가 
- 장애를 대비한 System Redundancy 필요
- Cloud 여유자원으로 전환, 신속한 장애복구
- System Redundancy 불필요
- HA 기능으로 자동 절체 및 복구

서비스 주요 기능

  • Read Replica 기반의 확장성 제공
    • Read Replica 생성 기능
    • Read Replica 제어 기능
    • Master DB Instance 생성/삭제/제어 기능
    • Replica Group 관리 및 제어 기능
  • 이중화 기반의 Fail-over 및 Fail-back 제공
    • 자동 / 수동 절체 기능 제공
    • Promotion 기능
    • Semi-sync 기능(단, 수동절체 상황에서만 가능)
  • MySQL/MariaDB Multi Version 지원
    • Template 관리 기능(MySQL 5.5, 5.6, MariaDB 10.X)
    • Parameter 관리 기능(MySQL 5.5, 5.6, MariaDB 10.X)
    • MySQL/MariaDB 멀티 버전 관리 기능
  • 보안 기능 강화
    • 데이터베이스 접근 제어 그룹관리 기능
    • 접근 제어 그룹 룰 적용 및 관리 기능
    • DB 인스턴스 접근 제어 항목 관리
    • 방화벽 관리 기능
  • 고사양 데이터베이스 VM 제공
    • 고사양 데이터베이스 VM(16vCore 62GB, CentOS 64bit) 제공
    • 고사양 KT Cloud DB 템플릿 생성 및 관리
  • DB 튜닝 파라미터 설정 범위 확대 제공
    • MySQL 5.5 파라미터 설정 기능 추가
    • MySQL 5.6 파라미터 설정 기능 추가
    • MariaDB 10.X 파라미터 설정 기능 추가
    • 추가 파라미터 설정 내역 조회, 적용 기능 제공
  • API 기능 제공
    • KT Cloud DB 서비스 기능을 이용할 수 있는 Open API 기능 제공
    • 관리자용 API 기능 제공

활용 사례

웹 및 모바일 애플리케이션

고객 니즈

  • 웹 및 모바일 애플리케이션을 만들고 싶은데 고객 수 및 서비스 리소스에 대한 정의가 어려움
  • 가격에 대한 부담 없이 여러 상황에 대해서 유연하게 대처할 수 있는 시스템이 필요
  • 장애 발생 시, 빠른 고객 대응 필요

구성 방안

  • KT Cloud 에서 제공하는 server 및 DB를 이용해서 웹 및 모바일 애플리케이션을 구성할 수 있음

구성도

구성도

연관 상품

  • KT Cloud server
    • 고품질의 클라우드 서버(CPU, Memory, Disk, Network)를 제공하는 서비스로 웹 인터페이스를 통하여 쉽고 빠르게 다양한 서버를 구성할 수 있습니다.
  • KT Cloud watch
    • KT Cloud 자원 뿐만 아니라 고객 고유의 자원을 감시하고 관리할 수 있는 서비스입니다. 본 서비스를 통해 자원의 모니터링 데이터를 저장하고 조회할 수 있으며, 각종 상황에 이메일로 통보 받을 수 있습니다.

주요 Q&A

  • QKT Cloud DB는 어떤 데이터베이스를 제공하나요?
    • MySQL 5.5, 5.6 버전을 제공하고 있습니다.
    • MariaDB 10.X 버전을 제공하고 있습니다.
  • Q데이터베이스가 사용할 수 있는 disk 용량은 얼마나 신청할 수 있나요?
    • HDD/SSD의 경우 80GB ~ 500GB까지 신청가능합니다.
    • SSD-provisioned의 경우 100GB~800GB까지 신청 가능합니다.
    • 단, 각종 log Data때문에 실제 DB가 사용할 수 있는 용량은 신청 용량보다 적을 수 있습니다.
  • QDB 계정 정보를 잃어버렸을 경우는 어떻게 하나요?
    • 클라우드 콘솔에서 해당 DB 인스턴스의 마스터 비밀번호 변경 메뉴를 통해 변경 할 수 있습니다.
  • Q파라미터 그룹에 없는 파라미터 변경이 필요합니다.
    • 파라미터 그룹은 주로 사용하는 주요 파라미터에 대한 설정 변경이 가능합니다.
    • 만약, 파라미터 그룹에 없는 파라미터의 변경이 필요한 경우, 문의 남겨주시면 수작업으로 변경 지원을 도와드립니다.
  • QDB Super privilege를 사용할 수 있나요?
    • KT Cloud DB에서는 사용자에게 Super Privilege를 제공하지 않습니다.
    • Super Privilege 제공 시 KT Cloud DB에서 관리하는 시스템에서 정상적인 관리가 어렵습니다.
    • 그러나 별도로 트리거, 프로시저, 펑션 등의 작업은 일반 유저에서 가능합니다.
  • QDB 내 rdbaas 또는 fabric이라는 계정이 있습니다. 무슨 용도인가요?
    • KT Cloud DB를 생성하면 사용자가 정의한 마스터 계정 외에도 rdbaas, fabric 계정이 기본으로 생성됩니다.
    • rdbaas는 DB 인스턴스 관리를 위한 계정이며, fabric은 DB 이중화 관리를 위한 계정입니다.
    • 두 계정은 DB 인스턴스 관리를 위한 계정으로, 사용자가 임의로 삭제하거나 변경하시면 안됩니다.
    • 삭제 혹은 변경 시 KT Cloud DB 서비스 이용에 문제가 발생합니다.
  • QCan't create a new thread (errno 11) 오류와 함께 DB 접속이 불가합니다.
    • DB 인스턴스의 메모리 부족

      - 실제 물리적인 메모리가 부족하여 새로운 thread를 만들지 못하는 경우 입니다.

      - DB 모니터링 설정을 통해 memory 및 thread에 대한 모니터링을 권고 드립니다.

    • OS 혹은 MySQL의 제한 설정

      - OS 혹은 MySQL의 제한으로 더 이상 접속이 불가능할 수 있습니다.

      - MySQL 제한의 경우 파라미터 그룹 수정을 통해 max 값을 충분히 늘려 줍니다.

      * OS 제한(ulimit)은 OS를 보호하기 위해 기본값으로 설정되어 있습니다. (인스턴스 생성 시기별로 차이가 있을 수 있습니다.)
      max open files: 1024~, max user processes: 8192~ 개별 인스턴스에 대한 설정값 확인 및 변경이 필요하신 경우 고객센터에 문의 바랍니다.

  • QMany connection errors 오류와 함께 DB 접속이 불가합니다.
    • DB의 Max connections 값을 올려주시기 바랍니다.
    • 콘솔 내 파라미터 그룹에서 변경 가능합니다.
  • QDB 접속이 되지 않습니다.
    • 모니터링 항목 점검

      - MEMORYUsage가 90% 넘지 않는가?

      - THREADConnection 수가 DB에 설정되어 있는 max 값에 도달하지 않았는가?

    • 접근제어 그룹 점검

      - 접근제어 그룹이 정상적으로 설정되었는가?

      - 접근제어 그룹을 모두 제거한 후 접속이 되는가?

    • 접속 IP 포트 확인

      - 사설망 접근이 필요한데 개별 IP 포트를 올바르게 사용중인가?

    • 접속 솔루션 이슈

      - 일부 접속 프로그램 버그 존재 (MySQL Workbench 일부 버전 등)

      - 기본 mysql cmd 접속 (# mysql -hip -Pport -uuser -p) 테스트 필요

  • QDB에서 CIP를 사용할 수 있나요?
    • CIP사용은 불가합니다.
  • QDB의 메모리 사용율(MEMORYUsage)가 자주 꽉 찹니다.
    • 실제 인스턴스의 메모리 생성양이 적은 경우에 발생합니다.
    • 또한, 접속자가 많거나 쿼리량이 많은 경우에 발생합니다.
    • 파라미터 그룹에서 적절한 파라미터 설정을 통해서 최대 메모리 사용량을 인스턴스의 물리 메모리 크기보다 적도록 설정합니다.
    • 최대 메모리 사용량은 아래의 사이트에 확인해 볼 수 있습니다.

      http://www.mysqlcalculator.com/

    • 꼭 필요한 메모리 사용량이라면, 인스턴스의 사양을 올리는 방법이 있습니다.
  • QDB 백업이 실패하였습니다.
    • 메모리 부족 혹은 DB접속(새 스레드 생성) 실패로 인해 백업이 실패할 수 있습니다.
    • 메모리 사용율과 Max Connections 설정값 대비 ThreadConnection 값을 확인 바랍니다.
  • QDB 내에서 확인한 데이터량과 모니터링 기능에서 확인한 DATAFileSystemUsage과 차이가 납니다.
    • DATAFileSystemUsage 사용량에는 DB에서 발생하는 각종 로그 (Error log, Binlog, General log, Slow log) 용량이 포함됩니다.
    • 로그 제거를 위해서 로그 기능을 OFF 하거나 Purge 하시기 바랍니다.
  • QDB 인스턴스를 정지하고 싶습니다.
    • DB 인스턴스의 정지 기능을 제공하지 않습니다.
    • 사용자 임의로 정지할 경우, KT에서 수행하는 일괄 작업이나 패치를 받지 못할 수 있습니다.
    • 또한 DB는 정지 요금이 따로 없습니다.
    Q직권정지 후 정상화가 되지 않습니다. 인스턴스가 정지 상태입니다.
    • 직권정지 후 DB 인스턴스가 정지상태인 경우, Action > 시작 으로 기동할 수 있습니다.
    • 만약 사용중 상태이나 정상 사용이 안 될 경우 Action > 재부팅 을 수행해 주시기 바랍니다.