Skip to main content

인스턴스 그룹 생성 및 관리

MySQL 인스턴스 그룹 생성

MySQL 인스턴스 그룹은 인스턴스와 백업 생명주기를 관리하는 객체입니다. 운영 상태와 종료 상태를 포함하는 다양한 상태값을 가지며, 사용자는 이를 확인하고 관리할 수 있습니다.

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

info

MySQL 인스턴스 그룹의 개수와 프로젝트별 생성 가능한 인스턴스 개수의 제한은 없습니다.

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

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

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

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

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

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

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

인스턴스 그룹 사용자 계정

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

안내
  • 해당 내용은 kr-central-2 리전에만 적용됩니다.
  • 사용자 계정에 임의로 권한을 부여하여 설정 값을 변경하는 경우, 내부 관리 동작에 문제가 발생할 수 있습니다.
    계정 관련 권한을 부여할 때는 카카오클라우드에서 공식적으로 제공하는 Stored Procedure를 참조하여 사용하시기 바랍니다.
구분역할권한
사용자 계정User AdminGRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER, CREATE ROLE, DROP ROLE ON . TO admin@%
GRANT FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,REPLICATION_APPLIER,SENSITIVE_VARIABLES_OBSERVER,SET_USER_ID,SHOW_ROUTINE,XA_RECOVER_ADMIN ON . TO admin@%

MySQL 인스턴스 그룹 연결

MySQL 인스턴스 그룹을 생성하고 인스턴스 설정을 완료한 후, MySQL Client를 사용하여 MySQL 인스턴스 그룹에 연결할 수 있습니다. MySQL 서비스에서 인스턴스를 인스턴스 그룹에 연결하는 방법은 다음과 같습니다.

사전 작업

MySQL 인스턴스 그룹에 연결하려면 다음과 같은 환경 설정이 필요합니다.

  • 연결하려는 MySQL 인스턴스 그룹과 동일한 네트워크를 사용하는 가상 머신(Virtual Machine) 인스턴스
  • MySQL 인스턴스 그룹의 엔드포인트에 접근할 수 있는 접속 환경

이를 위해 가상 머신(Virtual Machine) 인스턴스의 Security Group Outbound 정책에서 사용자가 지정한 포트(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으로 제공됩니다. 이를 위해 Security Group의 Outbound 정책에서 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 인스턴스 유형
    가용성생성 시 선택한 인스턴스의 가용성
    다중 AZ다중 AZ 사용 여부
    자동 백업 보존 기간설정한 자동 백업의 보존 기간
    - 마우스 오버하여 시작 시간 확인
    생성일MySQL 인스턴스 그룹의 생성일시
    생성자MySQL 인스턴스를 처음 생성한 사용자
    [더 보기] 아이콘자동 백업 설정: 해당 인스턴스 그룹의 자동 백업 설정, 사용 여부 및 보존 기간, 백업 시작 시간 설정
    볼륨 확장: MySQL 인스턴스 그룹의 볼륨(기본, 로그 스토리지) 확장
    파라미터 그룹 변경: 해당 인스턴스 그룹에 적용되어 있는 파라미터 그룹을 변경
    Standby 추가: 해당 인스턴스 그룹에 Standby 인스턴스 추가, 자세한 설명은 Standby 추가 참고
    수동 Failover: 해당 인스턴스 그룹의 Failover 진행
    백업 생성: 해당 인스턴스 그룹에 백업을 생성
    인스턴스 그룹 삭제: 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 인스턴스 그룹을 삭제하면 해당 그룹 내 모든 인스턴스가 종료되며, 사용자의 인스턴스가 완전히 반납됩니다. 인스턴스 그룹이 삭제되면, 리소스 사용 요금은 청구되지 않습니다. 또한, MySQL 인스턴스 그룹에 포함된 수동 백업은 삭제되지 않으며, 자동백업만 삭제됩니다. 자동 백업의 보존이 필요한 경우, 팝업창에서 자동 백업 보존 옵션을 체크해야 합니다.

주의

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

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

파라미터 그룹 변경

인스턴스 그룹에 연결된 파라미터 그룹을 변경할 수 있습니다.
인스턴스 그룹의 엔진 버전에 맞는 파라미터 그룹을 선택해야 하며, 설정된 파라미터 값이 변경되면 운영 중인 MySQL 서비스에 영향을 미칠 수 있습니다. 따라서, 변경 전 반드시 적용될 파라미터 값의 확인을 권장합니다.
파라미터 그룹 변경이 이미 진행 중일 경우, 추가적인 변경 요청이 실패할 수 있습니다. 자세한 내용은 파라미터 그룹 생성 및 관리 가이드를 참고하세요.

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