데이터 백업과 복구(SQL Dump, AWS 스냅샷)

김규원·2025년 12월 9일

DB

목록 보기
8/22
post-thumbnail

데이터베이스 백업 및 복원 기술의 중요성

데이터 안정성:

운영 중 예기치 않은 오류나 장애, 데이터 손실 상황에 대비하여 정기적인 백업은 필수.

비즈니스 연속성:

장애 발생 시 빠른 복원을 통해 서비스 중단 시간을 최소화할 수 있음.

테스트 및 개발:

새로운 기능을 도입하기 전 백업 데이터를 이용해 테스트 환경을 구성할 수 있음.

규정 준수:

많은 산업 분야에서 데이터를 정기적으로 백업하고 복원 절차를 마련하는 것이 요구됨.

SQL Dump

PostgreSQL의 pg_dump 유틸리티를 사용하여 데이터베이스의 논리적 백업(테이블 구조 및 데이터)을 SQL 스크립트 혹은 커스텀 파일로 생성하는 방식임.

전체 백업 vs. 일부 테이블만 백업

전체 백업

: 데이터베이스에 있는 모든 객체(테이블, 인덱스, 스키마 등)를 백업

부분 백업

: 선택한 테이블이나 스키마만 백업

백업 파일 형식

Plain SQL 파일

: 텍스트 형식으로, psql을 통해 복원 가능

Custom 포맷

: pgadmin/pg_restore를 이용해 부분 복원 및 병렬 복원이 가능한 이진 형식

SQL Dump 백업 실습

  • Filename: 백업할 파일 경로 지정 (예: dvdrental_full.backup)
  • Format: Custom 또는 Plain 선택 (각 형식의 장단점 설명)
  • Dump Options: 필요에 따라 스키마, 데이터 옵션 선택
  • 실행 버튼 클릭 및 진행 상황 모니터링.

Plain 복원 vs. Custom 복원

RDS 콘솔에서 인스턴스 스냅샷 생성하기

  1. AWS Management Console에 로그인 후 RDS 서비스 선택.
  2. 대상 인스턴스(예: DVDrental 데이터베이스가 있는 인스턴스) 선택.
  3. "작업(Actions)" 메뉴에서 "스냅샷 생성(Take Snapshot)" 선택.
  4. 스냅샷 이름 입력 후 "스냅샷 생성(Take Snapshot)" 버튼 클릭.
  5. 스냅샷 생성 상태가 “사용가능(available)” 상태가 될 때까지 대기하며, 진행 상황 확인

스냅샷을 통한 복원 방법

  1. AWS RDS 콘솔에서 생성된 스냅샷 선택.
  2. "작업” 메뉴에서 "스냅샷 복원” 선택.
  3. 새 RDS 인스턴스 생성 옵션 설정:
    ▪ 인스턴스 식별자, 인스턴스 클래스, 스토리지 등의 설정
  4. 복원 프로세스 실행 후 새 인스턴스 생성 완료 확인.
  5. 새 인스턴스로 연결하여 DVDrental 데이터가 복원되었는지 검증

SQL Dump와 RDS Snapshot 차이점 정리

SQL Dump 백업

장점

  • 데이터베이스 객체(테이블, 뷰, 함수 등)를 개별적으로 백업할 수 있어 세밀한 복원이 가능
  • 데이터베이스 간 이동성이 좋으며 다른 PostgreSQL 버전으로 손쉽게 이식 가능

단점

  • 데이터가 많을 경우 백업 및 복원 시간이 길어질 수 있음
  • 백업 파일 용량 및 생성/복원 과정에서 발생하는 부하 고려 필요

AWS RDS 스냅샷

장점

  • 인스턴스 전체의 상태를 빠르게 보존하며, 복원이 비교적 간단하고 신속함
  • RDS 관리 콘솔을 통한 쉬운 관리 및 모니터링

단점

  • 스냅샷은 인스턴스 전체를 대상이므로 세부 객체 단위의 복원은 불가능
  • AWS 환경에 종속적이며, 타 클라우드나 온프레미스로의 이식성이 떨어짐
profile
행복한 하루 보내세요

0개의 댓글