Google Cloud VM을 자동으로 백업하는 방법은 무엇입니까?

공유 호스팅 환경에서는 대부분의 호스팅 제공업체가 백업을 관리하기 때문에 사용자가 직접 백업에 대해 크게 신경 쓸 필요가 없습니다.

하지만 Google Cloud나 AWS와 같은 클라우드 환경으로 호스팅을 이전하는 경우에는 백업을 포함한 여러 작업을 직접 처리해야 합니다.

이러한 작업 중 하나가 바로 백업입니다!

최근에 koreantech.org 웹사이트를 Google Cloud Platform으로 이전하면서 원클릭 백업 옵션을 찾아봤지만, 아쉽게도 그런 기능은 제공되지 않았습니다.

조금 더 자세히 알아보니 백업 절차가 기존과는 약간 다르다는 것을 알게 되었고, 오히려 더 만족스러웠습니다. 가장 큰 장점은 사용자가 백업을 완전히 제어할 수 있다는 것입니다.

백업에는 여러 수준(애플리케이션, 구성, 로그 등)이 있지만, 여기서는 전체 가상 머신(VM) 백업을 수동 및 자동으로 수행하는 방법을 설명하겠습니다.

Google Cloud 백업에서는 ‘스냅샷’이라는 용어를 사용합니다.

스냅샷의 주요 장점은 다음과 같습니다.

  • 디스크가 VM 인스턴스에 연결된 상태에서도 스냅샷을 생성할 수 있습니다. 즉, 백업 중에 다운타임이 발생하지 않습니다.
  • 매번 전체 디스크를 백업하는 대신 변경된 부분만 저장하는 차등 백업 방식을 사용하여 백업 스토리지 비용을 절감하고 작업 속도를 향상시킬 수 있습니다.

Google Cloud 콘솔을 이용한 수동 백업

Google Cloud 콘솔에서는 디스크 스냅샷을 생성하는 기능을 제공하며, 사용법도 매우 간단합니다.

  • Google Cloud에 로그인한 후, Compute Engine의 디스크 페이지로 이동합니다.
  • 백업하려는 인스턴스에 연결된 디스크 이름을 클릭합니다.
  • “스냅샷 만들기” 버튼을 클릭합니다.

스냅샷 이름을 지정한 후, “만들기” 버튼을 클릭합니다.

  • 디스크 크기에 따라 스냅샷 생성에 약간의 시간이 걸릴 수 있으며, 완료되면 스냅샷 섹션에서 확인할 수 있습니다.

이제 VM 디스크 백업이 완료되었습니다. 필요할 때마다 이 스냅샷을 사용하여 VM을 백업 시점의 상태로 복원하거나 새로운 VM을 생성할 수 있습니다.

스크립트를 이용한 자동 백업

애플리케이션에 변경 사항이 자주 발생하거나 정기적인 스냅샷 생성을 자동화하고 싶을 때, 다음 방법이 도움이 될 것입니다.

다음 링크에서 관련 솔루션을 찾을 수 있습니다: https://github.com/jacksegal/google-compute-snapshot

  • 자동 백업을 실행할 VM 인스턴스에 로그인합니다.
  • 스크립트 파일을 저장할 폴더를 생성합니다.
  • 스크립트 파일을 다운로드합니다.
wget https://github.com/jacksegal/google-compute-snapshot/blob/master/gcloud-snapshot.sh
  • 스크립트 파일에 실행 권한을 부여합니다.
chmod 755 gcloud-snapshot.sh
  • 스크립트가 제대로 작동하는지 확인하기 위해 수동으로 실행해봅니다.
./gcloud-snapshot.sh

스크립트가 수동으로 정상 작동하는 것을 확인한 후에는 주기적으로 실행되도록 crontab을 설정합니다.

  • 다음은 매일 05:00에 스크립트를 실행하는 예시입니다.
0 5 * * * /opt/google-compute-snapshot/gcloud-snapshot.sh >> /var/log/cron/snapshot.log 2>&1

기본적으로 스크립트는 최근 7일 동안의 스냅샷을 보관합니다. 이 설정을 변경하려면 스크립트 파일에서 `OLDER_THAN=7` 값을 수정해야 합니다.

Google Cloud 콘솔을 이용한 자동 백업

최근 Google은 VM 스냅샷을 예약할 수 있는 기능을 콘솔에 추가했으며, 매우 유용합니다. 이제 GCP 콘솔에서 직접 디스크 스냅샷을 예약할 수 있습니다.

  • Compute Engine의 스냅샷 메뉴로 이동합니다.
  • 스냅샷 일정 탭을 클릭하면 팝업 창이 나타납니다. “스냅샷 일정 만들기”를 클릭합니다.

  • 필요한 정보를 입력하고 “만들기” 버튼을 클릭합니다.

이제 설정 가능한 몇 가지 옵션을 살펴보겠습니다.

  • 지역: VM 스냅샷(백업)을 저장할 위치를 선택합니다.
  • 예약 빈도: 매일, 매주 또는 매시간 백업을 수행할 빈도를 선택합니다.
  • 시작 시간: 백업을 시작할 시간을 선택합니다. 트래픽이 적은 시간대를 선택하는 것이 좋습니다.
  • 다음 이후 스냅샷 자동 삭제: 한 번에 보관할 최신 스냅샷의 개수를 설정합니다.
  • 삭제 규칙: 소스 디스크(VM)가 삭제될 경우 어떻게 처리할지 설정합니다.

생성된 스냅샷 일정은 목록에 표시되어야 합니다.

이는 스냅샷 일정이 디스크에 연결할 준비가 되었음을 의미합니다.

  • Compute Engine의 디스크 메뉴로 이동합니다.
  • 스냅샷을 활성화할 디스크를 선택합니다.
  • “편집”을 클릭하고 아래와 같이 생성된 스냅샷 일정을 선택합니다.

이것으로 설정이 완료되었습니다!

이제 GCP는 설정된 일정에 따라 스냅샷을 자동으로 생성합니다.

백업 설정에 몇 분만 투자하면 중요한 데이터를 보호할 수 있습니다. 스냅샷 외에도 VM 상태를 파악하는 데 도움이 되는 스크린샷 활성화도 고려해볼 수 있습니다.

더 자세한 내용을 배우고 싶다면 다음 GCP 자격증 과정을 확인해보세요: GCP 자격증 과정.

이 기사가 흥미로우셨나요? 그렇다면 다른 사람들과 공유해보는 것은 어떨까요?