본문으로 바로가기
반응형

이번 글에서는 라이트세일에서 지원하는 백업인 스냅샷에 대해서 알아보겠습니다. 

백업이란 어디에서나 항상 중요한 것이겠습니다만, 가상 서버에서 직접 워드프레스 블로그를 운영하는 경우에는 특히 중요합니다. 네이버나 티스토리 등의 포털 업체의 블로그야 기본적으로 알아서 잘 백업해줄 테고, 일반 웹 호스팅 업체 역시 보통은 며칠 분의 자동 백업을 지원하니까 상대적으로 신경을 덜 써도 됩니다. 하지만 서버를 직접 운영하는 경우라면, 가상 서버가 알아서 자동으로 백업하지는 않으므로 사용자 스스로가 백업에 대해서 신경을 써주어야 합니다.

 

- 데이터베이스를 홀랑 날려먹었다던지 

- 플러그인 깔다가 워드프레스가 사망했다던지...

- FTP로 테마 설정한 폴더를 모두 덮어써버렸다던지...

 

아니면 실수로 서버 인스턴스 자체를 삭제했다던지.

 

Cause you are my girl~

 

무슨 수를 써서도 살릴 수 없다면 시간을 되돌려야 합니다. 시간을 되돌리려면 무언가 백업을 가지고 있어야겠죠?

워드프레스 블로그의 경우, 백업 플러그인 또는 FTP 또는 DB export를 통한 방식의 백업 등이 가능합니다. 해당 내용은 이미 인터넷에 많이 있으므로 여기서는 따로 다루지 않겠습니다.

 

이 글에서는 라이트세일에서 지원하는 백업에 대해서 다루어보도록 하겠습니다.

라이트세일에서 지원하는 약간은 원초적인 백업 - 일명 묻지마 백업 - 

스냅샷

 

에 대해서 알아보겠습니다.

 

 

* 이번 편에서는...

1. 수동 스냅샷 생성 및 복원.

2. 자동 스냅샷 생성하기.

3. 스냅샷에 따른 요금 분석.

 

1. 수동 스냅샷 

라이트세일의 백업은 사실, 워드프레스와는 아무 상관은 없이 인스턴스 전체에 대한 백업을 받는 것입니다. 즉, OS 영역을 포함한 모든 부분은 백업받는 형태라고 할 수 있습니다. 일단 한번 생성을 해보겠습니다.

1.1 수동 스냅샷 생성하기

백업을 하려는 인스턴스에서 스냅샷 메뉴를 선택하면 아래와 같은 화면이 나타납니다.

 

 

 

"스냅샷 생성" 버튼을 클릭하면 아래와 같이 수동 스냅샷 생성 화면이 나타납니다.

 

 

 

스냅샷 이름을 지정한 후 생성 버튼을 클릭합니다. 그러면 잠시 동안 "스냅샷을 생성 중..."이라는 문구가 표시됩니다. 약간의 시간이 지난 후에 새로운 스냅샷이 생성된 것을 확인할 수 있습니다.

 

생성 완료

 

1.2 수동 스냅샷으로부터 인스턴스 복원

라이트세일 스냅샷의 복원 방식은 다소 특이합니다. 일반적으로 생각할 때 현재 인스턴스에 백업 데이터를 복원하는 방식으로 생각하기 마련입니다만, 라이트세일에서는 스냅샷 데이터로부터 새로운 복제된 인스턴스를 생성하는 방식을 사용합니다. 기존의 인스턴스에 스냅샷 데이터를 덮어쓸 수는 없습니다.

 

다소 이상한 것 같긴 하지만, 생각해보면

 

1) 어떤 데이터인지 몰라서 불안해할 필요도 없고,

2) 인스턴스 생성/삭제도 그리 어려운 작업이 아니며,

3) 현재 상태는 일단 보존된다라는 점을 생각해볼 때

 

나름 심플하고 합리적인 방법 같습니다.

 

 

 

그러면, 스냅샷으로부터 실제로 복원을 해보겠습니다.

수동 스냅샷 항목의 콘텍스트 메뉴에서 클릭하면 "새 인스턴스 생성"을 클릭합니다.

 

 

 

클릭 후에는 "스냅샷에서 인스턴스 생성"이라는 멘트와 함께 기존의 인스턴스 생성에서 봤던 내용이 표시됩니다. 실제로 기존 인스턴스 생성과 동일한 과정을 거치게 됩니다.

 

스냅샷을 받은 인스턴스보다 사양이 낮은 인스턴스에 설치할 수 는 없습니다. 

 

 

마찬가지로 인스턴스 생성을 해주면 아래와 같이 새로운 인스턴스가 스냅샷 백업을 이용하여 생성됩니다. 

 

인스턴스가 생성되었습니다!

 

 

해당 인스턴스의 아이피로 접속해보면 백업받은 것과 동일한 화면이 보이는 것을 확인할 수 있습니다.

 

 

