시점 복원
시점 복원(Point-in-time Recovery)은 특정 시점으로 데이터베이스를 되돌리는 기능으로 인스턴스 그룹 단위로 동작합니다. 시점 복원은 서비스 배포 후 오류로 인해 특정 시점으로 데이터베이스를 되돌려야 하거나 외부 공격으로 예상치 못한 데이터 유실이 발생했을 때, 또는 관리상의 실수로 데이터가 삭제되어 특정 시점으로 복원이 필요한 경우에 활용할 수 있습니다.
자동 백업 수행 시점 및 바이너리 로그가 보관된 기간을 바탕으로 복원 가능한 기간이 결정되며 해당 기간 중 특정 시점을 지정해 신규 인스턴스 그룹으로 복원할 수 있습니다.
시점 복원 전 확인 사항
인스턴스 그룹의 상태
시점 복원은 인스턴스 그룹의 상태가 Primary-Available, Available 또는 Error 일 때만 가능합니다. 인스턴스 그룹에 진행 중인 작업이 없으며 서비스가 정상적인 상태일 때 또는 인스턴스 그룹의 일부 인스턴스에 오류가 발생하여 일시적으로 인스턴스를 사용할 수 없어 복원이 필요한 상태일 때 시점 복원을 진행할 수 있습니다.
자동 백업
시점 복원을 진행하려면 대상 인스턴스 그룹에 자동 백업 파일이 필요합니다. 이를 위해 자동 백업 옵션이 사용으로 설정되어 있어야 합니다. 복원 가능한 시점은 수행된 자동 백업과 바이너리 로그 보관 기간을 기준으로 결정되므로 자동 백업의 보관 기간을 적절하게 설정하는 것이 중요합니다. 자동 백업 설정 및 보관 기간 조정에 대한 자세한 내용은 자동 백업 가이드를 참고하시기 바랍니다.
바이너리 로그
보관 설정
시점 복원을 진행하려면 대상 인스턴스 그룹의 바이너리 로그가 보관되어 있어야 합니다. 바이너리 로그는 binlog_expire_logs_seconds 파라미터에 설정된 기간 동안 보관되며 기본값은 691,200초(약 8일)입니다. 보관 기간이 지나면 로그는 시스템에 의해 자동으로 삭제되며 이 설정은 복원 가능한 기간에 영향을 줍니다. 보관 기간 변경이 필요한 경우 binlog_expire_logs_seconds 파라미터를 확인해주세요.
트랜잭션 조정, 크기 설정
바이너리 로그는 트랜잭션 단위로 기록됩니다. 트랜잭션이 크다면 복원까지 시간이 오래 걸릴 수 있으며 트랙잭션이 작은 경우 상대적으로 복원 속도가 빠르기 때문에 autocommit 활성화 등을 통해 작은 단위의 트랜잭션 작업을 하는 경우 복원 속도를 단축시킬 수 있습니다. 또한 로그 자체의 사이즈를 줄여 복원 속도를 더 빠르게 조치할 수 있습니다. binlog_row_image, binlog-format 등의 바이너리 로그 관련 파라미터를 확인해주세요.
단, 파라미터를 잘못 수정하는 경우, 서비스에 영향을 미칠 수도 있으므로 운영 전략에 맞는 파라미터의 수정이 필요합니다. 파라미터 수정 관련 자세한 설명은 파라미터 그룹 수정 가이드를 참고하시기 바랍니다.
복원 가능한 최근 시점
시점 복원은 자동 백업과 바이너리 로그를 함께 활용하여 특정 시점까지 데이터를 복원합니다. 복원 가능한 최근 시점은 자동 백업이 수행된 시점(자동 백업 생성일시)과 바이너리 로그에 기록된 내용에 따라 결정됩니다. Primary 인스턴스가 정상인 상태(Available, Primary Available)인 경우 현재 시간 또는 바이너리 로그에 기록된 마지막 시각까지 복원이 가능합니다. 인스턴스 그룹 > 시점 복원의 복원 시점에서 복원 가능한 최근 시점을 확인할 수 있습니다.
시점 복원
MySQL 서비스의 시점 복원 기능으로 특정 시점의 데이터를 바탕으로 신규 인스턴스 그룹을 생성할 수 있습니다.
-
카카오클라우드 콘솔에서 Data Store > MySQL 메뉴로 이동합니다.
-
인스턴스 그룹 메뉴에서 시점 복원을 할 MySQL 인스턴스 그룹을 선택합니다.
-
MySQL 작업 또는 [더 보기] 아이콘 > 시점 복원을 선택합니다.
-
시점 복원에서 정보를 입력한 후 [확인] 버튼을 클릭합니다.
항목 구분 설명 복원 정보 복원 정보
- 선택한 인스턴스 그룹 이름, 엔진 버전, 기본 스토리지 크기, 부가옵션 사용 유무 등 시점 복원을 위한 대상 정보
- 해당 정보를 바탕으로 복원복원 시점 복원할 시점을 선택, 시점은 UTC+9:00 기준
- 최근 시점: 최근 시점으로 복원
- 시점 지정: 복원 가능한 기간 중 특정 시점을 지정해 복원복원 시점 지정 복원 시점을 시점 지정으로 선택했을 경우 지정 가능
- 복원 가능한 기간을 확인하고 시점을 캘린더에서 직접 지정기본 설정 인스턴스 그룹 이름 MySQL 인스턴스 그룹의 이름
- 동일 프로젝트 내에서 중복된 MySQL 인스턴스 그룹 이름은 사용할 수 없음
- 예시: mysql-instance-01설명(선택) 인스턴스 그룹에 대한 부가 설명을 100자까지 입력 가능 인스턴스 가용성 고가용성 (Primary, Standby 인스턴스) (제공 예정) Primary 인스턴스와 다수의 Standby 인스턴스를 생성 가능
- 단일 AZ 또는 다중 AZ단일 (Primary 인스턴스) 단일 Primary 인스턴스만 생성 가능
- 단일 AZ(가용 영역)만 이용 가능MySQL 설정 엔진 버전 MySQL 데이터베이스의 버전이 자동 선택됨
- MySQL 데이터베이스 버전 8.0.34, 8.0.41 제공
- 하위 MySQL 버전으로는 복원 불가능MySQL 사용자 이름 MySQL 데이터베이스 관리자 계정의 이름
- 형식: 1~32자 이내, 영문 소문자, 언더바만 입력 가능
- 예시: admin
* 예약된 계정 이름(root)은 입력 불가MySQL 비밀번호 MySQL 데이터베이스 관리자 계정의 초기 비밀번호
- 형식: 8~16자 이내
- 공백,/,',",@문자는 사용할 수 없음
⚠️ 관리자 계정 패스워드는 데이터베이스 구동 이후에 변경 가능
⚠️ 데이터베이스 구동 후 사용자가 변경한 관리자 계정 패스워드는 확인 불가파라미터 그룹 선택한 엔진 버전에 맞는 파라미터 그룹을 선택 가능 인스턴스 유형 데이터베이스 컴퓨팅 자원 구성을 위한 인스턴스 유형 선택
- 자세한 설명은 인스턴스 유형 참고기본 스토리지 유형/크기 SSD 데이터베이스에서 사용할 볼륨의 유형과 크기 설정
- 볼륨 유형: 현재는 SSD 유형만 지원하며, 향후 다양한 유형을 지원 예정
- 볼륨 크기: 100 GB~5,120GB 크기로 볼륨을 생성 가능
* 선택한 인스턴스 유형에 따라 최소 용량 제한은 달라질 수 있습니다.로그 스토리지 유형/크기 SSD 데이터베이스에서 로그 적재에 사용하는 스토리지로, 생성 후 유형은 변경할 수 없음
- 볼륨 유형: 현재는 SSD 유형만 지원하며, 향후 다양한 유형을 지원 예정
- 볼륨 크기: 100 GB~16,384 GB 크기로 볼륨을 생성할 수 있습니다.
* 선택한 인스턴스 유형에 따라 최소 용량 제한은 달라질 수 있습니다.네트워크 설정 다중 AZ 옵션 고가용성을 선택한 경우 설정할 수 있는 옵션, AZ별 서브넷과 생성할 인스턴스 개수를 지정 가능 VPC MySQL 인스턴스의 데이터베이스가 구성될 네트워크를 선택 서브넷 및 인스턴스 개수 설정 테이블 내에서 서브넷 선택 및 인스턴스 개수 지정 가능
가용성 단일일 경우 1개, 고가용성일 경우, Primary, Standby 서브넷을 합쳐 최대 6개의 인스턴스 생성 가능구분 PrimaryPrimary 인스턴스가 생성될 서브넷을 선택하고 인스턴스 개수를 지정
가용성 단일일 경우 1개, 고가용성일 경우에는 1개의 Primary 인스턴스를 포함, 최소 2개의 인스턴스를 생성 권장구분 StandbyStandby 인스턴스가 생성될 서브넷을 선택하고 인스턴스 개수를 지정
다중 AZ 옵션을 사용하는 경우에만 사용 추가 가능하며 서브넷 추가 버튼을 통해 서브넷별로 Standby 설정 가능서브넷 추가 가용 영역의 개수만큼 서브넷 추가 가능 보안 그룹 인스턴스 그룹에 적용할 신규 보안 그룹 생성 또는 미리 생성된 보안 그룹 선택
- 다중 선택 가능자동 백업 자동 백업 옵션 자동 백업 옵션 사용 여부, 사용 시 1일 1회 자동으로 백업 진행 백업 보존 기간 자동 백업 보존 기간, 최소 1일에서 35일까지 선택 가능
- 인스턴스 그룹에 생성된 모든 자동 백업의 보존 기간 변경자동 백업 시작 시간 자동 백업 시작 시간, 선택한 시간부터 15분 사이에 백업 시작 부가 설정 테이블 대소문자 구분 테이블의 대소문자를 구분하는 파라미터(lower_case_table_names), 파라미터 그룹에 설정된 값과는 별도로 적용
인스턴스 그룹 생성 후에는 변경 불가