인스턴스 그룹 관리
MySQL 인스턴스 그룹을 연결, 보안 그룹, 볼륨, 파라미터 그룹, 인스턴스 유형을 관리하는 방법을 설명합니다.
MySQL 인스턴스 그룹 생성
인스턴스 그룹을 생성하는 방법은 인스턴스 그룹 생성 문서를 참고해 주세요.
인스턴스 그룹 사용자 계정
MySQL에서는 인스턴스 그룹 생성 시 사용자가 설정한 아이디와 비밀번호를 기반으로 사용자 계정을 생성합니다.
해당 계정은 User Admin 역할을 가지며, 인증 후 리소스에 접근할 수 있습니다. 사용자 계정의 역할과 권한은 다음과 같습니다.
사용자 계정에 임의로 권한을 부여하여 설정값을 변경하면 내부 관리 동작에 문제가 발생할 수 있습니다.
계정 관련 권한을 부여할 때는 카카오클라우드에서 공식적으로 제공하는 Stored Procedure를 참고해 주세요.
| 엔진 버전 | 사용자 계정 권한 |
|---|---|
| MySQL 8.0.x | 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 8.4.x | GRANT ALLOW_NONEXISTENT_DEFINER, FLUSH_OPTIMIZER_COSTS, FLUSH_PRIVILEGES, FLUSH_STATUS, FLUSH_TABLES, FLUSH_USER_RESOURCES, OPTIMIZE_LOCAL_TABLE, REPLICATION_APPLIER, SENSITIVE_VARIABLES_OBSERVER, SET_ANY_DEFINER, SHOW_ROUTINE, XA_RECOVER_ADMIN ON . TO admin@% |
MySQL 인스턴스 그룹 연결
MySQL 인스턴스 그룹과 동일 네트워크(VPC)에 있는 VM 인스턴스를 통해 MySQL에 연결할 수 있습니다.
VPC 및 보안 그룹 구성에 따라 통신 가능 여부가 달라질 수 있으므로, 접속 전 네트워크 구성을 확인해 주세요.
인스턴스 그룹 목록에서 접속할 인스턴스 그룹의 [⋮] 버튼 > MySQL 접속을 클릭하면 접속 방법을 안내하는 창을 확인할 수 있습니다.
안내 창에서 접속 환경 준비 사항과 Primary, Standby 인스턴스별 접속 명령어를 확인하고 복사할 수 있습니다. 가용성이 단일인 경우에는 Primary 인스턴스 접속 명령어만 표시됩니다.
접속 환경 준비
MySQL 인스턴스 그룹에 접속하려면 다음 접속 환경을 준비해야 합니다.
-
MySQL 인스턴스 그룹의 생성 및 설정이 완료되어 접속 가능한 상태인지 확인합니다.
- 인스턴스 그룹 생성 요청 후 서비스가 정상적으로 준비되기까지 수분이 소요될 수 있습니다.
- 정상적으로 생성된 인스턴스 그룹은
Available상태가 되며,Primary-Available상태에서도 MySQL 접속이 가능합니다.
-
MySQL 인스턴스 그룹과 동일한 네트워크(VPC)를 사용하는 인스턴스를 준비합니다.
-
인스턴스에 MySQL Client가 설치되어 있는지 확인합니다. MySQL 명령어를 인식하지 못하는 경우, 인스턴스의 운영체제에 맞는 MySQL Client를 별도로 설치해야 합니다.
MySQL Client 설치 확인mysql --version -
MySQL 인스턴스 그룹에 연결된 보안 그룹의 인바운드 정책에서 MySQL 접속에 사용할 TCP 포트를 허용합니다. 기본 포트는
Primary TCP 3306,Standby TCP 3307이며,사용자 지정 포트를 사용하는 경우 해당 포트를 허용합니다. -
가상 머신 인스턴스에 연결된 보안 그룹의 아웃바운드 정책에서 MySQL 접속에 사용할 TCP 포트와 DNS 조회를 위한
UDP 53포트를 허용합니다.
인스턴스 그룹 접속
MySQL Client를 사용해 인스턴스 그룹에 접속할 수 있습니다.
-
카카오클라우드 콘솔에서 Data Store > MySQL 메뉴로 이동합니다.
-
인스턴스 그룹 메뉴에서 접속할 MySQL 인스턴스 그룹을 선택합니다.
-
세부 정보 탭에서 MySQL Client 사용에 필요한 아래 접속 정보를 확인하고 MySQL Client가 설치된 인스턴스에서 아래 명령어를 실행합니다. 명령어 실행 후 터미널에
Enter password:가 표시되면{DB_USER}의 MySQL 비밀번호를 입력합니다.Primary 인스턴스에 접속하는 경우
mysql --user={DB_USER} --password --host={PRIMARY_ENDPOINT} --port={PRIMARY_PORT}
Standby 인스턴스에 접속하는 경우
mysql --user={DB_USER} --password --host={ENDPOINT} --port={STANDBY_PORT}
| 항목 | 설명 |
|---|---|
{DB_USER} | 세부 정보 탭에서 확인한 DB 사용자 이름 |
{PRIMARY_ENDPOINT} / {ENDPOINT} | 세부 정보 탭에서 확인한 엔드포인트 정보 - Primary 접속 시 Primary 인스턴스가 위치한 가용 영역의 엔드포인트 사용을 권장 |
{PRIMARY_PORT} / {STANDBY_PORT} | 사용자가 인스턴스 그룹 생성 시 설정한 포트 번호 |
MySQL 엔드포인트는 DNS 기반의 FQDN으로 제공됩니다. Failover 발생 시 엔드포인트에 매핑된 IP가 변경될 수 있으므로 아래 사항을 유의하세요.
- MySQL 엔드포인트 도메인 네임을 캐싱하지 않아야 합니다. (TTL 0초)
(예시) JAVA 기반의 애플리케이션 TTL 설정 :
networkaddress.cache.ttl=0 - Primary 스위칭을 진행할 때 기존 연결이 모두 끊기므로, 가용성을 위해 항상 재연결하도록 설정해야 합니다.
인스턴스 그룹 관리
MySQL 서비스에서 가동 중인 인스턴스 그룹을 관리하는 방법은 다음과 같습니다.
- Alert Center > 이벤트 알림을 통해 인스턴스 그룹 생성, 수정, 작업 이벤트를 확인할 수 있습니다.
- 설정 가능한 이벤트 내역은 Cloud Trail, 이벤트 알림 설정은 Alert Center > 알림 정책 생성 및 관리 가이드 내용을 확인하세요.
MySQL 인스턴스 그룹 목록 보기
현재 운영 중인 MySQL 인스턴스 그룹 목록을 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
-
인스턴스 그룹 메뉴에서 인스턴스 그룹 목록을 확인합니다.
구분 설명 인스턴스 그룹 이름 생성 시 입력한 MySQL 인스턴스 그룹 이름
- 인스턴스 그룹을 클릭하여 상세 정보 확인상태 MySQL 인스턴스 그룹의 상태를 확인
- 자세한 설명은 인스턴스 그룹 참고엔진 버전 생성 시 선택한 MySQL 데이터베이스의 버전 인스턴스 유형 생성 시 선택한 MySQL 인스턴스 유형 가용성 생성 시 선택한 인스턴스의 가용성 다중 가용 영역 다중 가용 영역 사용 여부 자동 백업 보존 기간 설정한 자동 백업의 보존 기간
- 마우스 오버하여 시작 시간 확인예정된 작업 예정된 메인터넌스 작업 개수, 클릭 시 메인터넌스 페이지로 이동 생성일 MySQL 인스턴스 그룹의 생성일시 생성자 MySQL 인스턴스 그룹을 처음 생성한 사용자 [⋮] 버튼 자동 백업 설정: 해당 인스턴스 그룹의 자동 백업 설정, 사용 여부 및 보존 기간, 백업 시작 시간 설정
볼륨 확장: MySQL 인스턴스 그룹의 볼륨(기본, 로그 스토리지) 확장
파라미터 그룹 변경: 해당 인스턴스 그룹에 적용되어 있는 파라미터 그룹을 변경
보안 그룹 수정: 해당 인스턴스 그룹에 연결된 보안 그룹을 수정
인스턴스 유형 변경: 해당 인스턴스 그룹의 인스턴스 유형을 변경
Standby 추가: 해당 인스턴스 그룹에 Standby 인스턴스 추가, 자세한 설명은 Standby 추가 참고
수동 Failover 실행: 해당 인스턴스 그룹의 Failover 진행
백업 생성: 해당 인스턴스 그룹에 백업을 생성
시점 복원: 원하는 시점으로 인스턴스 그룹을 복원
Audit 로깅 설정: 해당 인스턴스 그룹의 Audit 로깅 사용 여부 및 옵션 설정
MySQL 접속: MySQL 접속 방법 및 명령어 안내
삭제: MySQL 인스턴스 그룹 및 인스턴스 그룹에 포함된 인스턴스 삭제
MySQL 인스턴스 그룹 상세 보기
MySQL 인스턴스 그룹의 상세 정보를 확인할 수 있습니다.
파일 시스템 특성으로 인해 세부 정보 상단에 노출되는 스토리지 사용량과 실제 사용 가능한 용량 사이에 차이가 있을 수 있습니다.
스토리지 용량은 인스턴스 모니터링의 Disk 메트릭에서 확인할 수 있습니다.
-
카카오클라우드 콘솔에서 Data Store > MySQL 메뉴로 이동합니다.
-
인스턴스 그룹 메뉴에서 상세 정보를 확인할 MySQL 인스턴스 그룹을 선택합니다.
-
각 탭에서 인스턴스 그룹 정보를 확인합니다.
탭 구분 설명 세부 정보 인스턴스 그룹의 운영 상태, 엔드포인트, 스토리지, 고급 설정 등 주요 정보 인스턴스 인스턴스 그룹에 속한 인스턴스 목록 및 상태
- 자세한 설명은 인스턴스 관리 > 인스턴스 목록 조회 참고백업 인스턴스 그룹의 백업 정보와 백업 작업 메뉴
- 자세한 설명은 백업 관리 참고네트워크/보안 연결 정보, 토폴로지, 보안 그룹 정보 모니터링 인스턴스 그룹에 속한 인스턴스의 모니터링 정보
- 자세한 설명은 인스턴스 관리 > 인스턴스 모니터링 참고
- 세부 정보
- 인스턴스
- 백업
- 네트워크/보안
- 모니터링
- 기본 정보
| 항목 | 설명 |
|---|---|
| 이름 | 인스턴스 그룹 이름 |
| ID | 인스턴스 그룹 ID |
| 설명 | 인스턴스 그룹의 설명 - 입력하지 않은 경우 하이픈(-)으로 표시 |
| 상태 | 인스턴스 그룹의 상태 - 자세한 설명은 인스턴스 그룹 참고 |
| 생성자 | 인스턴스 그룹을 생성한 사용자 |
| 생성 일시 | 인스턴스 그룹을 생성한 일시 |
| 가용성 | 생성 시 선택한 인스턴스 그룹의 가용성(고가용성/단일) |
| 다중 가용 영역 | 다중 가용 영역(AZ) 사용 여부 |
| 인스턴스 유형 | 생성 시 선택한 인스턴스 유형, vCPU·Memory 정보 확인 가능 - [변경] 버튼으로 인스턴스 유형 변경 가능 |
| 인스턴스 수 | 인스턴스 그룹 내 인스턴스의 vCPU, Memory 사양 |
| 스토리지 유형 | 사용 중인 볼륨 유형(SSD) |
| 엔진 버전 | 인스턴스 그룹의 MySQL 엔진 버전 - 파라미터 그룹과 엔진 버전이 일치하지 않으면 경고 배지 표시 |
| 라이선스 | MySQL 엔진의 라이선스 종류(GPL) |
| Primary 엔드포인트 / 포트 | Primary 인스턴스의 엔드포인트 및 포트 |
| Standby 엔드포인트 / 포트 | AZ별 Standby 인스턴스의 엔드포인트 및 포트 - 해당 AZ에 Standby 인스턴스가 없으면 하이픈(-)으로 표시 |
| 파라미터 그룹 | 연결된 파라미터 그룹 이름과 반영 상태 - 자세한 설명은 파라미터 반영 상태 참고 |
| DB 사용자 이름 | MySQL 인스턴스 그룹 생성시 입력한 DB 사용자 이름 |
- 스토리지
볼륨 확장을 통해 기본, 로그 스토리지 크기를 늘릴 수 있습니다. 세부 정보에서 표시되는 사용량은 실제 모니터링 메트릭 데이터와 차이가 있을 수 있습니다. 정확한 스토리지 사용량 및 사용 가능한 용량은 모니터링에서 확인하세요.
| 항목 | 설명 |
|---|---|
| 기본 스토리지 크기 | 기본 스토리지의 유형과 크기 |
| Primary 기본 스토리지 사용량 | Primary 인스턴스의 기본 스토리지 사용량을 GB 및 %로 확인 가능 |
| 로그 스토리지 크기 | 로그 스토리지의 유형과 크기 |
| Primary 로그 스토리지 사용량 | Primary 인스턴스의 로그 스토리지 사용량을 GB 및 %로 확인 가능 |
- 고급 설정
| 항목 | 설명 |
|---|---|
| 테이블 대소문자 구분 | 생성 시 설정한 lower_case_table_names 파라미터의 사용 여부- 인스턴스 그룹 생성 후에는 변경 불가 |
| Audit 로깅 | Audit 로깅 사용 여부 및 설정된 옵션(server_audit_events, server_audit_excl_users, server_audit_query_log_limit) 값- 자세한 설명은 Audit 로깅 설정 참고 |
주요 내용은 인스턴스 관리 > 인스턴스 목록 조회를 참고합니다.
주요 내용은 백업 관리를 참고합니다.
- 연결 정보
| 항목 | 설명 |
|---|---|
| VPC | 인스턴스 그룹이 생성된 VPC 이름 |
| 다중 가용 영역 | 다중 AZ 사용 여부 |
| Primary 엔드포인트 / 포트 | Primary 인스턴스의 엔드포인트 및 포트 |
| Standby 엔드포인트 / 포트 | AZ별 Standby 인스턴스의 엔드포인트 및 포트 |
-
토폴로지
인스턴스 그룹의 전체 구성을 토폴로지 형태로 확인할 수 있습니다. -
보안 그룹
연결된 보안 그룹과 세부 규칙(인바운드, 아웃바운드)을 확인할 수 있습니다.
자세한 설명은 MySQL 인스턴스 그룹 보안 그룹을 참고합니다.
주요 내용은 인스턴스 관리 > 인스턴스 모니터링을 참고합니다.
MySQL 인스턴스 그룹 보안 그룹
보안 그룹 조회
상세 정보의 보안 탭에서는 인스턴스 그룹에 적용된 보안 그룹과 세부 정책을 조회할 수 있습니다. 인스턴스 그룹에 접근하려면 보안 그룹에 지정한 포트가 허용되어 있어야 합니다. 목록 내 연결된 보안 그룹 이름을 클릭해 정책 관리를 위한 VPC > 보안 그룹 상세 페이지로 이동할 수 있습니다.
보안 그룹 수정
인스턴스 그룹에 연결된 보안 그룹을 수정할 수 있습니다. 최소 1개 이상의 보안 그룹이 연결되어 있어야 합니다.
- 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
- 인스턴스 그룹 메뉴에서 보안 그룹을 설정할 인스턴스 그룹의 [⋮] 버튼 > 보안 그룹 수정을 선택합니다.
- 팝업창에서 인스턴스 그룹에 적용할 보안 그룹을 선택합니다.
구분 설명 선택한 인스턴스 그룹 이름 보안 그룹을 수정할 선택한 인스턴스 그룹 이름 보안 그룹 선택 적용할 보안 그룹을 선택, 선택한 보안 그룹은 칩 형태로 선택 박스 하단에 표시 적용된 규칙 각 보안 그룹의 인바운드, 아웃바운드 규칙 확인 가능 - [수정] 버튼을 클릭합니다.
인바운드, 아웃바운드 규칙 관리는 VPC > 보안 그룹에서 할 수 있습니다.
MySQL 인스턴스 그룹 볼륨 확장
MySQL 인스턴스 그룹의 볼륨을 확장할 수 있습니다. 기본 스토리지와 로그 스토리지는 모두 최대 16TB(16,384 GB)까지 확장할 수 있습니다.
스토리지 사용량이 증가하면 잔여 여유 용량에 따라 인스턴스 그룹 상태가 Storage-Full 상태로 전환됩니다.
인스턴스의 데이터 또는 로그 볼륨 여유 공간이 5GB 이하인 Storage-Full(Error) 상태로 전환되면 안정적인 서비스 운영을 위해 볼륨 확장 등 일부 기능 외 콘솔 내 기능이 제한됩니다.
안정적인 서비스 운영을 위해 스토리지 사용량을 주기적으로 모니터링하고, 필요 시 적절한 시점에 볼륨을 확장할 것을 권장합니다.
- 카카오클라우드 콘솔에서 Data Store > MySQL 메뉴로 이동합니다.
- 인스턴스 그룹 메뉴에서 볼륨을 확장할 인스턴스 그룹의 [⋮] 버튼 > 볼륨 확장을 선택합니다.
- 볼륨 확장 팝업에서 기본 스토리지 또는 로그 스토리지의 확장할 크기를 입력합니다.
- [확장] 버튼을 클릭합니다.
- 확장으로 인해 최대 IOPS가 변경되는 경우, 볼륨 확장 확인 팝업이 추가로 표시됩니다.
- 변경될 기본/로그 스토리지 크기를 확인한 뒤 [확인] 버튼을 클릭합니다.
- 최대 IOPS에 변경이 없는 경우에는 확인 팝업 없이 바로 볼륨 확장이 진행됩니다.
- 볼륨 확장이 완료되면 세부 정보 > 인스턴스 탭으로 이동합니다.
재시작 대기뱃지가 표시된 인스턴스를 재시작합니다.- 재시작이 완료되면
재시작 대기뱃지가 제거되었는지 확인합니다.
볼륨 크기에 따른 최대 IOPS는 인스턴스 재시작 후 적용됩니다. 볼륨 확장 완료 후 재시작 대기 뱃지가 표시되면 인스턴스를 재시작해 주세요.
인스턴스 재시작 방법은 인스턴스 관리 > 재시작을 참고해 주세요.
MySQL 인스턴스 그룹 삭제
더 이상 사용하지 않는 MySQL 인스턴스 그룹을 삭제할 수 있습니다.
MySQL 인스턴스 그룹을 삭제하면 해당 그룹 내 모든 인스턴스가 종료되고 리소스가 완전히 반납됩니다. 인스턴스 그룹이 삭제되면 리소스 사용 요금은 청구되지 않습니다.
또한 MySQL 인스턴스 그룹에 포함된 수동 백업은 삭제되지 않으며, 자동 백업만 삭제됩니다. 자동 백업을 보존해야 하는 경우 팝업창에서 자동 백업 보존 옵션을 체크해야 합니다.
삭제한 MySQL 인스턴스 그룹의 인스턴스 자원과 백업은 완전히 반납되며 복구할 수 없습니다.
- 카카오클라우드 콘솔에서 Data Store > MySQL 메뉴로 이동합니다.
- 인스턴스 그룹 메뉴에서 삭제할 MySQL 인스턴스 그룹의 [⋮] 버튼 > 인스턴스 그룹 삭제를 선택합니다.
- 팝업창에서 정보를 입력하고 [삭제] 버튼을 클릭합니다.
파라미터 그룹 변경
인스턴스 그룹에 연결된 파라미터 그룹을 변경할 수 있습니다.
인스턴스 그룹의 엔진 버전에 맞는 파라미터 그룹을 선택해야 하며, 설정된 파라미터 값이 변경되면 운영 중인 MySQL 서비스에 영향을 미칠 수 있습니다. 따라서 변경 전 반드시 적용될 파라미터 값을 확인하는 것을 권장합니다.
파라미터 그룹 변경이 이미 진행 중일 경우, 추가적인 변경 요청이 실패할 수 있습니다. 자세한 내용은 파라미터 그룹 생성 및 관리 문서를 참고해 주세요.
- 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
- 인스턴스 그룹 메뉴에서 파라미터 그룹을 변경할 인스턴스 그룹의 [⋮] 버튼 > 파라미터 그룹 변경을 선택합니다.
- 팝업창에서 변경할 파라미터 그룹을 선택하고, [저장] 버튼을 클릭합니다.
인스턴스 유형 변경
MySQL 서비스에서 제공하는 다양한 사양으로 인스턴스 그룹의 인스턴스 유형을 변경할 수 있습니다. 상황에 따라 기존보다 더 높거나 낮은 사양으로 인스턴스 유형을 변경할 수 있으며, 변경 시 인스턴스 그룹의 모든 인스턴스 유형이 변경됩니다.
- 유형 변경 시 Switchover가 발생하며 일시적인 순단이 발생할 수 있습니다.
- 변경 전 작업 부하와 메모리 사용량을 확인하시기 바랍니다. 부하가 높은 상태이거나 사용량 대비 변경 사양의 메모리가 부족한 경우, 데이터 손실, 성능 저하, 변경 요청 실패 등이 발생할 수 있습니다.
- 유형 변경에 실패하는 경우, 모든 인스턴스의 사양을 변경 전으로 되돌립니다. 관련된 상세한 내용은 Cloud Trail에서 Instance Resizing Rollback 이벤트를 통해 확인할 수 있습니다.
- 카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
- 인스턴스 그룹 메뉴에서 유형을 변경할 인스턴스 그룹의 [⋮] 버튼 > 인스턴스 유형 변경을 선택합니다.
- 팝업창에서 변경할 인스턴스 유형을 선택하고 [변경] 버튼을 클릭합니다.
Audit 로깅 설정
MySQL 인스턴스 그룹의 Audit 로깅을 설정하여 특정 이벤트에 대한 로그를 기록할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > MySQL 메뉴로 이동합니다.
-
인스턴스 그룹 메뉴에서 Audit 로깅을 설정할 인스턴스 그룹의 [⋮] 버튼 > Audit 로깅 설정을 선택합니다.
-
Audit 로깅 설정 팝업창에서 스위치를 통해 Audit 로깅 사용 여부를 설정합니다.
-
사용으로 설정하면 아래 항목을 지정할 수 있습니다.이름 입력 범위 데이터 형식 설명 server_audit_events CONNECT, QUERY, QUERY_DDL, QUERY_DCL, QUERY_DML, QUERY_DML_NO_SELECT String (List) 로깅 대상 이벤트 유형 server_audit_excl_users 제외할 사용자를 쉼표(,)로 구분 String 로깅에서 제외할 계정 server_audit_query_log_limit 0~2147483647, 기본값 1024 Integer 레코드 내 쿼리 길이 제한 -
[저장] 버튼을 클릭합니다. 설정 변경이 적용된 후 로깅이 시작 또는 중단되며, 생성된 로그는 로그 추출 메뉴에서 다운로드할 수 있습니다.
Audit 로그는 모니터링 > 로그탐색기에서 지원하지 않으며, 로그 추출 기능을 통해 Object Storage로 내려받아 확인할 수 있습니다.