Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법입니다

개요

Ncloud(네이버 클라우드)의 Cloud DB for MySQL 서비스는 MySQL 데이터베이스를 쉽고 간편하게 구축하고 관리할 수 있고 자동 Fail-Over, 자동백업, 네이버 서비스에서 검증된 최적화된 설정 등을 제공해주는 완전 관리형 클라우드 데이터베이스 서비스입니다.

여기서는 VPC환경에서 Cloud DB for MySQL 서비스를 생성하는 과정을 정리해보겠습니다.

특징

  • 기본 10GB 데이터 스토리지를 제공하며, 10GB 단위로 6,000GB까지 자동으로 용량이 증가합니다.
  • 하나의 마스터 DB마다 최대 10대의 슬레이브 DB를 생성할 수 있습니다.
  • Load Balancer 상품을 통해 슬레이브 DB 서버들을 읽기 전용 복제본으로 사용함으로써 데이터베이스의 읽기 부하를 분산 시킬 수 있습니다.
  • 매일 1회 고객이 원하는 시간에 DB를 자동으로 백업하며, 백업한 데이터를 최대 30일까지 보관할 수 있습니다.
  • VPC 환경에서는 멀티 존으로 구성해 높은 안정성을 보장받을 수 있습니다.
  • Cloud DB for MySQL 서비스는 완전 관리형 상품으로 사용자는 DB서버의 운영체제에 접근할 수 없습니다.

DB 접속 방법 3가지

  1. Private 도메인을 이용해 접속하는 방법
  2. SSL VPN을 이용해 접속하는 방법
  3. Public 도메인을 이용해 접속하는 방법

아래에서는 VPC환경에서 Private 도메인을 이용해 접속하는 방법을 설명하도록 하겠습니다.
만약 네이버 클라우드 외부 환경에서 Cloud DB for MySQL로 접속하려면 Public 도메인을 사용해야 합니다. 하지만, DB 보안을 위해 특수한 상황인 아닌한 Private 도메인에서 생성하는 것을 권장합니다.

VPC-Subnet 생성

이미 생성된 VPC와 Subnet이 있다면 이 단계는 건너띄고 다음 단계로 이동하시면 됩니다.

VPC 생성

VPC환경에서 작업할 것이므로 우선 VPC를 생성합니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법
Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

Subnet 생성

Subnet은 Cloud DB for MySQL을 위한 Private Subnet과 DB 접속 테스트 Server용 Public Subnet을 각각 생성합니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

Cloud DB for MySQL을 위한 Private Subnet

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

테스트용 Server를 위한 Public Subnet

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

테스트 Server 생성

DB 서버 접속을 테스트 하기 위한 Server를 생성합니다. 여기서는 Rocky Linux 8.8 서버를 생성했습니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

DB 서버 생성

[Database] - [Cloud DB for MySQL]에서 [DB Server 생성] 버튼을 클릭합니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

DB 서버 엔진 버전

DB 엔진 버전은 MySQL 최신 버전 중 네이버에서 안정성이 검증된 버전인 8.0.x 버전과 5.7.x 버전을 제공합니다. (기본값 8.0.32)

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

DB 서버 이름과 DB 서비스 이름

  • DB Server 이름은 고객이 DB 서버를 구분하기 위한 명칭으로, 사용자가 입력한 이름 뒤에 001, 002와 같이 숫자를 붙여 서버를 구분하게 됩니다.
  • 예를 들어 DB 서버 이름을 mydb라고 입력하면 생성되는 DB 서버 이름은 mydb-001, mydb-002와 같습니다.
  • DB 서비스 이름은 역할별 DB 서버를 구분하기 위한 이름입니다.
  • 일반적으로 하나의 액티브 마스터 DB, 스탠바이 마스터 DB, 다수의 슬레이브 DB로 구성되는 DB 서버군을 말하며, 동일한 데이터를 갖고 있는 DB 서버들을 하나의 DB 서비스라 말합니다.
  • 예를 들어 “쇼핑 메인 DB”, “게임 유저 DB”와 같은 식으로 DB 서비스의 역할을 구분하기 위해 사용합니다.
Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법
Cloud DB를 위한 ACG는 자동 생성됩니다(예: cloud-mysql-*)

DB 서버 설정

DB 이름과 계정. 비번, 접속 포트 등을 설정합니다.
HOST(IP) 설정에는 전체 허용을 뜻하는 [%]를 입력하고, 대신에 접근 제한은 방화벽인 ACG에서 설정하겠습니다.
ACG 외에 추가로 접근 제한을 하고 싶은 경우에는 접근을 허용할 IP대역을 입력합니다.

  • 테스트용 서버의 Subnet 대역을 모두 허용하려면 [10.0.0.%]를 입력
  • 만약 특정 서버 1대만 허용하려고 할 경우에는 앞에서 생성한 테스트 서버 IP처럼 [10.0.0.7]을 입력
Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

