인스턴트 스냅샷: Compute Engine 워크로드의 오류와 손상 방지
Karthik Satish
Senior Product Manager
David Seidman
Group Product Manager
* 본 아티클의 원문은 2024년 8월 31일 Google Cloud 블로그(영문)에 게재되었습니다.
여러분이 애플리케이션 관리자이고 1시간의 유지보수 동안 애플리케이션 업그레이드를 수행해야 하는데 갑자기 업그레이드에 실패했다고 생각해 보세요. 이런 상황에서는 롤백 절차를 시작하게 됩니다. 일반적인 롤백 과정에서는 정기적인 스냅샷을 바탕으로 몇 분간 복구를 진행하게 되는데, 작업 완료에 필요한 시간은 복원할 데이터양에 따라 달라집니다. 애플리케이션의 사전 업그레이드 복제본을 바탕으로 복원하는 방법도 있지만 이는 유지 비용이 많이 든다는 단점이 있습니다.
유지보수 기간을 더 여유롭게 확보하고 롤백 시간도 예측할 수 있으며 비용 효율적이면서도 디스크 크기에 구애받지 않는 아주 빠른 복구 솔루션이 있다면 어떨까요?
오늘 소개해 드릴 Compute Engine의 인스턴트 스냅샷은 필요에 따라 신속하게 복원 가능하도록 거의 즉각적인 고빈도 특정 시점 디스크 체크포인트를 제공합니다.
인스턴트 스냅샷은 몇 초 단위의 목표 복구 시간(RPO)과 수십 초 단위의 복구 시간 목표(RTO)를 제공합니다. Google Cloud는 단 몇 초면 복구가 가능한 고성능 체크포인트를 제공하는 유일한 하이퍼스케일러입니다. 타사 하이퍼스케일러를 사용할 경우 워크로드가 최대 성능으로 복구되기까지 수십 분 또는 몇 시간이 걸릴 수 있지만 인스턴트 스냅샷으로 복구를 진행하면 Compute Engine 워크로드가 최대 디스크 성능으로 즉시 실행됩니다.
Compute Engine의 인스턴트 스냅샷을 사용해 복구를 진행하려면 핵심 인프라에 아무 문제가 없어야 하며 데이터를 이전 상태로 롤백해야 합니다. 일반적인 사용 사례는 다음과 같습니다.
-
사용자 오류, 애플리케이션 소프트웨어 장애, 파일 시스템 손상을 신속하게 복구합니다.
-
데이터베이스 워크로드 등을 위한 백업 인증 워크플로에서 주기적인 스냅샷을 생성한 뒤 즉시 복원하여 데이터 일관성 검사를 실행합니다.
-
예정된 유지보수에 실패한 경우 신속한 롤백이 가능하도록 애플리케이션 업그레이드 전에 복원 지점을 설정합니다.
위 사용 사례 외에도 인스턴트 스냅샷을 사용하면 다음과 같은 이점이 있습니다.
-
개발자 생산성 개선: 빠른 개발 주기에서 빌드 시간이 길거나 코드가 복잡한 경우 실수로 인한 오류가 발생하거나 빌드에 실패하면 작업을 완료하는 데 걸리는 시간이 늘어납니다. 인스턴트 스냅샷을 사용하면 외부 백업에 의존하지 않아도 빠른 복원이 가능합니다.
-
백업 전 상태 확인: 수행한 백업이 사용 가능하고 원하는 상태인지 확인할 수 있습니다. 장기 백업을 시작하기 전에 인스턴트 스냅샷을 사용해 디스크를 검사하고 클론하여 예비 머신에서 확인할 수 있습니다.
-
백업 빈도 증가: 인스턴트 스냅샷을 사용하면 긴 백업 시간을 기다릴 여유가 없는 대용량의 비즈니스 크리티컬 데이터베이스를 더 자주 백업할 수 있습니다.
인스턴트 스냅샷의 주요 특징
Compute Engine 인스턴트 스냅샷은 기존 스냅샷에 비해 더 많은 이점을 가지고 있습니다.
-
인플레이스 백업: 인스턴트 스냅샷은 영역 디스크 또는 리전 디스크에 생성되며 소스 디스크 및 미디어 유형과 동일한 위치에 저장됩니다. 다시 말해 SDD 또는 HDD 유형의 디스크에서 생성된 인스턴트 스냅샷은 동일한 디스크에 저장됩니다. 인스턴트 스냅샷은 생성 시 고정 요금이 부과되며 사용하는 스토리지가 늘어남에 따라 추가 요금이 책정됩니다.
-
신속성 및 증분성: 인스턴트 스냅샷은 몇 초면 생성되며 각 인스턴트 스냅샷에는 이전 인스턴트 스냅샷이 생성된 이후 변경된 증분 데이터 블록만 저장됩니다. 스냅샷 생성 빈도가 훨씬 높기 때문에 백업 스냅샷보다 더 자주 스냅샷을 생성할 수 있습니다.
-
빠른 디스크 복원: 단 몇 초면 각 인스턴트 스냅샷을 새 디스크에 복원할 수 있습니다. 이러한 새 디스크는 스냅샷과 동일한 영역에 위치하며 해당 디스크 유형을 상속합니다.
-
백업 또는 보관 파일로 변환 가능: 장기 지리적 중복 스토리지를 위한 보조 접속 지점으로 인스턴트 스냅샷을 옮길 수 있습니다.
인스턴트 스냅샷의 실행 방식


