본문으로 건너뛰기

인스턴스 그룹 생성 및 관리

MySQL 인스턴스 그룹 생성

MySQL 인스턴스 그룹은 인스턴스와 백업 생명주기를 관리하는 객체입니다. 운영 상태와 종료 상태를 포함하는 다양한 상태값을 가지며, 사용자는 이를 확인하고 관리할 수 있습니다. MySQL 인스턴스 그룹의 수는 제한이 없으나 kr-central-1에서는 사용자 프로젝트별로 인스턴스를 최대 10개 생성할 수 있습니다. kr-central-2에서는 프로젝트별로 생성 가능한 인스턴스 개수의 제한은 없습니다.

MySQL 서비스에서 인스턴스 그룹을 만드는 방법은 다음과 같습니다.

안내
  • 네트워크 오류, 리소스 부족 등 예기치 못한 원인으로 인스턴스 그룹 생성에 실패했을 경우, Cloud Trail 서비스에서 내역을 확인 할 수 있습니다.
  • 인스턴스 그룹 생성 후 볼륨을 확장하더라도 최대 IOPS는 최초 지정된 값으로 고정됩니다. 안정적인 성능을 위해 적절한 볼륨 크기를 설정해 주세요.
  1. 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.

  2. [인스턴스 그룹 만들기] 버튼을 클릭합니다.

  3. 인스턴스 그룹 만들기에서 정보를 입력한 후, [생성하기] 버튼을 클릭합니다.

    항목구분설명
    기본 설정인스턴스 그룹 이름MySQL 인스턴스 그룹의 이름
    - 동일 프로젝트 내에서 중복된 MySQL 인스턴스 그룹 이름은 사용할 수 없음
    - 예시: mysql-instance-01
    설명(선택)인스턴스 그룹에 대한 부가 설명을 100자까지 입력 가능
    인스턴스 가용성고가용성 (Primary, Standby 인스턴스)Primary 인스턴스와 다수의 Standby 인스턴스를 생성 가능
    - Single AZ 또는 Multi-AZ
    단일 (Primary 인스턴스)단일 Primary 인스턴스만 생성 가능
    - Single AZ(가용 영역)만 이용 가능
    MySQL 설정엔진 버전MySQL 데이터베이스의 버전이 자동 선택됨
    - MySQL 데이터베이스 버전 8.0.34 제공
    Primary 포트MySQL Primary 인스턴스와 통신할 포트, 1024 ~ 65535 내 지정 가능, 기본값 3306
    Standby 포트MySQL Standby 인스턴스와 통신할 포트, 1024 ~ 65535 내 지정 가능, 고가용성을 선택한 경우 지정, 기본값 3307
    MySQL 사용자 이름MySQL 데이터베이스 사용자 계정의 이름
    - 예시: admin
    * 예약된 계정 이름(root)은 입력 불가
    * 권한에 대한 자세한 내용은 인스턴스 그룹 사용자 계정참고
    MySQL 비밀번호MySQL 데이터베이스 관리자 계정의 초기 비밀번호
    - 형식: 8~16자 이내
    - 공백, /, ', ", @ 문자는 사용할 수 없음

    ⚠️ 관리자 계정 패스워드는 데이터베이스 구동 이후에 변경 가능
    ⚠️ 데이터베이스 구동 후 사용자가 변경한 관리자 계정 패스워드는 확인 불가
    파라미터 그룹선택한 엔진 버전에 맞는 파라미터 그룹을 선택 가능
    인스턴스 유형데이터베이스 컴퓨팅 자원 구성을 위한 인스턴스 유형 선택
    - 자세한 설명은 인스턴스 유형 참고
    기본 스토리지SSD데이터베이스에서 사용할 볼륨의 유형과 크기 설정
    - 볼륨 타입: 현재는 SSD 유형만 지원하며, 향후 다양한 유형을 지원 예정
    - 볼륨 크기: 100 GB~16,384 GB 크기로 볼륨을 생성 가능
    * 선택한 인스턴스 유형에 따라 최소 용량 제한은 달라질 수 있습니다.
    로그 스토리지SSD데이터베이스에서 로그 적재에 사용하는 스토리지로, 생성 후 유형은 변경할 수 없음
    - 볼륨 타입: 현재는 SSD 유형만 지원하며, 향후 다양한 유형을 지원 예정
    - 볼륨 크기: 100 GB~16,384 GB 크기로 볼륨을 생성할 수 있습니다.
    * 선택한 인스턴스 유형에 따라 최소 용량 제한은 달라질 수 있습니다.
    네트워크 설정Multi-AZ 옵션고가용성을 선택한 경우 설정할 수 있는 옵션, AZ별 서브넷과 생성할 인스턴스 개수를 지정 가능
    VPCMySQL 인스턴스의 데이터베이스가 구성될 네트워크를 선택
    서브넷 PrimaryPrimary 인스턴스가 생성될 서브넷을 선택
    인스턴스 개수1개의 Primary 인스턴스를 포함, 최대 2개의 인스턴스를 생성 가능
    서브넷Standby 인스턴스가 생성될 서브넷
    - Primary를 생성할 VPC 선택 후에 서브넷 선택 가능
    인스턴스 개수최대 2개의 Standby 인스턴스를 생성 가능
    자동 백업자동 백업 옵션자동 백업 옵션 사용 여부, 사용 시 1일 1회 자동으로 백업 진행
    백업 보존 기간자동 백업 보존 기간, 최소 1일에서 35일까지 선택 가능
    - 인스턴스 그룹에 생성된 모든 자동 백업의 보존 기간 변경
    자동 백업 시작 시간자동 백업 시작 시간, 선택한 시간부터 15분 사이에 백업 시작
