본문으로 바로가기

같은 환경을 가진 EC2를 여러개 생성하기 위해 스냅샷을 이용하기로 했다.

매번 EC2를 생성할 때마다 업데이트하고, 노드 깔고, 몽고DB깔고, nginx 깔고... 이런 일을 막기 위해서다.

물론 Docker를 이용하는 방법도 있겠다.

 

스냅샷을 생성해서 다른 리전에 동일한 내용을 옮길 수도 있고 스냅샷이 생성된 시점으로 복원을 할 수도 있다.

문제는 굳이 스냅샷을 만들 필요 없이 EC2에서 곧장 AMI를 생성하고 해당 AMI를 다른 리전으로 이동하는 것이 더 편하다는 것입니다. 

 

두 가지 방법 다 알아보겠습니다.

 

스냅샷 만들기, EBS 생성

 

우선, EC2를 생성할 때 root 스토리지로 지정한 EBS에 해당 EC2에 세팅한 환경이 담겨 있을 것이므로 스냅샷을 생성하고자 하는 EC2가 사용하고 있는 EBS에 대한 스냅샷을 생성합시다. 

 

 

생성된 내역은 EBS 메뉴의 서브 메뉴에서 확인하실 수 있습니다.

 

 

여기에 정의된 snapshot을 이용해 똑같은 내용의 EBS를 생성해보겠습니다.

뭔가 오징어 말렸다가 다시 물에 불리는 것 같은 내용입니다.

 

 

 

그런데 생각해봅시다. 이는 동일한 환경을 세팅하는 시간을 줄여주는 좋은 방법이긴 합니다.

 

 

스냅샷 기반 AMI 만들기

 

이 EBS 스냅샷을 이용해 AMI로 만들어서 EC2를 생성할 때 선택할 수 있게 만드는 것이 더 간편해보입니다.

 

* 주의

복사하고자 하는 EC2의 AMI ID를 확인해보면 인스턴스를 만드는데 사용된 이미지가 hvm인 것을 확인할 수 있습니다. 이 의미는 커널 ID를 설정하지 않아도 된다는 의미입니다. 곧바로 이 EC2에서 사용한 스냅샷을 이용해서 AMI를 만들 수 있습니다. 이런 경우에는 아예 인스턴스 세부 내역에 커널 ID가 뜨지 않으므로 쉽게 캐치할 수 있습니다.

 

 

스냅샷으로 돌아가서, 이미지 생성을 눌러줍시다.

생성이 완료되면 해당 AMI를 이용해 EC2를 생성할 수 있게 됩니다.

 

 

이제 EC2를 생성할 때 자신이 만든 AMI를 이용할 수 있게 되었습니다!

 

 

+ 번외

 

그런데 AMI를 생성할 때는 굳이 EBS 스냅샷을 만들고 이를 AMI로 만드는 것보다

그냥 EC2에서 곧장 이미지를 만드는 게 더 빠르고 편합니다.

  

 

 

스냅샷을 이용해 EC2를 다른 리젼으로 이동

 

만약 한국에서 서비스를 하다가 주요 고객이 해외임을 통계로 알아냈을 때 EC2 리전을 옮기는 것을 고려해보아야 합니다. 그런데 EC2를 곧장 옮기는 것은 불가능하고 EC2를 우선 스냅샷으로 만든 후에 그 스냅샷을 기반으로 다른 리전에 새로운 EC2를 생성해야 합니다.

 

스냅샷을 복사하고 복사를 해주면 됩니다. 이 스냅샷을 기반으로 EC2를 생성하면 되겠죠?

 

 

+ 번외

 

이 역시도 EBS 스냅샷이 아니라 곧장 EC2에서 AMI를 생성하고 이 AMI를 복사해서 다른 리전으로 옮기는 방법이 편합니다.

 

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체