Amazon EBS 볼륨 스냅샷(snapshots)을 생성해, 데이터 복원해 보는 여러 방법에 대해 정리

Amazon EBS 볼륨 스냅샷(snapshots)을 생성해, 데이터를 복원해 보는 여러 방법에 대해서 정리해 봤습니다.
2022.10.22

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon EBS 볼륨 스냅샷(snapshots)을 생성해, 데이터를 복원해 보는 여러 방법에 대해서 정리해 봤습니다.

EBS 스냅샷(snapshots)으로 복원

먼저 EBS 볼륨은 인스턴스에 연결하면 물리적 하드 드라이브처럼 사용할 수 있습니다.

이러한 볼륨을 이용해, C, D드라이브 처럼 활용할 수 있는 것이 EBS 볼륨입니다.

여기서 EBS 볼륨의 스냅샷(snapshots)을 생성해서, EBS 볼륨을 백업한 후, 이 기점을 기준으로 복원을 진행할 수 있습니다.

스냅샷(snapshots) 생성

먼저 EC2 Windows를 생성해서 접속한 다음「test-1」이라는 텍스트 파일을 생성합니다.

이어서 C드라이브 내에서도「test-1」이라는 텍스트 파일을 생성합니다.

볼륨으로 이동한 다음, 스냅샷을 생성하고자 하는 볼륨을 선택합니다.

이어서 작업에서「스냅샷 생성」을 클릭합니다.

설명과 태그를 입력한 다음「스냅샷 생성」버튼을 클릭합니다.

이제 스냅샷으로 들어가서 확인해 보면 조금 전 생성한「test-1」이름의 스냅샷이 생성된 것을 확인할 수 있습니다.

이제 테스트를 위해 EC2 Windows에 있는「test-1」텍스트 파일을 삭제합니다.

D드라이브로 스냅샷 복원

먼저 C드라이브는 유지한 상태로, D드라이브에 복원해 보도록 하겠습니다.

먼저 스냅샷을 선택한 다음「스냅샷에서 볼륨 생성」을 클릭합니다.

테스트용이기 때문에 옵션들은 디폴트로 설정한 다음, 기존 볼륨과의 구분을 위해 태그만 설정하고 볼륨을 생성합니다.

이제 생성한 볼륨을 선택한 다음「볼륨 연결」을 클릭합니다.

볼륨을 연결할 인스턴스를 선택하고, 디바이스 이름을 입력합니다.

Windows의 경우 추가 볼륨에 대해서는 xvd[f-z] * 와 같은 형태로 디바이스 이름을 지정해야 합니다.

디바이스 이름에 관한 내용은 아래 링크를 참고해 주세요.

볼륨 연결이 끝났다면「Create and format hard disk partitions」에서 볼륨을 활성화 시켜줍니다.

「Disk 1」를 클릭한 다음, Online을 클릭합니다.

D드라이브로 들어가서 확인해 보면「test-1」이 복원된 것을 확인할 수 있습니다.

C드라이브로 스냅샷 복원

이번에는 볼륨을 연결해서 D드라이브가 아닌, C드라이브로 복원해 보겠습니다.

볼륨을 생성하는 과정은「D드라이브로 스냅샷 복원」하는 방법과 동일합니다.

별도 구분을 위해 Name은「C-Drive」로 입력했습니다.

먼저 루트 볼륨(현재 C드라이브)을 교체하기 위해서는 EC2 인스턴스를 중지할 필요가 있습니다.

볼륨으로 들어와서, 루트 볼륨(현재 C드라이브)을 선택한 다음「볼륨 분리」를 실행합니다.

이제 생성한 볼륨을 선택한 다음「볼륨 연결」을 클릭합니다.

이번에는 루트 볼륨으로 연결하는 것이기 때문에, 디바이스 이름을「/dev/sda1」로 입력해야 합니다.

볼륨 연결이 끝났다면, 인스턴스를 시작하고 접속을 해 보면, 바탕화면과 C드라이브 내부에「test-1」텍스트 파일이 복원된 것을 확인할 수 있습니다.

주의 할 점은 기존 볼륨은 자동으로 삭제되지 않기 때문에 더 이상 필요하지 않은 경우 수동으로 삭제할 필요가 있습니다.

루트 볼륨 대체를 통한 복원

위 2가지 방법 이외「루트 볼륨 대체」를 통해서 루트 볼륨(C 드라이브)를 인스턴스 중지 없이 교체할 수 있습니다.

Amazon EC2는 고객이 실행 중인 인스턴스에서 루트 볼륨을 대체할 수 있는 루트 볼륨 대체 기능을 발표하였습니다. 이 기능은 인스턴스를 중지하지 않고도 인스턴스의 루트 볼륨을 시작 상태 또는 특정 스냅샷으로 복원합니다. 이를 통해 고객은 인스턴스 스토어 데이터, 네트워킹 및 IAM 구성을 유지한 상태로 루트 볼륨 손상 또는 게스트 운영 체제 네트워크 구성 오류와 같은 문제를 해결할 수 있습니다.

공식 문서에 따르면 다음과 같습니다.

「루트 볼륨 대체」를 하기 위해서는 작업 -> 모니털이 및 문제 해결 -> 루트 볼륨 대체로 들어갑니다.

스냅샷을 선택한 다음, 구분을 위해「test-1」이라는 Name 태그를 추가하고「대체 작업 생성」버튼을 클릭합니다.

EC2 인스턴스에서 확인해 보면, 최근 루트 볼륨 대체 작업에서 작업 진행 상황을 확인할 수 있습니다.

볼륨에서 확인해 보면, 기존 볼륨은 분리 되고, 새로운 볼륨이 생성되어 인스턴스에 연결된 것을 확인할 수 있습니다.

주의 할 점은 기존 볼륨은 자동으로 삭제되지 않기 때문에 더 이상 필요하지 않은 경우 수동으로 삭제할 필요가 있습니다.

참고