TL;DR 결론
Backtracking | PITR (Point-In-Time Recovery) | |
복원 작업 (❗ 중요) |
같은 DB 인스턴스에 덮어쓰기 때문에 즉시 사용 가능 | 새 인스턴스로 복원하기 때문에 복원 후 다시 연결 설정 필요 |
지원하는 서비스 | Aurora | RDS, Aurora, DynamoDB, AWS Backup 등 |
제한 사항 | Aurora MySQL 5.7 or 8.0 이상에서만 지원. Aurora PostgreSQL은 지원하지 않음. |
AWS 서비스에 따라 다름 |
복구 가능 시간 | 최대 72시간 (3일) | 최대 35일 |
복원 속도 | 빠른 복원 속도 | 비교적 느리다, 복원후 새 인스턴스에 재연결 필요 |
Backtracking
Backtracking은 데이터베이스를 이전 시점으로 되돌리는 기능이다.
Backtracking은 Amazon Aurora (MySQL-Compatible Edition에서만 지원)에서 제공하는 기능이다.
Backtracking은 데이터베이스의 Transaction Log(트랜잭션 로그)를 분석하여 특정 시점 이전 상태로 Rollback(롤백)하는 방식으로 작동하며, 잘못된 트랜잭션이나 변경 작업을 되돌릴 때 유용하다.
📌 72시간을 초과한 데이터 복구가 필요한 경우에는 Restore snapshot을 사용해야 한다.
Backtrack 설정 방법
Backtrack 기능을 사용할려면 활성화해야 된다. (클러스터 생성 시 Backtracking 활성화할 수도 있다)
[RDS 콘솔 → Aurora DB cluster → Modify → Enable backtrack]
Backtracking 제한 사항
- 지원 버전: Aurora MySQL에서만 사용 가능.
- Region 제한: 일부 리전에서 사용 불가.
- 구성 제한: Multi-Master 및 binlog 복제 활성화 시 비활성화 필요.
- 복구 시간: 최대 72시간 이내 복구 가능.
- 적용 범위: 클러스터 단위로만 적용 가능.
1. 지원되는 Aurora 버전
Aurora MySQL 버전에서만 사용 가능. Aurora PostgreSQL 호환 버전에서는 지원되지 않음.
2. 지원되지 않는 AWS 리전
- 아프리카: Cape Town
- 중국: Ningxia
- 아시아 태평양: Hong Kong
- 유럽: Milan, Stockholm
- 중동: Bahrain
- 남아메리카: São Paulo
3. 사용 불가능한 구성
Aurora Multi-Master 클러스터에서는 Backtracking 기능을 사용할 수 없음.
Binary Log 기반의 복제가 활성화된 경우, Backtracking은 지원되지 않음.
Cross-Region 복제는 비활성화해야 Backtracking 설정 및 사용 가능.
4. Backtracking 최대 제한 시간
Backtracking이 허용되는 최대 복구 창(window)은 최대 72시간.
5. 클러스터 전체 적용
Backtracking은 Aurora 클러스터 전체에 적용됨.
특정 데이터 업데이트나 특정 테이블에만 적용할 수 없음.
클러스터 내 모든 데이터를 지정된 시점으로 복구함.
PITR (Point in time recovery)
PITR(Point-In-Time Recovery)는 데이터베이스를 특정 시점으로 복구하는 기능이다.
PITR은 Backtracking처럼 자동 백업 및 트랜잭션 로그를 사용하여 데이터를 원하는 시점으로 복구할 수 있게 해준다.
주로 실수로 데이터가 삭제되거나 변경되었을 때 유용하게 사용된다.
(Backtracking은 기존의 DB 인스턴스에 덮어쓴다)
📌 PITR은 새 인스턴스로 복원 후, 다시 데이터베이스 연결을 해야 한다.
PITR는 RDS와 Aurora에서 제공하는 기능이다. DynamoDB나 AWS Backup 등의 서비스도 PITR 기능을 가지고 있다.
Amazon RDS 지원 엔진 | Amazon Aurora 지원 엔진 |
– MySQL – MariaDB – PostgreSQL – Oracle – Microsoft SQL Server |
– MySQL-Compatible – PostgreSQL-Compatible |
📌 72시간을 초과한 데이터 복구가 필요한 경우에는 Restore snapshot을 사용해야 한다.
PITR (Point in time recovery) 설정 방법
[RDS 콘솔 → Database Instance → Actions → Restore to point in time]
🤔 문제
회사는 Amazon Aurora MySQL DB 클러스터를 사용하고 있으며, 이 클러스터에는 Point-in-Time Recovery (PITR), Backtracking, 자동 백업이 활성화되어 있습니다. SysOps 관리자는 지난 72시간 내의 특정 복구 지점으로 DB 클러스터를 롤백할 수 있어야 하며, 복원은 같은 프로덕션 DB 클러스터에서 완료되어야 합니다.
어떤 솔루션이 이 요구 사항을 충족할까요?
- Aurora Replica를 생성한 후, 복제본을 승격하여 기존 DB 인스턴스를 교체합니다.
- AWS Lambda 함수를 생성하여 자동 백업을 기존 DB 클러스터에 복원합니다.
- Backtracking을 사용하여 기존 DB 클러스터를 원하는 복구 지점으로 되돌립니다.
- Point-in-Time Recovery (PITR)을 사용하여 기존 DB 클러스터를 원하는 복구 지점으로 복원합니다.
정답
정답. 3번
'클라우드(AWS) > SOA-C02' 카테고리의 다른 글
[AWS] WAF의 Rate-based Rule란? 쉽게 정리 (feat. Rate Limit) (0) | 2025.01.22 |
---|---|
[AWS] S3 Server Access Logging이란? 쉽게 정리 (0) | 2025.01.21 |
[AWS] CloudFormation StackSets의 OUTDATED 문제 (0) | 2025.01.19 |
[AWS] RDS Performance Insights란? 쉽게 정리 (0) | 2025.01.18 |
[AWS] CloudFormation Custom Resource 란? 쉽게 정리 (0) | 2025.01.17 |