장애 상황에 대비하여 DB 인스턴스의 데이터베이스를 복구할 수 있도록 미리 준비할 수 있습니다. 필요할 때마다 콘솔에서 백업을 수행하거나, 주기적으로 백업이 수행되도록 설정할 수 있습니다. 백업이 수행되는 동안에는 해당 DB 인스턴스의 스토리지의 성능 저하가 발생할 수 있습니다. 서비스에 영향을 주지 않기 위해 서비스의 부하가 적은 시간에 백업할 것을 권장합니다.
RDS for PostgreSQL에서는 pg_basebackup 도구를 이용하여 데이터베이스를 백업합니다. 외부 PostgreSQL의 백업으로 복원하거나 RDS for PostgreSQL의 백업으로 복원하기 위해서는 RDS for PostgreSQL에서 사용하는 pg_basebackup과 동일한 버전을 사용해야 합니다. DB 엔진 버전에 따른 pg_basebackup 버전은 아래와 같습니다.
PostgreSQL 버전 | pg_basebackup 버전 |
---|---|
14.6 | 14.6 |
백업 시에 적용되는 설정 항목은 다음과 같으며, 자동 백업 및 수동 백업 시에 모두 적용됩니다.
특정 시점의 데이터베이스를 영구히 저장하려면 콘솔에서 수동으로 백업을 수행할 수 있습니다. 수동 백업은 자동 백업과 달리 명시적으로 백업을 삭제하지 않는 한 DB 인스턴스가 삭제될 때 같이 삭제되지 않습니다. 콘솔에서 수동 백업을 수행하려면
❶ 백업할 DB 인스턴스를 선택한 뒤 백업을 클릭하면 백업 생성 팝업 창이 나타납니다. - DB 인스턴스를 선택하지 않고 백업을 클릭하면 백업 생성 팝업 창 내 드롭다운 메뉴에서 DB 인스턴스를 선택할 수 있습니다. ❷ 백업의 이름을 입력합니다. 아래와 같은 제약 사항이 있습니다.
또는 백업 탭에서
❶ + 백업 생성을 클릭하면 백업 생성 팝업 창이 나타납니다. ❷ 백업을 수행할 DB 인스턴스를 선택합니다. ❸ 백업의 이름을 입력한 뒤 생성을 클릭하면 백업 생성을 요청할 수 있습니다.
수동으로 백업을 수행하는 경우 외에도 복원 작업을 위해 필요한 경우 또는 자동 백업 스케줄 설정에 따라 자동 백업이 수행될 수 있습니다. DB 인스턴스의 백업 보관 기간을 1일 이상으로 설정하면 자동 백업이 활성화되며, 지정된 시간에 백업이 수행됩니다. 자동 백업은 DB 인스턴스와 생명 주기가 동일합니다. DB 인스턴스가 삭제되면 보관된 자동 백업은 모두 삭제됩니다. 자동 백업에서 지원하는 설정 항목은 아래와 같습니다.
백업 보관 기간
백업 재시도 횟수
백업 수행 시간
자동 백업의 이름은 {DB 인스턴스의 이름}_yyyy-MM-dd-HH-mm
형태로 부여됩니다.
[주의] 앞선 백업이 종료되지 않는 등의 상황에서는 백업이 수행되지 않을 수 있습니다.
모든 백업 파일은 내부 백업 스토리지에 업로드하여 저장합니다. 수동 백업의 경우 별도로 삭제하기 전까지 영구히 저장되며 백업 용량에 따라 백업 스토리지 과금이 발생합니다. 자동 백업의 경우 설정한 보관 기간만큼 저장되며 자동 백업 파일의 전체 크기 중 DB 인스턴스의 스토리지 크기를 초과한 용량에 대해서 과금합니다. 백업 파일이 저장된 내부 백업 스토리지에 직접 접근할 수 없습니다.
백업을 이용하여 원하는 시점으로 데이터를 복원할 수 있습니다. 복원 시 항상 새로운 DB 인스턴스가 생성되며, 기존 DB 인스턴스에 복원할 수 없습니다. 백업을 수행한 원본 DB 인스턴스와 동일한 DB 엔진 버전으로만 복원할 수 있습니다. 백업이 생성된 시점으로 복원하는 스냅샷 복원, 원하는 특정 시점으로 복원하는 시점 복원을 지원합니다.
[주의] 복원할 DB 인스턴스의 데이터 스토리지 크기가 백업을 수행한 원본 DB 인스턴스의 데이터 스토리지 크기보다 작거나, 원본 DB 인스턴스의 파라미터 그룹과 다른 파라미터 그룹을 사용할 경우 복원에 실패할 수 있습니다.
백업 파일만으로 복원을 진행해 백업을 수행한 원본 DB 인스턴스가 필요하지 않습니다. 콘솔에서 스냅샷을 복원하려면
❶ DB 인스턴스의 상세 탭에서 복원할 백업 파일을 선택한 뒤 스냅샷 복원을 클릭하면 DB 인스턴스 복원 화면으로 이동합니다.
또는
❶ 백업 탭에서 복원할 백업 파일을 선택한 뒤 스냅샷 복원을 클릭합니다.
시점 복원을 이용하여 원하는 특정 시점 또는 WAL 로그의 특정 LSN으로 복원할 수 있습니다. 시점 복원을 하기 위해서는 백업 파일과 백업을 수행한 시점으로부터 복원을 원하는 시점까지의 WAL 로그가 필요합니다. WAL 로그는 백업이 수행되는 원본 DB 인스턴스의 스토리지에 저장됩니다. WAL 로그 보관 기간이 짧으면 스토리지 용량을 더 많이 사용할 수 있지만, 원하는 시점으로 복원이 어려울 수 있습니다. 아래 나열된 경우 시점 복원에 필요한 WAL 로그가 없기 때문에 원하는 시점으로 복원하지 못할 수 있습니다.
콘솔에서 시점 복원을 하려면
❶ 시점 복원할 DB 인스턴스를 선택한 뒤 시점 복원을 클릭하면 시점 복원을 설정할 수 있는 페이지로 이동합니다.
Timestamp를 사용한 복원 시에는 선택한 시점과 가장 가까운 백업 파일을 기준으로 복원을 진행한 뒤, 원하는 시점까지의 WAL 로그를 적용합니다.
❶ 복원 방법을 선택합니다.
❷ 복원 시각을 선택합니다. 가장 최근 시점으로 복원하거나, 원하는 특정 시점을 직접 입력할 수 있습니다.
WAL 로그 위치를 활용한 복원 과정에서는 입력한 위치와 가장 가까운 백업 파일을 기준으로 복원을 진행한 뒤 원본 인스턴스의 WAL 로그로 원하는 위치까지 적용합니다.
❸ WAL 로그의 특정 위치를 입력합니다.