안내

인스턴스 그룹에 대한 자세한 설명은 자세한 설명은 인스턴스 그룹을 참고하시기를 바랍니다.

인스턴스 그룹 사용자 계정

MySQL에서는 인스턴스 그룹 생성 시, 사용자가 설정한 ID, 비밀번호로 사용자 계정을 생성합니다.
해당 계정은 User Admin의 역할을 가지며 인증 후 리소스에 접근할 수 있습니다. 사용자 계정의 역할과 권한은 다음과 같습니다.

안내
  • 해당 내용은 kr-central-2에만 해당 하는 내용입니다.
구분역할권한
사용자 계정User AdminGRANT ALTER, APPLICATION_PASSWORD_ADMIN, ALTER ROUTINE, CREATE, CREATE ROLE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, DROP ROLE, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, PROCESS, REFERENCES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SET_USER_ID, SELECT, SHOW DATABASES, SHOW VIEW, TRIGGER, UPDATE, XA_RECOVER_ADMIN ON . TO '${USER_NAME}'@'%';
(CREATE USER, ROLE ADMIN 권한은 제외)

MySQL 인스턴스 그룹 연결

MySQL 서비스에서 인스턴스를 인스턴스 그룹에 연결하는 방법은 다음과 같습니다.
MySQL 인스턴스 그룹 생성과 인스턴스 설정을 완료한 후, MySQL 인스턴스 그룹 생성 시 함께 생성된 인스턴스들을 MySQL Client를 사용하여 MySQL 인스턴스 그룹에 연결해야 합니다.

사전 작업

인스턴스 그룹을 MySQL 인스턴스 그룹에 연결하기 위해서는, 연결하려는 MySQL 인스턴스 그룹과 동일한 네트워크를 사용하는 가상 머신(Virtual Machine) 인스턴스와 MySQL 인스턴스 그룹의 엔드포인트가 접근할 수 있는 접속 환경을 준비해야 합니다.
이를 위해 가상 머신(Virtual Machine) 인스턴스의 보안 그룹 아웃바운드 규칙에 kr-central-1 기준 TCP 3306(MySQL 인스턴스 기본 포트값) 포트를 허용합니다. kr-central-2 기준 사용자가 지정한 포트(1024 ~ 65535) 또는 Primary 인스턴스 TCP 3306, Standby 인스턴스 TCP 3307(MySQL 인스턴스 기본 포트값) 포트를 허용합니다.

인스턴스 연결하기

