Amazon RDS가 정지된 상태에서도 백업할 수 있는지 확인해 봤습니다.
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon RDS가 정지된 상태에서도 백업할 수 있는지 확인해 봤습니다.
RDS를 기동중인 상태에서 백업
RDS를 기동중인 상태에서 AWS Backup을 이용해서 백업해 보면, 문제 없이 스냅샷이 생성됩니다.
※ 수동 백업이 아닌, 자동 백업입니다.
opswitch를 이용한 백업 또 한, 문제 없이 이루어지고 있는 것을 확인할 수 있습니다.
※ opswitch의 경우 클래스메소드에서 제공하는 AWS 자동화 툴로 EC2, RDS의 백업, 기동, 정지와 같은 기능을 제공하고 있습니다.
상세한 내용은 아래 URL을 참고해 주세요.
RDS를 중지한 상태에서 백업
RDS를 중지한 상태에서 opswitch로 백업을 시도해 보면, 스냅샷 생성에 실패합니다.
2023-07-06 17:11:36,825] xxxxx ap-northeast-1 Create dbsnapshots 대상 DB 인스턴스가 1개 있습니다. [2023-07-06 17:11:36,825] xxxxx ap-northeast-1 Create db snapshots [test-rds] [2023-07-06 17:11:36,879] xxxxxx ap-northeast-1 Create db snapshots DB 인스턴스 test-rds 가 이용 가능하지 않아 스냅샷을 생성할 수 없습니다.
로그를 확인해 보면, 다음과 같은 메시지를 확인할 수 있습니다.
태그를 통해서 백업 할 대상 RDS 인스턴스는 찾았지만, RDS가 중지된 상태이기 때문에 스냅샷을 생성할 수 없다는 메시지를 확인할 수 있습니다.
CloudTrail에서 확인해 보면, opswitch에서 설정한 시간에 스냅샷 생성을 여러차례 시도하고 있는 것을 확인할 수 있습니다.
AWS Backup의 경우 오후 5시를 기점으로 백업을 진행하도록 했지만, 별다른 복구시점, 스냅샷이 생성되지 않은 상태입니다.
자동 백업이 실행되려면 데이터베이스가
available
상태여야 합니다. 데이터베이스가available
외의 상태인 경우, 예컨대storage_full
상태인 경우 자동 백업이 실행되지 않습니다.동일한 데이터베이스에 대해 동일한 AWS 리전에서 DB 스냅샷 사본이 실행되는 동안에는 자동 백업이 발생하지 않습니다.
실제로 AWS 공식 문서를 확인해 보면, 자동 백업이 실행되려면 데이터베이스가 사용 가능한 상태여야 한다고, 안내하고 있습니다.
즉, RDS가 정지된 상태에서 자동 백업은 불가능합니다.
수동 백업은 가능할까?
[2023-07-06 18:18:07,530] xxxxxxx ap-northeast-1 Create dbsnapshots 대상 DB 인스턴스가 1개 있습니다. [2023-07-06 18:18:07,530] xxxxxxx ap-northeast-1 Create db snapshots [test-rds] [2023-07-06 18:18:07,564] xxxxxxx ap-northeast-1 Create db snapshots DB 인스턴스 test-rds 가 이용 가능하지 않아 스냅샷을 생성할 수 없습니다.
실제로 수동 백업으로 opswitch를 실행해 보면, 똑같이 스냅샷을 생성할 수 없다는 에러가 발생합니다.
AWS Backup에서 수동으로 백업을 생성해 보면 상태가「실패」가 되는 것을 확인할 수 있습니다.
결과적으로 RDS가 정지된 상태라면 자동, 수동 백업은 불가능 하다는 것을 확인할 수 있습니다.
즉, RDS를 백업하고 싶다면 반드시 가동 중(사용 중)이어야 합니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.