EC2 인스턴스의 데이터를 백업하기 위해 Snapshot을 사용하거나 AMI로 Image를 생성하기도 합니다. AWS 환경에서 사용중이던 EBS를 저장한다는 의미로 본다면 AMI를 생성하는 것과 Snapshot을 생성한다는 것이 비슷하게 느껴질 수 있습니다. 하지만 사용중인 EC2 인스턴스를 기반으로 해서 AMI를 생성하는 것
과 Snapshot을 생성하는 것
은 약간의 차이점이 있습니다.
Snapshot을 생성한다는 것
은 각각의 EBS Volume을 백업하는 개념이고 AMI를 생성한다는 것
은 Root Volume를 포함하여 EC2에 연결된 모든 EBS Volume 정보를 한번에 백업한다는 개념입니다.
여기서 볼륨이란 현재 서버(EC2 인스턴스)에서 사용하고 있는 디스크와도 같습니다. 이 디스크는 특정 시점에 Snapshot 형태로 분리하여 저장할 수도 있고, 역으로 Snapshot으로부터 서버에서 마운트 가능한 형태의 디스크를 생성할 수도 있습니다.
흥미로운 점은 Snapshot으로부터 AMI를 생성할 수도 있습니다. 이 경우에는 Snapshot이 Root 디바이스로 지정됩니다. 따라서 경우에 따라 Snapshot을 이용한 백업 방식과 AMI를 이용한 백업 방식 중 상황에 맞게 선택하여 사용할 수 있습니다.
- 긴급하게 백업된 인스턴스를 복구해야 하는 경우
- 인스턴스 설정등이 복잡해서 설정이 완료된 인스턴스 이미지를 만들고 싶은 경우
- Auto Scaling Group (이하 ASG)에서 새 인스턴스를 자동으로 생성하기 위해 만드는 경우
- OS와 별개로 데이터만 백업하고 싶은 경우
- 생성된 스냅샷을 기반으로 여러 종류의 AMI를 생성하고 싶은 경우
- Amazon DLM(Data Lifecycle Manager)을 활용하여 백업을 자동화하고 스토리지 비용 최적화를 원하는 경우
Amazon DLM이란 ?
DLM 정책을 사용하여 2, 3, 4, 6 또는 8시간마다 Amazon Elastic Block Store(EBS) 볼륨에 대한 자동 백업을 설정할 수 있습니다.