04F. EBS 스냅샷 활용하기
04F. EBS 스냅샷 활용하기 관련
EBS 볼륨의 전체 내용 중 특정 시점을 파일로 저장한 형태가 스냅샷입니다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있습니다.
프리 티어에서 사용 가능
EBS 스냅샷은 프리 티어에서 무료로 사용할 수 있습니다. 2014년 8월 기준으로 EBS 스냅샷 스토리지 1GB를 무료로 사용할 수 있습니다.
이 장에서는 Amazon Linux가 설치된 8GB EBS 볼륨의 스냅샷을 생성하지만 EBS 볼륨의 전체 크기가 8GB일 뿐 실제 용량은 1GB가 되지 않으므로 무료 사용 용량 안에서 실습이 가능합니다 (EBS 스냅샷은 변경된 부분만 저장합니다).
EBS 스냅샷은 다양한 용도로 활용이 가능합니다.
- 스냅샷으로 EBS 볼륨 생성(다른 가용 영역에 생성 가능)
- 스냅샷으로 AMI 생성
- 스냅샷을 다른 리전으로 복사
EBS 스냅샷은 EBS 볼륨을 백업하고 이전 내용으로 복원하고 싶을 때, 나만의 AMI를 생성하고 싶을 때, EBS 볼륨을 다른 리전으로 이전하고 싶을 때 사용합니다. EBS 스냅샷 저장 요금은 S3 데이터 저장 요금에 합산됩니다.
EBS 스냅샷 생성하기
EBS 스냅샷을 생성하는 방법은 2가지가 있습니다. EBS 볼륨 목록에서 생성하는 방법과 EBS 스냅샷 목록에서 생성하는 방법이 있습니다. 두 방식 모두 위치만 다를 뿐 과정은 완전히 같으므로 EBS 볼륨 목록([ELASTIC BLOCK STORE]
→ [Volumes]
)에서 생성하는 방법을 설명하겠습니다.
EBS 스냅샷 생성 세부 설정입니다.
- Name : EBS 스냅샷 이름입니다. Example Snapshot으로 입력합니다(입력하지 않아도 상관없습니다).
- Description : EBS 스냅샷의 설명입니다(입력하지 않아도 상관없습니다).
- Encrypted : 볼륨을 암호화했다면 Yes로 표시됩니다.
EBS 스냅샷 목록([ELASTIC BLOCK STORE]
→ [Snapshots]
)으로 이동했습니다. 이제 EBS 스냅샷이 생성되었습니다. 완전히 생성이 완료되기까지 약간 시간이 걸립니다.
EBS 스냅샷으로 EBS 볼륨 생성하기
EBS 스냅샷으로 EBS 볼륨을 생성할 수 있습니다. EBS 볼륨 자체로는 다른 가용 영역Availability Zone으로 이전할 수 없으므로 꼭 EBS 스냅샷을 활용해야 합니다. 백업 기능도 있으므로 EBS 볼륨의 내용을 되돌리고 싶을 때 EBS 스냅샷을 활용할 수 있습니다.
EBS 스냅샷을 선택하고 마우스 오른쪽 버튼을 클릭하면 팝업 메뉴가 나옵니다(위쪽 [Actions]
버튼을 클릭해도 같은 메뉴가 나옵니다).
그림 4-46처럼 EBS 스냅샷으로 EBS 볼륨을 생성합니다.
- Snapshot ID: 선택한 EBS 스냅샷의 ID입니다.
- Type: EBS 볼륨 형태입니다. 기본값 그대로 사용합니다.
- Size: EBS 볼륨 크기입니다. 기본값은 EBS 스냅샷을 생성했을 때의 크기입니다. 기본값 그대로 사용합니다.
- IOPS: Type을 General Purpose로 설정했기 때문에 IOPS를 설정할 수 없습니다. Type을 Provisioned IOPS로 선택해야 이 값을 설정할 수 있습니다.
- Availability Zone: 볼륨이 생성될 가용 영역입니다. 이 기능을 활용하여 EBS 볼륨을 다른 가용 영역으로 옮길 수 있습니다. 기본값 그대로 사용합니다.
- Encryption: 볼륨 암호화 옵션입니다. 기본값 그대로 사용합니다.
EBS 볼륨이 생성되었다는 알림 창이 표시됩니다.
EBS 볼륨 목록([ELASTIC BLOCK STORE]
→ [Volumes]
)으로 이동했습니다.
EBS 스냅샷으로 AMI 생성하기
EBS 스냅샷으로 EBS 볼륨뿐만 아니라 EC2 인스턴스를 생성할 수 있는 AMIAmazon Machine Image도 생성할 수 있습니다. AMI에 대한 자세한 내용은 8장 AMI를 참조하기 바랍니다. EBS 스냅샷으로 AMI를 생성할 때 주의해야 할 점은 Linux의 경우 Kernel ID를 알아야 한다는 것입니다. AMI를 만들 때 이 Kernel ID를 설정하게 됩니다. 나중에 AMI로 EC2 인스턴스를 생성했을 때 Kernel ID가 맞지 않으면 부팅이 되지 않습니다(커널 패닉 발생). 단, HVM(t2 유형 등)은 Kernel ID를 설정하지 않아도 됩니다.
먼저 Kernel ID를 알아보겠습니다. EC2 인스턴스 목록([INSTANCES]
→ [Instances]
)에서 EC2 인스턴스를 선택합니다. 앞에서 EBS 스냅샷을 만들 때 이 EC2 인스턴스(Example Server)에 장착된 8GiB EBS 볼륨으로 만들었습니다. 그리고 이 EC2 인스턴스는 Amazon Linux AMI 2014.03
으로 생성했습니다.
EBS 스냅샷으로 AMI를 생성합니다.
- Name: AMI 이름입니다. Example AMI로 설정합니다.
- Description: AMI 설명입니다(입력하지 않아도 상관 없습니다).
- Architecture: CPU 아키텍처 설정입니다. 32비트인 i386과 64비트인 x86_64를 선택할 수 있습니다. 기본값 그대로 사용합니다.
- Virtualization type: 가상화 유형 입니다. 기본값 그대로 사용합니다.
- Root device name: Linux Root device 이름입니다. 기본값 그대로 사용합니다.
- Kernel ID: 부팅할 때 사용할 커널입니다. 앞에서 EC2 인스턴스 세부 내용에 표시된 Kernel ID는
aki-176bf516
이었습니다. 각자 상황에 맞게 설정합니다(AWS의 EC2 Linux 인스턴스는 반가상화이므로 외부에서 커널을 설정해줘야 합니다). - RAM disk ID: 램 디스크 ID입니다. 기본값 그대로 사용합니다.
- Block Device Mappings: 기본 장착될 EBS 볼륨 설정입니다. 기본값 그대로 사용합니다.
AMI 목록([IMAGES]
→ [AMIs]
)으로 이동했습니다. 이제 AMI가 생성되었습니다. [Launch]
버튼을 클릭하면 이 AMI로 EC2 인스턴스를 생성할 수 있습니다. EC2 인스턴스를 생성하는 방법은 앞에서 설명한 EC2 인스턴스 생성하기 방법과 동일하므로 따로 설명하지 않겠습니다.
EBS 스냅샷을 다른 리전으로 복사하기
EBS 볼륨 자체로는 다른 가용 영역(Availability Zone)으로 이전이 불가능할 뿐만 아니라 다른 리전(Region)으로 이전도 불가능합니다. 따라서 EBS 볼륨을 EBS 스냅샷으로 생성한 뒤 다른 리전으로 복사해야 합니다.
EBS 스냅샷을 복사합니다.
- Snapshot: 선택한 EBS 스냅샷의 ID가 표시됩니다.
- Destination Region: 복사할 리전입니다. US West (N. California)를 선택합니다.
- Description: 새로 만들어질 EBS 스냅샷의 설명입니다. 기본값 그대로 사용합니다.
EBS 스냅샷 복사가 시작되었다는 알림 창이 표시됩니다.
EBS 스냅샷 목록([ELASTIC BLOCK STORE]
→ [Snapshots]
)으로 이동했습니다. 방금 복사한 EBS 스냅샷이 보입니다. 완전히 복사되기까지 약간 시간이 걸립니다.
이제 이 EBS 스냅샷으로 US West (N. California) 리전에서 EBS 볼륨이나 AMI를 생성하여 사용하면 됩니다.