Snapshot 패턴 - 데이터 백업
풀어야 할 문제
데이터는 무엇보다 중요한 것이 안전하게 다뤄야 한다는 것이다. 그러기 위해서는 백업을 빠트릴 수 없다.
클라우드에서는 안전하고 용량 제한 없는 인터넷 스토리지를 비교적 싼 비용으로 이용이 가능하다.
어떤 순간의 데이터를 복제하는 백업을 스냅샷이라고 하는데 클라우드에서 자주 사용하는 개념이다.
클라우드에서는 가상 서버 데이터(OS 포함)나 그 외 데이터를 인터넷 스토리지에 복제하는 것이 간단하며, 스냅샷을 정기적으로 실행하는 것이 어렵지 않다.
- AWS의 가상 스토리지는 EBS에 스냅샷 기능이 있어 그 기능 사용
- 취득한 스냅샷은 99.999999999%의 안정성을 가지게 설계된 오브젝트 스토리지 S3에 보관
- EBS의 데이터가 파손되거나 없어져도 스냅샷을 실행했던 시점의 데이터를 S3에서 복원
- 백업을 프로그램으로 제어 가능
- 백업 공간으로 안정성이 높은 S3 이용 가능
- EBS의 데이터 전부가 백업이 가능, 저장한 백업은 신속하게 새로운 EBS로 이용이 가능
- 사용자 데이터 뿐만 아니라 OS별 백업이 가능
- OS별 저장한 백업은 AMI로 등록이 가능하여 새로운 EC2 인스턴스를 기동하는 것이 가능
- 특정 상태의 데이터 저장이 가능, 용량의 제한이 없기 때문에 복수의 세대(Generation)을 저장해 두 수 있다.
- 장애나 문제가 있을 때 간단하게 환경 재현이 가능하고 임의의 시점으로 되돌릴 수 있다.
- 스냅샷을 실행할 때 데이터의 정합성 확보 필요, EBS 마운트 상태에서 저장할 경우 파일 시스템 (EXT3나 NTFS)의 캐시를 뺀다든가 애플리케이션의 트랜잭션을 끝내는 등 논리적 정합성을 가진 상태에서 스냅샷을 실행할 필요가 있다.
- 일반적으로 부트 디스크의 데이터 크기가 작으면 가상 서버 가동이 빠르다. 또한 정기적으로 이루어지는 디스크 체크(fsck) 시간도 빠르다.
'AWS Design Pattern > 기본 패턴' 카테고리의 다른 글
OnDemand Disk 패턴 - 동적 디스크 용량 증감 (0) | 2021.02.05 |
---|---|
Sacle Up 패턴 - 동적 서버 사양 업/다운 (0) | 2021.02.05 |
Stamp 패턴 (0) | 2021.02.05 |