2. 자동 스냅샷 활성화

2019년 10월 부로 아마존 라이트세일에서는 Linux/Unix 인스턴스의 일일 스냅샷을 예약할 수 있는 기능인 자동 스냅샷을 지원하기 시작했습니다. 자동 스냅샷을 사용하면 사용자가 지정한 시간에 자동으로 일일 스냅샷을 생성할 수 있으므로 매번 번거롭게 수동으로 스냅샷을 생성하는 수고를 덜어줍니다.

스냅샷을 받는 시간을 정하는것 외에 딱히 설정할 내용은 없고, 그저 최근 스냅샷 7개(일주일 분량)를 유지합니다. 7일이 지나면 과거 스냅샷부터 덮어씁니다. 한 달, 보름 그런 것 없이 온리 7일입니다. 고민할 필요 없어서 좋네요 -.-

다만, 자동 스냅샷 중에 꼭 필요한 백업이 있다 싶으면 따로 수동 스냅샷으로 보관이 가능하므로 큰 문제는 없습니다.

 

그러면, 자동 스냅샷을 활성화해봅니다.

 

 

 

활성화에 대한 팝업에서 "예, 활성화합니다."를 선택하면 자동 스냅샷이 활성화되기 시작합니다. 왠지 백업은 새벽에 받아야 할 것 같아서 시간을 오전 5시로 변경해줍니다.

 

 

 

7일 이후...

 

 

7일분의 백업이 다 생성되면 아래 그림처럼 7개의 스냅샷이 표시됩니다. 자동 스냅샷은 7일마다 계속 덮어써지게 되는데, 꼭 필요한 백업본의 경우에는 자동 스냅샷을 복사하여 수동 스냅샷으로 전환할 수 있습니다. 자동 스냅샷을 수동 스냅샷으로 복사하려면 해당 자동 스냅샷의 컨텍스트 메뉴에서 스냅샷 유지를 선택하여 수동 스냅샷으로 복사합니다.

 

 

3. 스냅샷 요금 분석

아마존 라이트세일 스냅샷의 비용은 사용 용량 1GB당 한달 $0.05 미국 달러입니다. 

아마존 라이트세일 스냅샷 설명을 보면 

 

Lightsail 스냅샷 비용은 인스턴스 스냅샷과 디스크 스냅샷 모두 월별 GB당 0.05 USD입니다. 즉, 30GB SSD 인스턴스의 스냅샷을 생성하여 한 달간 유지하면 월말에 1.50 USD를 지불하게 됩니다.

같은 인스턴스의 스냅샷을 연속으로 여러 개 생성하면 Lightsail이 스냅샷 비용을 자동으로 최적화합니다. 즉, 새 스냅샷을 생성할 때마다 인스턴스 중 변경된 부분에 대해서만 요금이 부과됩니다. 위 예제에서 인스턴스 중 변경된 부분이 2GB뿐이라면, 두 번째 인스턴스 스냅샷 비용은 한 달에 0.10 USD에 불과합니다.

 

 

음.. 설명이 조금 애매하긴 합니다. 

 

제가 직접 모르모트가 되었습니다.

 

[현재 상태]

  • 약 3.8G 이상을 사용.
  • 워드프레스 기본 설치만 한 상태.
  • 실험 기간 동안 별다른 작업은 하지 않음.
 

 

3.1 수동 스냅샷 요금 분석

수동 스냅샷을 1회 받습니다.

 

 

👉 결과

청구서를 살펴보면 대략 일당 185MB씩 청구량이 올라갑니다. 스냅샷의 실제 크기는 185MB/일 X 30일 = 5.6GB/월 정도로 추정됩니다. 얼추 실 사용량 + α 정도인 것 같으며 SSD의 크기인 20GB는 절대로 아닌 것을 확인할 수 있습니다.

 

- 인스턴스의 총 용량(20GB)이 아닌 실제 사용량 + α 기준으로 스냅샷이 생성되고 요금이 청구된다.

 

 

수동 스냅샷을 하나 더 추가해봅니다.

 

 

👉 결과

이 경우의 요금은 일당 215MB씩 청구량이 올라갑니다. 즉 하나의 스냅샷이 추가되었음에도 불구하고 추가되는 용량은 30MB/일 정도입니다. 한달 기준으로 스냅샷의 크기는 약 6.5GB 정도입니다. 

 

 

- 연속적인 수동 스냅샷은 변경된 부분만 저장하여 용량을 절감한다.

- 단, 변경된 부분 체크를 위해서 약간의 추가 용량이 필요한 것으로 보인다.

 

 

3.2 자동 스냅샷 요금 분석

수동 스냅샷을 삭제하고 자동 스냅샷을 받기 시작합니다.

전체 7개의 스냅샷이 모두 생성될 때까지 기다립니다.

 

시간아 가라

 

스냅샷 일주일분 완성!

 

👉 결과