인스턴스를 인스턴스 그룹에 연결할 수 있습니다.

  1. Virtual Machine > 인스턴스 생성 및 연결을 참고하여 가상 머신 인스턴스에 접근해 MySQL Client를 준비합니다. MySQL 명령어를 인식하지 않을 때는 별도의 MySQL Client를 설치해야 합니다.

  2. 카카오클라우드 콘솔에서 Data Store > MySQL 메뉴로 이동합니다.

  3. Instance Group 메뉴에서 MySQL 인스턴스 그룹에 연결할 인스턴스 그룹을 선택합니다.

  4. 세부 정보 탭에서 엔드포인트DB 사용자 이름을 확인합니다. 해당 정보는 MySQL 명령어 실행 시 필요한 정보로, 클립보드 등에 복사하여 준비하시기를 바랍니다.

    이미지 MySQL 인스턴스 그룹 세부 정보

  5. MySQL Client를 통해 인스턴스를 MySQL 인스턴스 그룹에 연결하기 위해, 생성한 가상 머신 인스턴스에서 MySQL 인스턴스 연결 명령을 실행합니다.

    MySQL 인스턴스 연결 명령어
    mysql --user={USER} --password={USER_PASSWORD} --host {ENDPOINT} --port {PORT}
    항목설명
    user{USER}: 2번에서 획득한 DB 사용자 이름
    - MySQL 인스턴스에 연결하는 DB 관리자 계정의 이름
    password{USER_PASSWORD}: MySQL 인스턴스 연결하는 관리자 계정의 초기 패스워드
    - MySQL 생성 시 입력한 비밀번호
    host{ENDPOINT}: 세부 정보 탭에서 획득한 엔드포인트 정보
    - MySQL 인스턴스가 가지고 있는 엔드포인트
    port{PORT} : 사용자가 인스턴스 그룹을 만들때 설정한 포트번호
안내

인스턴스의 역할 및 유형에 대한 자세한 설명은 인스턴스를 참고하시기를 바랍니다.

안내

MySQL 엔드포인트는 DNS 기반의 FQDN으로 제공됩니다. (보안 그룹의 아웃바운드 규칙에 udp/53 허용 필요)
Failover 동작 시 해당 도메인 네임에 매핑된 IP가 변경될 수 있습니다. 따라서 아래 사항을 유의하시기를 바랍니다.
- MySQL 엔드포인트 도메인 네임을 캐싱하지 않아야 합니다. (TTL 0초)
    (예시) JAVA 기반의 애플리케이션 TTL 설정 : networkaddress.cache.ttl=0
- Primary 스위칭을 진행할 때 기존 연결이 모두 끊기므로, 가용성을 위해 항상 재연결 하도록 설정해야 합니다.

인스턴스 그룹 관리

MySQL 서비스에서 가동 중인 인스턴스와 인스턴스 그룹을 관리하는 방법은 다음과 같습니다.

MySQL 인스턴스 그룹 목록 보기

현재 가동 중인 MySQL 인스턴스 그룹 목록을 조회할 수 있습니다.

  1. 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.

  2. Instance Group 메뉴에서 인스턴스 그룹 목록을 확인합니다.

    구분설명
    인스턴스 그룹 이름생성할 때 입력한 MySQL 인스턴스 그룹 이름
    - 인스턴스 그룹을 클릭하여 상세 정보 확인
    상태MySQL 인스턴스 그룹의 상태를 확인
    - 자세한 설명은 인스턴스 그룹 참고
    엔진 버전생성할 때 선택한 MySQL 데이터베이스의 버전
    인스턴스 유형생성할 때 선택한 MySQL 인스턴스 유형
    가용성생성할 때 선택한 인스턴스의 가용성
    Multi AZMulti-AZ 사용 여부
    자동 백업 보존 기간설정한 자동 백업의 보존 기간
    - 마우스 오버하여 시작 시간 확인
    생성일MySQL 인스턴스 그룹의 생성일시
    생성자MySQL 인스턴스를 처음 생성한 사용자
    [더 보기] 아이콘자동 백업 설정: 해당 인스턴스 그룹의 자동 백업 설정, 사용 여부 및 보존 기간, 백업 시작 시간 설정
    수동 Failover: 해당 인스턴스 그룹의 Failover 진행
    백업 만들기: 해당 인스턴스 그룹에 백업을 생성
    볼륨 확장: MySQL 인스턴스 그룹의 볼륨(기본, 로그 스토리지) 확장
    MySQL 인스턴스 그룹 삭제: MySQL 인스턴스 그룹에 포함된 인스턴스 리소스를 반납하고, 백업을 삭제

