본문으로 건너뛰기

스냅샷 스케줄러

스냅샷 스케줄러란?

스냅샷 스케줄러(Snapshot Scheduler)는 블록 스토리지의 스냅샷을 자동으로 생성하고 관리하는 시스템입니다. 정해진 스케줄에 따라 주기적으로 스냅샷을 생성하고, 보존 정책에 따라 오래된 스냅샷을 자동으로 정리하여 일관된 백업 정책을 유지할 수 있습니다.

스냅샷 스케줄러의 주요 특징

자동화된 백업

  • 사용자 개입 없이 정기적인 스냅샷 생성
  • 일관된 백업 정책 적용
  • 인적 오류 방지 및 안정적인 백업 보장

유연한 스케줄링

  • Cron 표현식을 통한 세밀한 스케줄 설정
  • 다양한 주기 옵션 (시간별, 일별, 주별, 월별)
  • 비즈니스 요구사항에 맞는 맞춤형 스케줄 구성

자동 정리

  • 최대 스냅샷 수 설정으로 저장 공간 관리
  • 오래된 스냅샷 자동 삭제
  • 비용 최적화 및 관리 효율성 향상

스냅샷 스케줄러 생성하기

필수 필드

이름 (Name)

  • 스케줄러를 식별하는 고유한 이름
  • 예시: snapshot-scheduler-9fd81c, daily-backup-scheduler, hourly-db-backup
  • 용도와 주기를 표현하는 명명 권장

영역 ID (Zone ID)

  • 스케줄러가 운영될 가용 영역
  • 예시: central-01-a
  • 대상 블록 스토리지와 동일한 영역에 생성

대상 블록 스토리지 (Target Block Storage)

  • 스냅샷을 생성할 블록 스토리지 선택
  • 드롭다운에서 기존 블록 스토리지 선택
  • 여러 스토리지에 대해 별도 스케줄러 생성 필요

Cron 표현식 (Cron Expression)

  • 스냅샷 생성 주기를 정의하는 표현식
  • 예시: 2 4 * * * (매일 오전 4시 2분)
  • 표준 Cron 형식 사용 (분 시 일 월 요일)

최대 스냅샷 수 (Max Snapshot Count)

  • 보존할 스냅샷의 최대 개수
  • 최대 100개까지 설정 가능

생성 절차

  1. ECI 콘솔 접속

    • 블록 스토리지 > 스냅샷 스케줄러 메뉴로 이동
  2. 기본 정보 입력

    • 이름: 스케줄러 식별명 입력
    • 영역 ID: 가용 영역 선택
  3. 대상 설정

    • 대상 블록 스토리지: 백업할 스토리지 선택
    • 스토리지 상태 및 정보 확인
  4. 스케줄 설정

    • Cron 표현식: 백업 주기 입력
    • Cron 문법에 대한 도움말 참조
  5. 정리 정책 설정

    • 최대 스냅샷 수: 보존할 스냅샷 개수 입력
    • 저장 공간과 비용을 고려하여 설정
  6. 생성 완료

    • "생성" 버튼 클릭하여 스케줄러 생성
    • 다음 실행 시간 확인

Cron 표현식 가이드

기본 형식

* * * * *
│ │ │ │ │
│ │ │ │ └─── 요일 (0-7, 0과 7은 일요일)
│ │ │ └──────── 월 (1-12)
│ │ └─────────── 일 (1-31)
│ └──────────────── 시 (0-23)
└───────────────────── 분 (0-59)

자주 사용하는 패턴

매일 백업

  • 0 2 * * * : 매일 오전 2시
  • 30 3 * * * : 매일 오전 3시 30분
  • 0 */6 * * * : 6시간마다

주간 백업

  • 0 1 * * 0 : 매주 일요일 오전 1시
  • 0 2 * * 1 : 매주 월요일 오전 2시
  • 30 23 * * 5 : 매주 금요일 오후 11시 30분

월간 백업

  • 0 3 1 * * : 매월 1일 오전 3시
  • 0 4 15 * * : 매월 15일 오전 4시
  • 0 1 L * * : 매월 마지막 날 오전 1시

고급 패턴

  • 0 */2 * * 1-5 : 평일 2시간마다
  • 0 9,18 * * 1-5 : 평일 오전 9시, 오후 6시
  • */15 9-17 * * 1-5 : 평일 근무시간 15분마다

스케줄러 관리

활성화/비활성화

  • 활성 상태: 스케줄에 따라 자동으로 스냅샷 생성
  • 비활성 상태: 스케줄러 정지, 수동 제어 가능
  • 임시 중지: 유지보수나 특별한 상황에서 일시적으로 중지

실행 이력 확인

  • 성공한 실행: 생성된 스냅샷 정보
  • 실패한 실행: 오류 원인 및 해결 방법
  • 다음 실행 예정: 다음 스냅샷 생성 시간

설정 변경

  • 스케줄 수정: Cron 표현식 변경
  • 보존 정책 조정: 최대 스냅샷 수 변경
  • 대상 변경: 다른 블록 스토리지로 변경

모범 사례

백업 전략

3-2-1 백업 규칙

  • 3개의 복사본: 원본 + 2개의 백업
  • 2개의 다른 미디어: 로컬 + 원격 저장소
  • 1개의 오프사이트: 다른 지역의 백업

계층화된 백업

  • 시간별: 최근 24시간 (24개 보존)
  • 일별: 최근 7일 (7개 보존)
  • 주별: 최근 4주 (4개 보존)
  • 월별: 최근 12개월 (12개 보존)

스케줄 최적화

시간대 고려

  • 업무 외 시간: 시스템 부하가 적은 시간 선택
  • 데이터 변경 패턴: 데이터 변경이 적은 시간 활용
  • 네트워크 대역폭: 다른 백업과 겹치지 않도록 분산

성능 영향 최소화

  • 점진적 백업: 여러 스토리지의 백업 시간을 분산
  • 우선순위 설정: 중요한 시스템 우선 백업
  • 모니터링: 백업이 시스템 성능에 미치는 영향 추적

활용 사례

데이터베이스 백업

스케줄러 설정:
- 이름: database-hourly-backup
- Cron: 0 */1 * * * (매시간)
- 최대 스냅샷: 24 (24시간 보존)
- 용도: 트랜잭션 로그 백업

웹 서버 백업

스케줄러 설정:
- 이름: webserver-daily-backup
- Cron: 0 2 * * * (매일 오전 2시)
- 최대 스냅샷: 7 (7일 보존)
- 용도: 일일 전체 백업

개발 환경 백업

스케줄러 설정:
- 이름: dev-weekly-backup
- Cron: 0 1 * * 0 (매주 일요일 오전 1시)
- 최대 스냅샷: 4 (4주 보존)
- 용도: 주간 환경 보존