인스턴트 스냅샷은 초기 체크포인트와 비교하여 변경된 데이터만 저장하기 때문에 몇 초면 생성이 가능합니다.
따라서 위 예시에서도 인스턴트 스냅샷 생성 시 체크포인트가 만들어지지만 이 디스크의 세 번째 블록에 새 데이터를 덮어쓸 때만 데이터가 저장됩니다. 여기에서 블록 6 및 7에 데이터를 쓴 것처럼 데이터를 추가한 경우에도 체크포인트에 추가 스토리지가 필요하지 않습니다.
스토리지를 아주 효율적으로 사용할 수 있을 뿐 아니라 성능 효율성 또한 탁월한 셈입니다. 인스턴트 스냅샷 생성 시 기본 디스크의 성능에 아무 영향을 미치지 않으며, 앞서 언급했듯이 단 몇 초면 인스턴트 스냅샷을 만들고 복원할 수 있습니다.
표준 변경 관리 및 유지보수 과정에서 이와 같은 스토리지와 성능, 비용 효율성을 갖춘 인스턴트 스냅샷을 사용하면 워크로드를 더욱 쉽고 효율적으로 보호할 수 있습니다.
스냅샷 유형 비교
다음과 같은 인스턴트 스냅샷의 여러 가지 성능 특성 개요에서 표준 백업 스냅샷과의 차이점을 살펴보세요.


사용 사례
애플리케이션 관리자인 Maya는 영구 디스크 볼륨에 호스팅된 소프트웨어를 업그레이드해야 합니다. 이 작업에 주어진 유지보수 기간은 단 1시간입니다. 유지보수 기간이 끝난 후 볼륨에 새 소프트웨어가 포함되어 있으면 업그레이드에 성공한 것이며, 업그레이드에 실패할 경우 유지보수 기간이 시작되기 직전과 정확히 동일한 상태, 즉 롤백 상태가 됩니다.
정기적인 스냅샷과 인스턴트 스냅샷 사용 시 Maya의 워크플로가 어떻게 달라지는지 비교해 보세요.


지금 바로 사용하기
인스턴트 스냅샷은 거의 즉각적인 온디바이스 특정 시점 백업을 제공하여 신속한 복원과 고빈도 백업을 지원합니다. 또한 애플리케이션 업그레이드 기간을 최적화하고 외부 백업에 드는 시간을 절약하는 데 도움이 되며 업그레이드 실패 또는 사용자 오류 발생 시 빠른 복원을 가능하게 합니다.
Persistent Disk 인스턴트 스냅샷을 활용하는 방법은 인스턴트 스냅샷 문서 페이지를 참조하세요.