ACG 설정

Cloud DB for MySQL을 생성할 때 자동 생성된 ACG [cloud-mysql-*]을 선택하고 ACG 설정을 클릭합니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

Inbound 설정에 테스트용 Server의 Subnet 대역인 [10.0.0.0/24]를 접근소스에 입력합니다.
또는 특정 서버 1대만 허용하려고 할 경우에는 앞에서 생성한 테스트 서버 IP처럼 [10.0.0.7]을 입력합니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

MySQL Client 설치

DB 접속 테스트를 위해 생성한 Rocky Linux 8.8 서버에서 MySQL 8.0 Client를 설치합니다.

# mysql 8.0
# {version-number} 확인 : https://dev.mysql.com/downloads/repo/yum/
# dnf -y install https://dev.mysql.com/get/mysql80-community-release-el8-{version-number}.noarch.rpm
~# dnf -y install https://dev.mysql.com/get/mysql80-community-release-el8-8.noarch.rpm
~# dnf module reset mysql
~# dnf module disable mysql
~# dnf repolist all | grep mysql
~# dnf -y install mysql-community-server
~# mysqld --initialize-insecure --user=mysql
~# systemctl start mysqld
~# mysql_secure_installation
Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

DB 서버 접속

Cloud DB for MySQL에 접속하기 위한 주소인 [Private 도메인]을 확인 합니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

테스트용 Server에서 Cloud DB for MySQL로 접속하는 방법은 다음과 같습니다.

~# mysql -u [user_id] -p -h [Private 도메인명]


DB에 접속해보면 처음 Cloud DB for MySQL 생성할 때 입력한 테이터베이스 [testdb]를 확인할 수 있습니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

DB 서버 상세보기

[DB 관리] - [DB 서버 상세보기] 메뉴에서는 [Process list], [Variables], [Status], [Database 관리], [DB Config 관리], [DB User 관리], [Backup 설정 관리], [DB Server Logs] 등을 확인할 수 있습니다.

Ncloud(네이버 클라우드) VPC환경에서 
Cloud DB for MySQL 생성하는 방법

Database 관리

[Database 관리] 메뉴에서는 Cloud DB 서버의 Database를 생성하거나 삭제할 수 있습니다. 추가, 삭제 작업은 한번에 10개까지 가능하고, 최대 1,000개까지 생성 및 조회할 수 있습니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법
  • 콘솔이 아닌 터미널 환경에서 직접 Database를 생성하려면 다음과 같은 Stored Procedure를 사용해야 합니다.
mysql> CALL sys.ncp_create_db('생성할 DB명[필수]','Character Set[선택]','Collation[선택]');

--예제
--character set, collation 은 mysql 서버 default 설정으로 지정
mysql> CALL sys.ncp_create_db('testdb','','');

DB User 관리

DB 서버를 이용하다보면 여러 계정이 필요하게 됩니다. 이때 계정을 추가하기 위해 [DB 서버 상세보기] - [DB User 관리] 메뉴를 클릭합니다.

USER_ID, HOST, DB 권한, 암호를 입력하고 DB User 추가 버튼을 클릭합니다.

  • 사용자가 변경한 DB 계정은 DB 서비스 전체에 적용됩니다.
  • USER_ID + HOST(IP) 단위로 계정 추가 및 권한 관리를 합니다.
  • DB 권한에서 DDL 권한은 CRUD 권한을 포함합니다.
  • 콘솔에서 허용하지 않는 문자로 DB User를 생성한 경우는 콘솔에서 수정, 삭제가 불가능합니다.
    DB 서버에 직접 접속 후 변경해 주세요.
  • 최대 1000개까지 계정을 추가 및 조회 할 수 있습니다.
Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

DB 계정 가져오기

DB Server에 생성된 계정 정보 가져오기를 수행하면 DB Server 에서 사용자가 직접 생성한 DB 계정 정보를 Console 에서 확인 및 삭제 할 수 있습니다.

Ncloud(네이버 클라우드) VPC환경에서 Cloud DB for MySQL 생성하는 방법

참고 URL

  1. Cloud DB for MySQL 기본 가이드
  2. Cloud DB 서버 외부 접근 가이드

문서 업데이트 내역

날짜 내용
2021-08-02 문서 최초 생성
2023-09-01 Database 생성하는 방법 안내 추가, 전체 스크린샷 업데이트