1. 스냅샷이란?
스냅샷은 짧은 순간의 기회를 이용하여 찍는 사진을 말한다.
스냅샷(Snapshot)은EBS를 저장하는 효율적인 방법으로서,특정 시간에 EBS 볼륨 상태의 저장본을 뜻한다.EBS의 데이터 저장 상태에 대해 사진(백업본)을 찍어둔 개념이다. 그래서 필요시 스냅샷을 통해특정시간의 저장 데이터에 대한 EBS의 복구가 가능하다.
2. 인스턴스 들어가기
인스턴스에 볼륨이 연결이 되어 있다는 가정하에
sudo sh -c "echo some text has been written > /mnt/data-store/file.txt"
탑재된 볼륨에서 파일을 생성하고 여기에 일부 텍스트를 추가한다.
cat /mnt/data-store/file.txt
텍스트가 볼륨에 기록되었는지 확인한다.
그러면 위와 같이 작성했던 글이 보이게 된다.
3. 스냅샷 생성하기
EC2콘솔에서 볼륨을 선택하고 스냅샷을 생성하고자 하는 볼륨을 선택한다.
그리고 나서 오른쪽 상단의 작업 탭을 클릭하여 스냅 생성을 클릭한다.
위와 같이 나오는데 여기서 태그를 추가 하여 Key: Name, Value: My snapshot으로 하여 지정하고 스냅샷 생성을 눌러 생성한다.
여기서 태그는 위와 같이 안 해도 되고, 본인 마음대로 설정한다.
왼쪽 사이드 메뉴에 스냅샷을 클릭하면 위와 같이 스냅샷이 생성된 것을 확인할 수 있다.
참고로, 사용된 스토리지 블록만 스냅샷에 복사되므로, 빈 블록은 스냅샷 스토리지 공간을 차지하지 않는다.
4. 스냅샷 복원하기
1) 인스턴스에서 파일 삭제하기
스냅샷이 복원되기 위해서는 삭제된 파일을 복원하기 위해서 사용한다. 그러기 위해서 인스턴스에서 파일을 삭제하고자 한다.
sudo rm /mnt/data-store/file.txt
볼륨에서 생성한 파일을 EC2 Instance Connect 세션 내에서 삭제한다.
ls /mnt/data-store/
파일이 삭제되었는지 확인한다.
2) 스냅샷으로 복원하기
스냅샷메뉴로 들어가서 오른쪽 상단의 작업탭을 클릭한다. 그리고 스냅샷에서 볼륨생성을 클릭한다.
여기서 태그를 추가하여 Key와 Value를 설정하고 볼륨을 생성해준다. 스샷을 새 볼륨으로 복원할 때 볼륨 유형, 크기, 가용 영역 등의 구성을 변경할 수 있으므로 이는 알아서 설정한다.
5. 복원된 볼륨 인스턴스에 연결하기
왼쪽 사이드 메뉴에 볼륨을 선택하고, 위에서 생성한 볼륨을 클릭하고 작업탭에서 볼륨 연결을 클릭한다.
연결할 인스턴스과 디바이스 이름을 설정하고 볼륨 연결을 클릭해준다.
6. 복원된 볼륨 연결하기
sudo mkdir /mnt/data-store2
새로운 스토리지 볼륨을 탑재할 디렉터리를 생성한다.
sudo mount /dev/sdg /mnt/data-store2
위에서 생성한 볼륨을 연결한다.
ls /mnt/data-store2/
앞서 생성한 파일이 연결된 볼륨에 있는지 확인한다.
삭제되었던 file.txt가 보인다.
👇🏻 참고 사이트
https://inpa.tistory.com/entry/AWS-📚-AMI-Snapshot-개념-백업-사용법-💯-정리#스냅샷snapshot