7개의 자동 스냅샷을 가지고 있는 상태에서의 청구서를 보면 하루마다 스냅샷 용량이 대략 348MB 씩 증가되는 것으로 표시됩니다. 따라서 전체 스냅샷 7개의 총 용량은 348MB/일 X 30일 = 약 10.4GB로 추정됩니다.

7개의 자동 스냅샷을 가지고 있음에도 불구하고 약 2개 인스턴스 분량의 스냅샷 요금만 청구되고 있음을 알 수 있습니다. 자동 스냅샷 역시 연속적인 스냅샷은 변경된 부분만 저장한다는 것을 확인할 수 있습니다. (수동 스냅샷의 결과로 유추해서 계산하면 185MB/일 + 30MB/일 X 6개 = 365MB/일 이므로 대체적으로 비슷한 것 같습니다.)

 

- 인스턴스의 실제 사용량 기준으로 자동 스냅샷 요금이 청구된다.

- 연속적인 자동 스냅샷은 변경된 부분 (+ α)만 저장한다. 

 

3.3 자동 + 수동 스냅샷

자동 스냅샷을 받는 상태에서 1개의 수동 스냅샷을 추가합니다.

총 8개의 스냅샷이 존재합니다.

 

👉 결과

자동 7개 + 수동 1개 = 총 8개의 스냅샷이 있는 상태에서 청구서를 보면 스냅샷 용량이 하루마다 약 370~380MB 씩 증가되는 것으로 표시됩니다. 자동 스냅샷 7개 대비 일 평균 20~30MB 정도 증가하는것을 알 수 있습니다. 즉, 수동 스냅샷을 추가하더라도 자동 스냅샷과의 연계가 이루어져서 변경된 부분만 저장되는 방식으로 동작한다고 추측할 수 있습니다.

 

- 수동과 자동 스냅샷 사이에도 변경된 부분 (+ α)만 저장하는 방식이 적용된다.

 

 

 

맺음말 

이번 글에서는 라이트세일의 백업인 스냅샷에 대해서 알아보고, 요금에 대해서 분석해봤습니다. 스냅샷에 따른 비용 분석 결과를 볼 때, 백업에 신경쓰기 다 귀찮다면 자동 스냅샷을 켜 놓아도 크게 부담될 수준의 비용은 아닐 것으로 생각됩니다. 만약, 자동 백업을 하지는 않더라도 가끔 중요한 내용의 변화가 있을 때마다 수동으로 스냅샷을 받아주면 최소한의 안전판은 마련되지 않을까요? ^^ 

 

반응형

댓글을 달아 주세요

  1. 푸른밤 2021.01.02 18:59

    안녕하세요 올려주신 글 모두 잘 보았습니다. 상세한 설명 대단히 감사드립니다.
    그런데 올려주신 ssl 적용 글 보고 에러가 떠서 스냅샷 복원으로 인스턴스 다시 생성했더니
    Not Found
    The requested URL was not found on this server.
    Apache/2.4.18 (Ubuntu) Server at 3.36.29.204 Port 80
    라고 뜨는데 혹시 이럴때 어떻게 하는지 아실까요... 구글링해도 쉽지 않네요ㅠㅠ

    • It's showtime ♪ 2021.01.02 23:32 신고

      혹시 뭔가 변경되었을까 해서 인스턴스 생성부터 SSL까지 다시 진행해 봤는데 별다른 문제 없이 잘 설치되었습니다. SSL에서 왜 error가 날까요;;;

      아무튼 SSL 적용 전으로 스냅샷을 복원하신거죠?
      --> 스냅샷 복원으로 인스턴스를 생성한 후에 고정 IP를 새로운 인스턴스로 다시 연결 해주셨나요?

      혹시 문제가 계속 발생한다면 알려주세요~

  2. 푸른밤 2021.01.03 19:04

    빠른 답변 대단히 감사합니다ㅠㅠ
    네 적용 전 스냅샷으로 복원했는데 잘 안되더라구요..ㅠㅠ
    우선 duplicator 플러그인으로 백업해놓은 것으로 재설치하였습니다.
    새해 복 많이 받으세요~!!^^*

  3. ? 2021.03.09 16:59

    1기가에 미치지 않으면 비용은 어떻게 되나요? 비용 청구가, 1기가, 2기가, 3기가 될 때마다 비용이 올라가는 것인가요? 아니면 일차함수로, 쓴만큼 청구가 되나요? 이를테면 0.5기가 쓰면 0.025달러인가요?

    • It's showtime ♪ 2021.03.09 18:35 신고

      비용이 계단식으로 발생하는 건 아니고 일차함수로 쓴만큼 청구됩니다.

      예전 기록을 보니 월 4.701GB인 적이 있었는데 청구금액은
      4.701 X 0.05$ = $0.24 청구해갔네요. (0.01아래는 반올림...?)

      1G이하인 적이 없어서 정확하지는 않지만 아마도 0.5G라고 하면 $0.025가 청구될 것으로 예상됩니다.