Amazon RDS(Relational Database Service)에서 실수로 데이터를 삭제한 경우, 데이터 복구 작업은 설정된 백업 정책과 복구 옵션에 따라 달라질 수 있습니다. 여기에 몇 가지 일반적인 시나리오와 복구 방법을 안내해 드리겠습니다.
1. 자동 백업 사용하기
AWS RDS는 자동으로 일일 백업을 수행하고, 설정에 따라 1일에서 35일간 백업을 보관합니다. 삭제된 데이터를 복구하려면 다음 단계를 따르세요.
-
복구 시점 선택:
- 실수가 발생하기 전 시점을 정확히 알고 있다면, 그 시점으로 데이터베이스를 복원할 수 있습니다.
-
복원 작업:
- AWS Management Console에서 RDS 대시보드로 이동합니다.
- ‘Snapshots’ 섹션으로 이동하여 ‘Automated’ 탭을 선택합니다.
- 원하는 자동 백업을 선택하고, ‘Actions’ 메뉴에서 ‘Restore Snapshot’ 옵션을 클릭합니다.
- 복구하고자 하는 시점을 설정하고, 복원할 DB 인스턴스에 대한 세부 정보를 입력합니다.
-
데이터 검증 및 복구:
- 새로 복원된 데이터베이스 인스턴스에 로그인하여 삭제된 데이터가 올바르게 복구되었는지 확인합니다.
- 필요한 데이터만 기존 데이터베이스로 이전하거나 전체 데이터베이스를 교체합니다.
2. 수동 스냅샷 활용
자동 백업 외에도 수동으로 생성한 스냅샷이 있다면 이를 활용할 수 있습니다.
- 수동 스냅샷 선택 및 복원:
- RDS 대시보드에서 ‘Snapshots’ 섹션으로 이동합니다.
- ‘Manual’ 탭에서 원하는 스냅샷을 선택하고, 동일한 방법으로 복원을 진행합니다.
3. 바이너리 로그 활용 (MySQL, MariaDB)
바이너리 로그를 활성화했다면, 특정 시점으로 롤백하는 것이 가능합니다.
-
로그 파일 확인:
- 삭제 이벤트가 발생하기 전까지의 모든 변경 사항을 포함하는 로그 파일을 식별합니다.
-
데이터 복구:
mysqlbinlog 도구를 사용하여 해당 로그 파일을 처리하고, 필요한 SQL 문을 추출합니다.
- 추출된 SQL 문으로 데이터를 복구합니다.
4. 응용 프로그램 레벨 백업
응용 프로그램이나 ORM이 제공하는 별도의 백업 메커니즘을 사용했다면, 해당 도구를 통해 데이터를 복구할 수 있습니다.
추가 조치
복구 작업 후에는 다음과 같은 조치를 고려해야 합니다.
-
복구 프로세스 문서화:
- 발생한 문제와 해결 과정을 문서화하여, 유사한 상황에서 더 빠르고 효율적으로 대응할 수 있도록 합니다.
-
백업 정책 재검토:
- 데이터를 안전하게 보호할 수 있는 백업 간격과 유지 기간을 재검토합니다.
-
액세스 권한 및 프로토콜 강화:
- 실수를 줄이기 위한 액세스 제한 및 변경 관리 프로토
콜을 강화합니다.
이러한 방법으로 AWS RDS에서 실수로 삭제된 데이터를 복구할 수 있습니다.