Jak automaticky zálohovat Google Cloud VM?

Pokud hostujete svůj web na sdíleném hostingu, nemusíte se o zálohování starat, protože o zálohování se stará většina poskytovatelů hostingu.

Když však migrujete hosting na cloud podobný Google Cloud nebo AWS, musíte se o několik věcí postarat sami.

Zálohování je jedním z nich!

V poslední době jsem přesunul etechblog.cz na Google Cloud Platform a hledal jsem možnost zálohování jedním kliknutím, ale bohužel neexistuje.

Po nějakém výzkumu jsem se dozvěděl, že postup zálohování je mírně odlišný a líbilo se mi to. Dobrá věc je, že máte plnou kontrolu nad zálohováním.

Existuje několik úrovní (aplikace, konfigurace, protokoly atd.) zálohování a v následujícím budu hovořit o ručním a automatickém provádění kompletní zálohy VM.

Termín používaný k vytvoření zálohy Google Cloud se nazývá „snímek“.

Některé z výhod snímku.

  • Můžete pořídit snímek, když je disk připojen k instanci – žádné prostoje během zálohování
  • Je to rozdíl namísto vytváření zálohy celého disku pokaždé – snižuje náklady na úložiště záloh a rychlý provoz

Ručně pomocí Google Cloud Console

Cloudová konzole Google má možnost pořídit snímek disku a je to snadné.

  • Přihlaste se do Google Cloud a přejděte na Disky pod Compute Engine
  • Klikněte na název disku, který je připojen k instanci, a chcete pořídit snímek
  • Klikněte na „VYTVOŘIT SNÍMEK“.

Zadejte název snímku a klikněte na Vytvořit

  • Bude to nějakou dobu trvat (v závislosti na velikosti disku) a jakmile je hotovo, uvidíte je v sekce snímků.

To znamená, že záloha disku VM je dokončena. Kdykoli to bude potřeba, můžete tento snímek použít k obnovení/vytvoření nového virtuálního počítače se stejným stavem v době zálohování virtuálního počítače.

Automaticky pomocí skriptů

Pokud má vaše aplikace časté změny a chtěli byste zautomatizovat pravidelné pořizování snímků, pomůže vám následující.

Toto řešení jsem našel z https://github.com/jacksegal/google-compute-snapshot

  • Přihlaste se k instanci, u které chcete provést automatické zálohování
  • Vytvořte složku, do které chcete uložit soubor skriptu
  • Stáhněte si soubor skriptu
wget https://github.com/jacksegal/google-compute-snapshot/blob/master/gcloud-snapshot.sh
  • Změňte oprávnění k souboru tak, aby byl spustitelný
chmod 755 gcloud-snapshot.sh
  • Otestujte skript, abyste se ujistili, že funguje ručním spuštěním skriptu
./gcloud-snapshot.sh

Po potvrzení to funguje ručně a poté nakonfigurujte crontab tak, aby se spouštěl pravidelně

  • Následující příklad běží denně v 05:00
0 5 * * * /opt/google-compute-snapshot/gcloud-snapshot.sh >> /var/log/cron/snapshot.log 2>&1

Skript se nastaví jako výchozí a uchová snímek posledních sedm dní. Pokud potřebujete změnit tento plán, upravte soubor skriptu a změňte hodnotu OLDER_THAN=7

Automaticky pomocí Google Cloud Console

Google tyto funkce nedávno představil a líbí se mi to. Nyní má GCP možnost naplánovat snímek disku ze samotné konzoly.

  • Přejděte na Compute Engine >> Snapshots
  • Klikněte na kartu Plány snímků a zobrazí se následující vyskakovací okno. Klikněte na Vytvořit plány snímků

  • Zadejte potřebné informace a klikněte na Vytvořit

Pojďme prozkoumat některé z dostupných možností.

  • Oblast – vyberte, kam chcete uložit snímek virtuálního počítače (záloha)
  • Frekvence plánu – vyberte, jak často chcete zálohovat z denní, týdenní, hodinové
  • Čas zahájení – kdy by měla být provedena záloha? Vyberte hodiny s nízkou špičkou.
  • Automatické odstranění snímků po – kolik posledních snímků si chcete kdykoli ponechat?
  • Pravidlo mazání – co by se mělo stát, když smažete zdrojový disk (VM)

Po vytvoření byste je měli vidět v seznamu.

To znamená, že plán snímku je připraven k připojení k disku.

  • Přejděte na Compute Engine >> Disky
  • Vyberte disk, na kterém chcete povolit snímek
  • Klikněte na Upravit a vyberte nově vytvořený rozvrh, jak je znázorněno níže.

To je vše!

Google Cloud pořídí snímek na základě plánu.

Vidíte, jen pár minut strávených nastavením zálohy může být záchranou. Kromě snímku byste také měli zvážit povolení snímku obrazovky, který může pomoci zjistit stav virtuálního počítače.

Pokud máte zájem dozvědět se více, podívejte se na toto Certifikační kurz GCP.

Užili jste si čtení článku? Co takhle sdílet se světem?