Redshift 백업과 테이블 복구

yjbenkang·2024년 11월 3일

Redshift가 제공해주는 Snapshot이라는 백업 기능과 이를 이용한 테이블 복구 기능에 대해 알아보는 글이다.

Redshift(고정비용)가 지원하는 데이터 백업 방식

  • 기본적으로 백업 방식은 마지막 백업으로부터 바뀐 것들만 저장하는 방식
    • 이를 Snapshot이라고 부름
    • 백업을 통해 과거로 돌아가 그 시점의 내용으로 특정 테이블을 복구하는 것이 가능 (Table Restore)
    • 또한 과거 시점의 내용으로 Redshift 클러스터를 새로 생성하는 것도 가능
  • 자동 백업:
    • 기본은 하루이지만 최대 과거 35일까지의 변경을 백업하게 할 수 있음.
    • 이 경우 백업은 같은 지역에 있는 S3에 이뤄짐.
    • 다른 지역에 있는 S3에 하려면 Cross-regional snapshot copy를 설정해야함. 이는 보통 재난시 데이터 복구에 유용함.
    • 기본 1일 보관에서 35일까지 늘리고 싶다면?
    • 관련 Redshift 클러스터의 Maintenance 탭 -> Backup details -> Edit
      • 드롭다운박스에서 원하는 보관일수 선택
  • 매뉴얼 백업:
    • 언제든 원할 때 만드는 백업으로 명시적으로 삭제할 때까지 유지됨 ( 혹은 생성시 보존 기한 지정)

백업에서 테이블 복구

  • 해당 Redshift 클러스터에서 "Restore table"메뉴 선택
  • 복구 대상이 있는 백업(Snapshot) 선택
  • 원본 테이블 (Source table) 선택
  • 어디로 복구될지 타겟 테이블 선택

Redshift Serverless(가변비용)가 지원하는 데이터 백업 방식

  • 고정비용 Redshift에 비하면 제한적이고 조금더 복잡함
  • 일단 Snapshot 이전에 Recovery Points라는 것이 존재
    • Recovery Point를 Snapshot으로 바꾼 다음에 여기서 테이블 복구를 하거나 이것으로 새로운 Redshift 클러스터 등을 생성하는 것이 가능
  • Recovery Points는 과거 24시간에 대해서만 유지됨
  • 스토리지, 컴퓨팅 리소스가 고정된 것이 없기 때문에 스냅샷을 계속 잡을 수 없음.
profile
keep growing

0개의 댓글