본문으로 건너뛰기

인스턴스 그룹 생성 및 관리

MySQL 인스턴스 그룹 생성

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

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

안내

네트워크 오류, 리소스 부족 등 예기치 못한 원인으로 인스턴스 그룹 생성에 실패했을 경우, Cloud Trail 서비스에서 내역을 확인 할 수 있습니다.

  1. 카카오클라우드 콘솔에서 MySQL 메뉴를 선택합니다.

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

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

    항목구분설명
    기본 설정인스턴스 그룹 이름MySQL 인스턴스 그룹의 이름
    - 동일 프로젝트 내에서 중복된 MySQL 인스턴스 그룹 이름은 사용할 수 없음
    - 형식: 2~20자 이내, 영어로 시작하며, 영문 소문자, 숫자, 하이픈(-) 만 입력 가능
    - 예시: mysql-instance-01
    설명(선택)인스턴스 그룹에 대한 부가 설명을 100자까지 입력 가능
    MySQL 설정엔진 버전MySQL 데이터베이스의 버전이 자동 선택됨
    - MySQL 데이터베이스 버전 8.0.34 제공
    MySQL 사용자 이름MySQL 데이터베이스 관리자 계정의 이름
    - 형식: 1~32자 이내, 영문 소문자, 언더바만 입력 가능
    - 예시: admin
    * 예약된 계정 이름(root)은 입력 불가
    MySQL 비밀번호MySQL 데이터베이스 관리자 계정의 초기 비밀번호
    - 형식: 8~16자 이내
    - 공백, /, ', ", @ 문자는 사용할 수 없음

    ⚠️ 관리자 계정 패스워드는 데이터베이스 구동 이후에 변경 가능
    ⚠️ 데이터베이스 구동 후 사용자가 변경한 관리자 계정 패스워드는 확인 불가
    인스턴스 가용성고가용성 (Primary, Standby 인스턴스)Primary 인스턴스와 다수의 Standby 인스턴스를 생성 가능
    - Single AZ 또는 Multi-AZ
    단일 (Primary 인스턴스)단일 Primary 인스턴스만 생성 가능
    - Single AZ(가용영역)만 이용 가능
    네트워크 설정Multi-AZ 옵션고가용성을 선택한 경우 설정할 수 있는 옵션, AZ별 Subnet과 생성할 인스턴스 개수를 지정 가능
    VPCMySQL 인스턴스의 데이터베이스가 구성될 네트워크를 선택
    Subnet PrimaryPrimary 인스턴스가 생성될 Subnet을 선택
    인스턴스 개수1개의 Primary 인스턴스를 포함, 최대 2개의 인스턴스를 생성 가능
    SubnetStandby 인스턴스가 생성될 Subnet
    - Primary를 생성할 VPC 선택 후에 Subnet 선택 가능
    인스턴스 개수최대 2개의 Standby 인스턴스를 생성 가능
    인스턴스 유형데이터베이스 컴퓨팅 자원 구성을 위한 인스턴스 유형 선택
    - 자세한 설명은 인스턴스 유형 참고
    기본 스토리지 타입/크기SSD데이터베이스에서 사용할 볼륨의 유형과 크기 설정
    - 볼륨 타입: 현재는 SSD 유형만 지원하며, 향후 다양한 유형을 지원 예정
    - 볼륨 크기: 100 GB~5,120GB 크기로 볼륨을 생성 가능
    * 선택한 인스턴스 유형에 따라 최소 용량 제한은 달라질 수 있습니다.
    로그 스토리지 타입/크기SSD데이터베이스에서 로그 적재에 사용하는 스토리지로, 생성 후 유형은 변경할 수 없음
    - 볼륨 타입: 현재는 SSD 유형만 지원하며, 향후 다양한 유형을 지원 예정
    - 볼륨 크기: 100 GB~5,120 GB 크기로 볼륨을 생성할 수 있습니다.
    * 선택한 인스턴스 유형에 따라 최소 용량 제한은 달라질 수 있습니다.
안내

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

MySQL 인스턴스 그룹 연결

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

사전 작업

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

인스턴스 연결하기

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

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

  2. 카카오클라우드 콘솔에서 MySQL 메뉴를 선택합니다

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

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

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

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

    MySQL 인스턴스 연결 명령어
    mysql --user={USER} --password={USER_PASSWORD} --host={ENDPOINT_IP}
    항목설명
    user{USER}: 2번에서 획득한 DB 사용자 이름
    - MySQL 인스턴스에 연결하는 DB 관리자 계정의 이름
    password{USER_PASSWORD}: MySQL 인스턴스 연결하는 관리자 계정의 초기 패스워드
    - MySQL 생성 시 입력한 비밀번호
    host{ENDPOINT_IP}: 세부 정보 탭에서 획득한 엔드포인트 정보
    - MySQL 인스턴스가 가지고 있는 IP로, 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. 카카오클라우드 콘솔에서 MySQL 메뉴를 선택합니다

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

    이미지 MySQL 인스턴스 그룹 목록(kr-central-2)

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

MySQL 인스턴스 그룹 상세 보기

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

  1. 카카오클라우드 콘솔에서 MySQL 메뉴를 선택합니다

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

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

    이미지

MySQL 인스턴스 그룹 삭제

더 이상 사용하지 않는 MySQL 인스턴스 그룹을 삭제할 수 있습니다.
MySQL 인스턴스 그룹을 삭제할 때 모든 인스턴스의 동작을 종료하고 사용자의 인스턴스를 완전히 반납합니다. 또한, MySQL 인스턴스 그룹에 포함된 백업도 같이 삭제됩니다. 인스턴스 그룹이 삭제되면, 리소스 사용 요금은 청구되지 않습니다.

주의

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

  1. 카카오클라우드 콘솔에서 MySQL 메뉴를 선택합니다

  2. Instance Group 탭에서 삭제할 MySQL 인스턴스 그룹의 [더 보기] 아이콘 > 인스턴스 그룹 삭제를 선택합니다.

    이미지

  3. 인스턴스 그룹 삭제 팝업창에서 정보를 입력하고, [삭제] 버튼을 클릭합니다.