Aws ebs 스냅샷 - aws ebs seunaebsyas

번데기 개발자의 메모장

AWS에서 EC2 인스턴스를 백업하는 방법에 대해 조사해보았습니다.

EC2 인스턴스를 실무에서는 따로 백업할 일은 지금까지는 없었지만 혹시 나중을 위해서 알아놓는 것이 좋을 것 같다고 생각이 들어서 한번 알아보겠습니다.

AWS EC2의 백업

EC2의 인스턴스는 사용하지 않더라고 계속 켜놓으면 요금이 발생합니다.

따라서 이때 사용하지 않는 인스턴스는 중지하고 제거하면 되는데요, 하지만 언제 다시 사용할지 모르거나, 데이터가 많이 쌓여있는 DB인스턴스의 경우에는 백업을 해두는 것이 좋습니다. 

EC2는 대부분 root볼륨을 가지고 있고 추가로 EBS볼륨을 인스턴스에 붙이는 구조인데 create image를 통해 AMI를 생성하고 각각의 EBS볼륨에 대해서도 스냅샷을 떠야 합니다.

AMI, EBS

AMI란 Amazon Machine Image의 약자고 인스턴스를 시작할 때 필요한 정보를 포함합니다. 아래와 같은 정보들을 보통 담고 있다고 생각하시면 됩니다.

  • OS 정보
  • AMI 접근권한
  • EBS 볼륨 매핑정보.

EBS란 Elastic Block Store의 약자로 컴퓨터의 디스크, 즉 데이터를 담고 있다고 생각하시면 됩니다. 따라서 하나의 인스턴스를 정상적으로 백업 및 복원을 하기 위해서는 1개의 AMI와 그에 따른 n개의 EBS볼륨이 필요합니다.

EBS 스냅샷 만들어보기

EC2 console창에서 스냅샷을 뜨고싶은 인스턴스를 우클릭하여 Image=> 'Create Image'를 통해 EBS와 EC2를 한번에 스냅샷을 떠서 저장을 할 수 있습니다.

스냅샷의 종류에는 2가지가 있습니다. 하나는 EC2 자체에 대한 스냅샷이고, 두 번째는 EBS 볼륨에 대한 스냅샷입니다.

Aws ebs 스냅샷 - aws ebs seunaebsyas
Volumn에 대한 스냅샷 생성
Aws ebs 스냅샷 - aws ebs seunaebsyas
EC2 인스턴스에 연결된 EBS 볼륨에 대한 스냅샷 생성

위와 같이 EBS스냅샷을 만들어주면 데이터에 대해서 백업을 진행할수 있습니다.

AMI 스냅샷 만들어보기

AMI를 이용하여 스냅샷을 만들 수도 있습니다. 

먼저 알아두셔야 할 점은 Snapshot 이 각각의 EBS Volume을 백업하는 개념이라면 AMI 를 생성한다는 것은 Root Volume 을 포함하여 EC2에 연결된 모든 EBS Volume 정보를 한 번에 백업하는 개념입니다.

먼저 EC2 인스턴스에서 이미지 생성을 누릅니다.

Aws ebs 스냅샷 - aws ebs seunaebsyas
AMI 생성 1

이후 해당 AMI이미지와 볼륨에 대한 스냅샷을 생성합니다. 

Aws ebs 스냅샷 - aws ebs seunaebsyas
AMI 생성 2

이후 AMI와 해당 AMI에 대한 EBS 볼륨에 대한 스냅샷이 생성된 것을 확인할 수 있습니다.

Aws ebs 스냅샷 - aws ebs seunaebsyas
AMI 생성 4
Aws ebs 스냅샷 - aws ebs seunaebsyas
AMI 생성 5

추후 해당 AMI로 EC2를 생성하면 자동으로 스토리지에 해당 EBS 스냅샷으로 연결되어 보이는 것을 확인할 수 있습니다.

Aws ebs 스냅샷 - aws ebs seunaebsyas
AMI 생성 6

이상으로 스냅샷을 통한 EC2 백업 방법에 대해 알아보았습니다.

아래 링크를 보시면 좀 더 자세한 내용이 블로그 되어있으니 참고 부탁드립니다.

참고) 

AWS EC2 backup

http://huzz.tistory.com/18

EBS snapshot 활용

https://interconnection.tistory.com/42

EC2 AMI와 Snapshot의 차이점

https://eunsu-shin.medium.com/ec2-ami-%EC%99%80-snapshot-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90-db8dc5682eac

EBS 볼륨은 다른 가용 영역이나 리전으로 불가능하다.그래서 EBS 볼륨의 스냅샷을 생성하고 다른 리전으로 복사해야 한다. (스냅샷이란 특정 시점을 기준으로 파일로 저장한 형태이다.)

스냅샷 생성하는 과정부터 활용하는 방법까지 알아보도록 하자


1. 스냅샷을 생성할 볼륨을 마우스 오른쪽 클릭한 뒤, 'Create Snapshot' 을 눌러서 스냅샷을 생성해주자.

Aws ebs 스냅샷 - aws ebs seunaebsyas
볼륨 스냅샷 생성

2. 스냅샷 세부 설정 과정이다. Description은 굳이 적어주지 않아도 된다.

Create Snapshot 눌러서 스냅샷을 생성해주자.

Aws ebs 스냅샷 - aws ebs seunaebsyas
스냅샷 세부 설정

3. EBS의 Snapshots 항목으로 들어가면 생성된 스냅샷을 확인할 수 있다.

Aws ebs 스냅샷 - aws ebs seunaebsyas
스냅샷 생성

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

EBS 볼륨을 다른 리전으로 옮기는 것은 불가능 하므로 생성한 스냅샷을 통해서 EBS 볼륨을 만들어 다른 가용영역에서 사용할 수 있도록 해주자.

1. 볼륨을 생성할 스냅샷을 마우스 오른쪽으로 클릭후 'Create Volume' 을 눌러서 볼륨을 생성해주자.

Aws ebs 스냅샷 - aws ebs seunaebsyas
Create Volume

2. 볼륨 생성해주는 과정은 이전과 동일하다. 다만 기존에 생성했던 가용영역과는 다른 영역을 정해주도록 하자.

Aws ebs 스냅샷 - aws ebs seunaebsyas
볼륨 세부 설정

3. 스냅샷으로 볼륨 생성을 완료하였다. Availability Zone 부분을 보면 가용 영역이 서로 다른것을 확인할 수 있다.

Aws ebs 스냅샷 - aws ebs seunaebsyas
볼륨 생성 완료

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

마찬가지로 EBS 볼륨만으로는 다른 리전으로 사용이 불가능하기 때문에, 스냅샷을 통해 다른 지역으로 복사해 주도록 하자.

1. 복사할 스냅샷을 마우스 오른쪽 클릭한 뒤, Copy 눌러서 복사를 해주자.

Aws ebs 스냅샷 - aws ebs seunaebsyas
EBS 스냅샷 복사

2. 기존의 Seoul 리전에서 Tokyo 리전으로 복사를 해준다.

Aws ebs 스냅샷 - aws ebs seunaebsyas
EBS 스냅샷 복사

3. 오른쪽 상단을 보면 Tokyo 리전으로 스냅샷이 복사된 것을 확인할 수 있다. 완전히 복사되기까지 시간이 좀 걸리니 기다려주도록 하자..

Aws ebs 스냅샷 - aws ebs seunaebsyas
EBS 스냅샷 복사

EBS 볼륨 스냅샷을 생성하고, 스냅샷을 통해서 다른 가용영역이나 다른 리전으로 옮기는 방법에 대해서 알아보았다.