AWS Backup으로 PITR(Point in time recovery)를 이용해서 RDS를 특정 시점으로 복원해 보기

AWS Backup으로 PITR(Point in time recovery)를 이용해서 RDS를 특정 시점으로 복원해 보는 과정을 정리해 봤습니다.
2023.07.05

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS Backup으로 PITR(Point in time recovery)를 이용해서 RDS를 특정 시점으로 복원해 보는 과정을 정리해 봤습니다.

RDS에서 PITR(Point in time recovery)를 이용해서 특정 시점으로 복원하는 방법은 아래 블로그를 참고해 주세요.

또 한, AWS Backup에 관해서는 아래 블로그를 참고해 주세요.

AWS Backup에서 PITR(Point in time recovery) 지원

먼저 확인해야할 사항으로는 AWS Backup에서 PITR(Point in time recovery)를 지원하는지에 대해 확인할 필요가 있습니다.

일부 리소스의 경우 스냅샷 백업 외에도 연속 백업 및 point-in-time 복구 (PITR) 를 AWS Backup 지원합니다.

연속 백업을 사용하면 AWS Backup 지원되는 리소스를 1초의 정확도 (최대 35일 이전) 내에서 선택한 특정 시간으로 되돌려서 복원할 수 있습니다.

AWS 공식 문서를 확인해 보면 PITR(Point in time recovery)를 지원한다는 것을 확인할 수 있으며, 최대 35일 이전으로 복원할 수 있다고 합니다.

사전 준비

먼저 테스트를 위해 EC2와 RDS를 생성합니다.

※ EC2의 경우 RDS에 접속해, 더미 데이터를 생성, 삭제 등에 필요합니다.

RDS의 경우 AWS Backup을 이용할 생각이기 때문에 RDS 자체의 백업 기능은 무효화합니다.

create table product (id int, name varchar(10));

insert into product(id, name) values(1, "test1");
insert into product(id, name) values(2, "test2");
insert into product(id, name) values(3, "test3");
insert into product(id, name) values(4, "test4");
insert into product(id, name) values(5, "test5");

EC2에서 RDS로 접속한 다음, 다음과 같이 테이블을 생성하고 더미 데이터를 삽입합니다.

태스트를 위해 간단하게 더미 데이터를 삽입한 모습입니다.

AWS Backup 설정

먼저 백업 볼트를 생성합니다.

  • Backup 콘솔 화면에서「백업 볼트 생성」을 클릭합니다.

  • 백업 볼트 이름을 입력합니다.
  • 암호화 키를 선택합니다.
    • 이미 만든 키를 사용하거나 기본 AWS Backup KMS 키를 선택할 수 있습니다.
  • 「백업 볼트 생성」을 클릭합니다.

생성한 백업 볼트를 확인합니다.

이어서 백업 계획을 생성합니다.

  • 「새 계획 수립」을 클릭합니다.
  • 백업 계획 이름을 입력합니다.

백업 규칙을 선택합니다.

여기서「특정 시점 복구(PITR)에 대한 지속적 백업 활성화」를 체크합니다.

  • 리소스 할당 이름을 입력합니다.
  • 별도로 생성한 IAM Role이 없을 경우「기본 역할」을 선택합니다.

  • 「특정 리소스 유형 포함」을 선택합니다.
  • 리소스 유형에는 RDS의 모든 데이터베이스를 선택합니다.
    • 테스트 환경이기 때문에 데이터양이 적으므로 모든 데이터베이스를 선택했지만, 현재 환경에 따라 적절하게 선택합니다.

리소스 할당에 대해서는 아래 문서를 참고해 주세요.

백업 확인

백업이 진행되면, 보호된 리소스에서 백업 상태를 확인할 수 있습니다.

세부 정보를 확인해 보면 스냅샷과「지속적」이라는 백업 유형이 생성된 것을 확인할 수 있습니다.

해당 타입으로 PTIR로 RDS를 복원할 수 있습니다.

세부 정보에서「복원」버튼을 클릭하고「날짜 및 시간 지정」을 클릭하면 RDS에서 지원하는「특정 시점으로 복원」과 동일하게 복원이 가능한 것을 확인할 수 있습니다.

※ 현재 테스트용도로 한 번만 백업을 했기 때문에 복원 가능한 최근 시간과, 이른 복원 가능 시간이 약 1시간 길이로 밖에 설정이 되지 않은 상태입니다. 지속적으로 백업을 취득할 경우 최대 35일까지 날짜와 시간을 조정해서 복원 작업을 진행할 수 있습니다.

※ 복원 가능한 시간이 점점 늘어나는 모습

복원 확인

복원 작업의 경우「복원 작업」카테고리에서 현재 진행 상황을 확인할 수 있습니다.

AWS Backup 콘솔화면 이외에 RDS 콘솔 화면에서도 RDS 인스턴스가 생성(복원)되는 것을 확인할 수 있습니다.

복원 작업이 끝난 후, RDS로 접속해서 테이블을 확인해 보면, 문제 없이 복원된 것을 확인할 수 있습니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 kis2702@naver.com로 보내주시면 감사하겠습니다.