스냅샷 기술은 온프레미스 데이터 센터와 클라우드의 데이터 보호에 핵심적인 역할을 하고 있습니다. AWS 스냅샷은 Amazon Elastic Block Storage 스냅샷 형태로 제공됩니다. 본 게시물에서는 이러한 AWS 스냅샷의 해부도와 주요 사용 사례를 살펴보겠습니다. 먼저 클라우드 스토리지 스냅샷에 대한 개요를 제공한 다음 AWS EBS 저장 볼륨의 이 데이터 보호 기술의 구체적인 내용을 살펴볼 것입니다.
스토리지 스냅샷 기술은 기본 저장 볼륨에 있는 데이터에 대한 시간 경과에 따른 참조점을 만들기 위해 사용됩니다. 스냅샷의 주요 사용 사례는 데이터 보호입니다. 일반적으로 스냅샷의 내용은 읽기 전용이며, 스토리지 관리자 및 여러 제3자 백업 응용 프로그램에서 데이터를 읽거나 복원하는 데 사용될 수 있습니다. 쓰기 활동은 계속해서 실제 저장 볼륨에 대한 중단 없이 진행됩니다.
스냅샷 유형
Copy-on-write 스냅샷:
Redirect-on-Write 스냅샷:
Split-Mirror (AKA Clone) 스냅샷:
CDP (Continuous Data Protection) 스냅샷:
일반적으로 스토리지 시스템 레이어에서 취해지는 스토리지 스냅샷의 경우 저장 볼륨에 있는 데이터는 운영 체제 및 해당 데이터를 사용하는 응용 프로그램과 일관성이 있어야 하며 복구 목적으로 사용할 수 있어야 합니다. 이러한 이유로 대부분의 스냅샷 기능을 갖춘 스토리지 솔루션은 충돌 일관성 또는 응용 프로그램 일관성 스냅샷 기능을 제공합니다.
Crash-Consistent 스냅샷:
Application-Consistent 스냅샷:
Amazon Elastic Block Storage (Amazon EBS)는 Amazon EC2 인스턴스에 대한 내구성 있고 고가용성이 높은 블록 수준 스토리지 구조를 제공합니다. Amazon EBS 볼륨은 일반적으로 Amazon EBS 볼륨의 콘텐츠가 AZ 내에서 복제되도록 생성됩니다. Amazon EBS 스토리지는 파일 시스템, 데이터베이스 또는 형식이 지정되지 않은 세분화된 블록 수준 스토리지 액세스가 필요한 어떤 응용 프로그램에든 사용하기를 권장합니다.
Amazon EBS 스냅샷은 EBS 볼륨에 저장된 데이터에 대한 장기 데이터 보호 및 내구성을 제공하며 Amazon S3에서 데이터를 복제하거나 새로운 Amazon EBS 볼륨을 시작하는 데 사용될 수 있습니다. AWS 아키텍처는 이러한 복사 전용 쓰기 스냅샷이 동일한 스냅샷 내에 모든 점진적 변경과 필요한 모든 메타데이터를 포함하도록합니다. EBS 스냅샷 생성 프로세스 중에 스냅샷 데이터가 Amazon S3 저장 버킷으로 자동 백그라운드 작업으로 전송됩니다(관리되는 AWS 및 엔드 사용자에게 표시되지 않음).
스냅샷의 주요 AWS 사용 사례
AWS에서 EBS 스냅샷을 사용하는 여러 사용 사례가 있습니다. 이 중 일부는 다음과 같습니다.
데이터 백업:
재해 복구:
Dev/Test:
1. Amazon EBS 스냅샷 생성 및 삭제:
Amazon EBS는 Amazon EC2 인스턴스에 연결된 단일 gp2, Magnetic tape 또는 io1 볼륨에 대해 단일 sc1 또는 st1 볼륨에 대해 기본적으로 다섯 개의 보류 중인 스냅샷 및 하나의 보류 중인 스냅샷을 제한하는 방식으로 즉시 차단합니다. Amazon EBS 스냅샷은 일반적으로 즉시 생성되지만 전체 데이터 집합이 Amazon S3로 전송 될 때까지 보류중인 상태로 유지됩니다. 이 완료 시간은 스냅샷 생성 중에 비하면 약간 다를 수 있으며 스냅샷 생성 중에 뒷면에서 복사되어야 하는 변경된 데이터 크기에 따라 달라집니다. 하나의 gp2, Magnetic tape 또는 io1 볼륨에 대해 다섯 개의 보류 중인 스냅샷 및 단일 sc1 또는 st1 볼륨에 대해 하나의 보류 중인 스냅샷이라는 기본 제한이 있습니다. Amazon EBS 스냅샷은 충돌 일관성 만 제공하며 응용 프로그램 일관성은 제공하지 않습니다. 따라서 데이터베이스 파일과 같은 중요한 응용 프로그램을 보호하기 위해 AWS 데이터베이스 백업을 위해 응용 프로그램 일관성 스냅샷이 필요한 경우 인스턴스를 끄거나 응용 프로그램 데이터를 스냅샷을 생성하기 전에 일관되게 쓰도록하고 볼륨을 마운트 해제하여 응용 프로그램 일관성 스냅샷을 생성해야합니다.
진행하겠습니다.
2. Amazon EBS 스냅샷 복사 및 공유:
Amazon EBS 스냅샷 데이터를 AWS 리전 간에 복사하는 것이 가능합니다. 이를 통해 데이터 마이그레이션 및 복제 옵션을 제공하지만 첫 번째 스냅샷 복사는 소스 스냅샷의 전체 복사본으로 해당 스냅샷의 크기와 관련된 저장 공간 비용만큼 동일한 양의 기본 저장 공간을 사용합니다. 그 이후의 스냅샷 복사는 증분 복사로 이루어집니다.
스냅샷은 Amazon EC2 콘솔을 사용하거나 copy-snapshot
명령( AWS CLI)을 사용하여 리전 간에 복사할 수 있습니다. 복사된 스냅샷은 이후 해당 리전에서 새로운 Amazon EC2 인스턴스에 연결하여 데이터 액세스에 사용할 수 있습니다.
또한, Amazon EBS 스냅샷은 다른 AWS 사용자와 공유할 수 있습니다. 스냅샷의 권한을 수정하여 다른 AWS 사용자와 공유할 수 있으며 스냅샷을 공개로 만들 수도 있습니다. 다만, 공개로 만들 경우 해당 스냅샷에 저장된 모든 데이터는 누구에게나 접근 가능하게 됩니다.
각 Amazon EBS 스냅샷은 충분한 권한과 스냅샷 ID를 가지고 데이터를 복원하는 데 사용될 수 있습니다. 데이터를 복원하려면 다음 단계를 따릅니다.
새로운 Amazon EBS 볼륨을 스냅샷에서 생성하는 과정에서는 Amazon S3에서 스냅샷을 호스팅하는 새로운 Amazon EBS 볼륨으로의 데이터 로딩(초기화)이 백그라운드 작업(즉, 지연 로딩)으로 수행됩니다. 이는 스냅샷에서 전송되지 않은 새로운 EBS 볼륨으로의 데이터의 크기에 따라 소요 시간이 걸릴 수 있습니다.
Amazon EC2 인스턴스가 새로운 EBS 볼륨에서 아직 전송되지 않은 데이터 블록을 요청하는 경우, 이러한 블록은 스냅샷 뒤의 Amazon S3 버킷에서 직접 가져옵니다. 이로 인해 첫 번째 읽기 중에이 전체 볼륨에서 IO 지연이 발생할 수 있습니다. 이를 방지하려면 새 EBS 볼륨에서 읽기 전에 전체 볼륨을 즉시 초기화하도록 강제하는 것이 좋습니다.