안녕하세요! 오늘은 AWS의 데이터베이스 관리 시스템인 RDS의 백업과 복원에 대해 알아보겠습니다.
데이터베이스의 백업은 개발 업무에 있어 매우 중요한 작업인데요. 백업은 보통 Data Export를 통해 DB를 dump파일로 저장하여 보관합니다. 하지만 RDS를 사용한다면 따로 dump 파일을 저장할 필요 없이 특정 시점의 스냅샷을 저장해놓고 언제든 복원이 가능하며 자동 백업 기능을 활성화해 놓는다면 이러한 과정도 필요 없기 때문에 매우 편리합니다.
목차
1. RDS 백업 설정 확인
- Amazon RDS - 데이터베이스 - 복구대상 RDS - 유지 관리 및 백업
자동 백업이 활성화되어 있는 것을 볼 수 있습니다. 7 Days는 최근 7일 동안의 백업 데이터를 저장하고 있다는 의미이고 백업 기간은 19:41 ~ 20:11 사이의 데이터를 백업한다는 의미입니다. 보통 하루에 한 번 백업이 진행되고 설정에 따라 백업 주기는 달라질 수 있습니다.
- Amazon RDS - 스냅샷 - 자동
9월 5일 기준으로 8월 25일 ~ 9월 4일 기간에 하루 한번 스냅샷이 생성되어있는 것을 볼 수 있습니다.
2. 스냅샷 생성 및 복원 (수동 백업)
- Amazon RDS - 스냅샷 - 수동
스냅샷 생성을 누른 후 백업할 DB 인스턴스를 선택한 후 이름을 현재 날짜와 시간을 포함시켜 정한 다음 스냅샷 만들기를 클릭하시면 됩니다. 단, 스냅샷이 생성되는 중에는 기존 DB가 다운될 수 있으니 서비스 중인 인스턴스가 있다면 주의해주시기 바랍니다. (데이터 양에 따라 다르지만 5분 내외로 걸립니다.)
스냅샷을 생성해두고 기존 데이터에 문제가 생겼다던가 유실된 경우 스냅샷을 통해 데이터를 복원하시면 됩니다.
3. 특정 시점으로 복원 (자동 백업)
RDS 자동 백업 탭에 들어가서 복원하고자 하는 RDS를 선택한 후 작업 - 특점 시점으로 복원을 클릭합니다.
여기서 가장 빠른 복원 가능 시간이란 이 시간 이전의 데이터는 복원할 수 없다는 의미입니다. 그리고 최근 복원 가능 시간이란 이 시간보다 최근의 데이터는 복원할 수 없다는 의미입니다. 즉, 가장 빠른 복원 가능 시간 ~ 최근 복원 가능 시간 사이에 있는 특정 시점으로는 어떠한 데이터라도 복구 가능합니다. 참고로 RDS 복원은 기존 RDS 인스턴스의 데이터가 복구되는 것이 아니라 복구 시점의 데이터를 바탕으로 새로운 RDS 인스턴스를 생성하는 것입니다.
복원 가능한 최근 시간을 선택한다면 제일 최근 시점으로 복원을 할 수 있고 사용자 지정 날짜 및 시간을 선택하면 복구 가능시간 사이에 정확한 시간 분 초까지 설정해서 복원 시점을 정할 수 있습니다.
그 외에 설정들은 기존 RDS 인스턴스와 똑같이 복제되므로 따로 수정할 필요 없습니다.
밑으로 내려가 삭제 방지를 활성화한 후 특정 시점으로 복원을 누르면 몇 분내에 새로운 RDS 인스턴스가 복제됩니다.
이제 새로운 인스턴스를 기존 프로젝트에 연결하여 사용하시면 됩니다.
자동 백업된 스냅샷과 수동 백업한 스냅샷의 가장 큰 차이점은 기존 RDS 인스턴스를 삭제하면 자동 백업된 스냅샷들은 같이 삭제가 되고 수동 백업한 스냅샷은 유지가 됩니다. 그렇기 때문에 RDS 인스턴스를 삭제하기 전에 꼭 수동으로 스냅샷을 저장하고 삭제하시길 추천드립니다.
이 글을 통해 데이터를 복원하는데 도움이 되었으면 좋겠습니다.
이상으로 포스팅을 마치겠습니다. 감사합니다.
'AWS' 카테고리의 다른 글
[AWS] 장고 프로젝트 배포하기 (3) WS와 WSGI 그리고 WAS / Nginx와 uWSGI 연동하기 (4) | 2022.10.04 |
---|---|
[AWS] EC2 인스턴스 스케줄러 적용, 서버 재시작 자동화 (1) | 2022.09.05 |
[AWS] 장고 프로젝트 배포하기 (2) SSH 접속, 패키지 설치, GitHub 연동 (0) | 2022.06.15 |
[AWS] 장고 프로젝트 배포하기 (1) AWS 계정 생성, EC2 인스턴스 생성 (0) | 2022.04.29 |