MySQL 인스턴스 그룹 상세 보기

MySQL 인스턴스 그룹의 상세 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Data Store > MySQL 메뉴로 이동합니다.

  2. Instance Group 메뉴에서 상세 정보를 확인할 MySQL 인스턴스 그룹을 선택합니다.

  3. 해당 MySQL 인스턴스 그룹의 상세 정보를 확인합니다.

    이미지

MySQL 인스턴스 그룹 볼륨 확장

MySQL 인스턴스 그룹의 볼륨을 확장합니다. 기본, 로그 스토리지 모두 최대 16TB(16,384 GB)까지 확장할 수 있습니다.

안내

볼륨 확장은 디스크 용량 증가를 의미하며 최대 IOPS는 증가하지 않습니다. 확장한 볼륨 크기에 따라 최대 IOPS가 증가하는 기능은 추후 지원 예정입니다.

  1. 카카오클라우드 콘솔에서 Data Store > MySQL 메뉴로 이동합니다.
  2. Instance Group 메뉴에서 볼륨을 확장할 인스턴스 그룹의 [더 보기] 아이콘 > 볼륨 확장을 선택합니다.
  3. 기본, 로그 스토리지 중 확장할 스토리지 크기를 입력하고 [확인] 버튼을 클릭합니다.

MySQL 인스턴스 그룹 삭제

더 이상 사용하지 않는 MySQL 인스턴스 그룹을 삭제할 수 있습니다.
MySQL 인스턴스 그룹을 삭제할 때 모든 인스턴스의 동작을 종료하고 사용자의 인스턴스를 완전히 반납합니다. 인스턴스 그룹이 삭제되면, 리소스 사용 요금은 청구되지 않습니다.
kr-centra-1에서는 MySQL 인스턴스 그룹에 포함된 백업도 같이 삭제됩니다.
kr-central-2에서는 MySQL 인스턴스 그룹에 포함된 수동 백업은 삭제되지 않으며, 자동백업만 삭제됩니다. 자동 백업 보존이 필요한 경우, 팝업창에서 자동 백업 보존 옵션을 체크합니다.

주의

삭제한 MySQL 인스턴스 그룹의 인스턴스 자원과 백업은 삭제 후 완전히 반납되며, 복구할 수 없습니다.

  1. 카카오클라우드 콘솔에서 Data Store > MySQL 메뉴로 이동합니다.
  2. Instance Group 메뉴에서 삭제할 MySQL 인스턴스 그룹의 [더 보기] 아이콘 > 인스턴스 그룹 삭제를 선택합니다.
  3. 인스턴스 그룹 삭제 팝업창에서 정보를 입력하고, [삭제] 버튼을 클릭합니다.

파라미터 그룹 변경

인스턴스 그룹에 연결된 파라미터 그룹을 변경할 수 있습니다.
인스턴스 그룹의 엔진 버전에 맞는 파라미터 그룹을 선택할 수 있으며 파라미터 그룹 변경으로 설정된 파라미터의 값이 변경되는 경우, 운영 중인 MySQL 서비스에 영향을 미칠 수 있으므로 사전에 변경할 파라미터 그룹의 파라미터 값 확인을 권장드립니다. 파라미터 그룹 변경이 이미 진행 중인 경우, 파라미터 그룹 변경 요청이 실패할 수 있습니다.
파라미터 그룹 생성 및 관리는 가이드 내용을 참고하시기 바랍니다.

  1. 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
  2. 인스턴스 그룹 메뉴에서 파라미터 그룹을 변경할 인스턴스 그룹의 [더 보기] 아이콘 > 파라미터 그룹 변경을 선택합니다.
  3. 파라미터 그룹 변경 팝업창에서 변경할 파라미터 그룹을 선택하고, [확인] 버튼을 클릭합니다.