티스토리 뷰

AWS

EBS snapshot 활용

RyanGomdoriPooh 2016. 8. 19. 14:15

스냅샷이란?


EBS volume의 전체 내용 중 특정 시점을 파일로 저장한 형태이다.


쉽게 이야기 하면 특정시점은 백업솔루션을 이용해서 저장해두고 사용하는 솔루션을 생각하면 된다.


백업 솔루션은 백업과 동시에 그 시점에 모든 변경사항을 저장하지 않고 그 시점에서 변경된 부분들만 부분저장하기 때문에 많은 공간을 활용하지 않는다.


스냅샷의 원리도 이와같습니다. 모든 것을 저장하지 않고 변경된 부분만 저장을 해서 나중에 그 부분만 적용시키는 것입니다.


예를 들면, 8GB가 되는 volume의 스냅샷을 하게되면 8GB 크기의 스냅샷이 만들어진다고 생각하지만 사실은 1GB를 넘지 않습니다. 그래서 처음 프리티어에서 사용하는 경우에는 과금에 대한 걱정을 하지 않아도 됩니다.


* 스냅샷 프리티어

: 스냅샷은 프리티어 버전으로 EBS 스냅샷 스토리지 1GB를 무료로 사용할 수 있습니다. 단 가입 후 1년동안이라는 점.



스냅샷의 용도 (아주 중요한 부분입니다.)

- 스냅샷으로 EBS 볼륨 생성(다른 가용 역역에 생성 가능)

- 스냅샷으로 AMI(Amazon Machine Image) 생성

- 스냅샷을 다른 리전으로 복사


스냅샷의 요금은 S3 데이터 저장 요금에 합산됩니다.



EBS 스냅샷 생성하기

스냅샷을 만드는 방법은 두가지가 존재합니다.

1) EBS를 EC2 Dashboard의 volumes에 들어가서 목록을 보고 만드는 방법과

2) EC2 Dashboard의 Snapshots에 들어가서 만드는 방법이 있습니다.


두 가지 방식으로 만들어진 스냅샷은 완전히 똑같은 것이기 때문에 그중 하나인 volumes에 들어가서 생성하는 방법으로 만들어 보겠습니다.


Volumes에 들어가서 Create Snapshot을 눌러주시고



Name에 원하는 스냅샷 이름을 넣어주고 Create를 눌러주시면 생성이 완료됩니다.




완료된 스냅샷은 다음과 같이 생성되는 것으로 확인 가능합니다.




EBS 스냅샷으로 EBS 볼륨 생성하기

EBS 볼륨 자체는 다른 Availability Zone으로 이전이 불가능 합니다.


그래서 사용하는 것이 스냅샷을 만들어서 이전하는 방식으로 사용할 수 있고


또한 백업기능도 가지고 있기 때문에 이전에 가지고 있었던 내용으로 다시 되돌리고 싶을 때 스냅샷을 통해서 EBS를 생성하여 바꾸어 주면 됩니다.


생성하기를 원하는 EBS 스냅샷을 선택하고 마우스 오른쪽 버튼을 누릅니다. 그러면 팝업메뉴가 나오게 됩니다.

팝업 메뉴에서는 Create Volume을 눌러줍니다.



Create를 누르고 난 후 Size와 Availability Zone을 선택하고 Create를 눌러서 만들어 줍니다.



그리고 다시 Volumes 목록으로 가겨서 생성되었는지 확인하면 끝입니다.





EBS 스냅샷으로 AMI 생성하기

EBS의 스냅샷으로는 EBS 볼륨뿐만 아니라 EC2 인스턴스를 생성할 수 있는 AMI(Amazon Machine Image)를 만들 수 있습니다.


EBS 스냅샷으로 AMI를 생성할 때 주의해야할 점은 Linux의 경우 Kernel ID를 알아야 한다는 것입니다.


AMI를 만들때 이 Kernel ID를 설정하게 됩니다. 나중에 AMI로 EC2 Instance를 생성하여서 Kernel ID가 맞지 않으면 Instance가 부팅이 되질 않습니다.


이러한 현상을 커널 패닉이라고 하구요.


단, HVM(t2 유형 등)은 Kernel ID를 설정하지 않아도됩니다.


Kernel ID는 EC2 Dashboard => INSTANCES => Instances 의 목록으로 가서 해당 인스턴스를 선택하시면 하단에 Description에 나오게 됩니다.



Kernel ID를 알아야하는 이유는 해당하는 Instance의 Snapshot을 만들었다.

그리고 만든 Snapshot을 이용해서 AMI를 만들려면 Kernel ID을 이용해서 이어줘야하는데 그 이어주는 매개가 되는 것이 바로 Kernel ID이기 때문입니다.


즉, 쉽게 이야기 하면 Kernel ID를 가지고 구분된 해당 인스턴스의 백업을 한다고 생각하시면 됩니다.


이제 스냅샷으로 AMI를 만드는 과정을 설명하겠습니다.


EC2 Dashboard => Snapshots => Create Image 로 들어갑니다.


그리고 나서 원하는 AMI의 Name과 해당하는 인스턴스의 Kernel ID를 확인해서 바꾸어 준후에 Create를 통해서 AMI 생성을 합니다.


이제 생성된 EC2 Dashboard => IMAGES => AMIs를 확인해 봅니다.




EBS 스냅샷을 다른 리전으로 복사하기

EBS 볼륨 자체로는 다른 Availability Zone으로 이전이 불가능하고 마찬가지로 다른 Region으로 이전도 불가능합니다.


따라서 다른 AZ나 Region으로 이전을 하려면 EBS볼륨을 EBS 스냅샷으로 생성한 뒤에 다른 리전으로 복사해야합니다.


EC2 Dashboard => ELASTIC BLOCK STORE => Snapshots로 이동하고 해당 스냅샷을 선택하여 오른쪽 클릭을 하고 Copy를 눌러줍니다.


원하는 Region을 선택하고 Copy를 이용해서 복사하시면 됩니다.


모든 복사가 마치면 해당하는 Region으로 이동해서 Snapshot이 복사가 되었는지 확인만 하시면 됩니다.


그리고 마찬가지로 EBS volume을 만들어서 사용하시던가 AMI를 생성해서 사용하시면 됩니다.

저같은 경우에는 Region을 Tokyo로 정해서 복사했습니다.


이상입니다.



* 마지막으로 EBS를 사용하지않고 인스턴스 스토리지를 Root장치로 사용하는 EC2 인스턴스를 생성해보겠습니다.


일단 EC2 Dashboard => INSTANCES => Instances 에서 Launch Instance를 눌러서 Instance 생성 단계로 들어갑니다.


그리고 Step 1: Choose an Amazon Machine Image(AMI) 단계에서 Community AMIs => Instance store 을 선택해서 나오는 AMI를 선택합니다.


그리고 나머지 과정은 EBS를 가지고 있는 일반 Instance를 생성하는 과정과 같습니다.


단, 조금 다른 점은 Step 4: Add Storage 단계에서 스토리지가 추가된것이 없다는 것이고 Add New Volume을 통해서 추가해주면됩니다.



그리고 이 인스턴스 스토리지는 휘발성이기 Stop을 해서 해당 장치의 전력을 없애면 안되기에 Stop이 없고, Reboot와 Terminate만 있습니다.



이번 글은 이상마치겠습니다.



* Reference

1. 아마존 웹 서비스를 다루는 기술 - 이재홍 - 이분의 책은 AWS의 바이블이라고 생각됩니다. 구매해서 보시는 것 추천.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함