Sikkerhetskopier Google Cloud VM: Manuelt & automatisk!

Dersom du benytter delt hosting for ditt nettsted, trenger du som regel ikke å bekymre deg for sikkerhetskopiering. De fleste leverandører av delt hosting tar nemlig ansvaret for dette.

Men når du flytter hosting til skybaserte løsninger som Google Cloud eller AWS, er det visse ting du selv må sørge for.

Sikkerhetskopiering er en av disse tingene!

I det siste har jeg migrert tipsbilk.net til Google Cloud Platform. Jeg lette etter en enkel løsning for sikkerhetskopiering med bare ett klikk, men dessverre finnes ikke det.

Etter litt undersøkelser fant jeg ut at prosedyren for sikkerhetskopiering er litt annerledes, og det likte jeg faktisk. Det fine er at du har full kontroll over sikkerhetskopiene.

Sikkerhetskopiering kan gjøres på flere nivåer (applikasjon, konfigurasjon, logger osv.). I det følgende vil jeg fokusere på hvordan man tar fullstendige VM-sikkerhetskopier, både manuelt og automatisk.

I Google Cloud kalles det å ta en sikkerhetskopi for å lage et «snapshot».

Her er noen av fordelene med et snapshot:

  • Du kan ta et snapshot mens en disk er tilkoblet instansen – ingen nedetid under sikkerhetskopiering.
  • Snapshots er differensielle i stedet for å lage en full sikkerhetskopi av disken hver gang. Dette reduserer kostnader og gir raskere drift.

Manuell bruk av Google Cloud Console

Google Cloud Console tilbyr en enkel måte å ta snapshots av disker.

  • Logg inn på Google Cloud og gå til Disker under Compute Engine.
  • Klikk på navnet til disken som er knyttet til din instans, den du ønsker å ta et snapshot av.
  • Klikk på «OPPRETT SNAPSHOT».

Gi snapshottet et navn og klikk på Opprett.

  • Det vil ta litt tid (avhengig av diskstørrelsen), og når det er ferdig, vil du finne dem i øyeblikksbilder-delen.

Dette viser at sikkerhetskopiering av VM-disken er gjennomført. Når det er nødvendig, kan du bruke dette snapshottet til å gjenopprette eller opprette en ny VM med samme tilstand som da sikkerhetskopien ble tatt.

Automatisk bruk av skript

Hvis applikasjonen din endres ofte og du ønsker å automatisere snapshots jevnlig, vil følgende informasjon hjelpe deg.

Jeg fant denne løsningen fra https://github.com/jacksegal/google-compute-snapshot

  • Logg inn på instansen du vil ta automatiske sikkerhetskopier av.
  • Opprett en mappe der du vil lagre skriptfilen.
  • Last ned skriptfilen.
wget https://github.com/jacksegal/google-compute-snapshot/blob/master/gcloud-snapshot.sh
  • Endre filtillatelsen slik at den blir kjørbar.
chmod 755 gcloud-snapshot.sh
  • Test skriptet for å sjekke at det fungerer ved å kjøre det manuelt.
./gcloud-snapshot.sh

Når du har bekreftet at det fungerer manuelt, kan du konfigurere crontab for å kjøre skriptet med jevne mellomrom.

  • Følgende eksempel viser hvordan du kjører det daglig kl. 05:00.
0 5 * * * /opt/google-compute-snapshot/gcloud-snapshot.sh >> /var/log/cron/snapshot.log 2>&1

Dette skriptet vil som standard beholde snapshots for de siste syv dagene. Hvis du ønsker å endre dette, kan du redigere skriptfilen og endre verdien til OLDER_THAN=7.

Automatisk bruk av Google Cloud Console

Google har nylig introdusert en ny funksjonalitet som jeg synes er flott. GCP lar deg nå planlegge snapshots av disker direkte fra konsollen.

  • Gå til Compute Engine >> Snapshots.
  • Klikk på fanen Snapshot-planer. Da vises et popup-vindu. Klikk på Opprett tidsplaner for snapshots.

  • Fyll inn nødvendig informasjon og klikk på Opprett.

La oss se på noen av de tilgjengelige valgene:

  • Region – Velg hvor du vil lagre VM-snapshottet (sikkerhetskopien).
  • Planlegg frekvens – Velg hvor ofte du vil ta sikkerhetskopi (daglig, ukentlig, hver time).
  • Starttidspunkt – Når skal sikkerhetskopieringen utføres? Velg tidspunkter med lav aktivitet.
  • Slett snapshots automatisk etter – Hvor mange av de siste snapshots ønsker du å beholde til enhver tid?
  • Sletteregel – Hva skal skje hvis du sletter kildedisken (VM)?

Når planen er opprettet, skal du se den i listen.

Dette indikerer at snapshot-planen er klar til å knyttes til disken.

  • Gå til Compute Engine >> Disker.
  • Velg disken du vil aktivere snapshottet for.
  • Klikk på Rediger og velg den nyopprettede tidsplanen som vist nedenfor.

Det var alt!

Google Cloud vil nå ta snapshots basert på den angitte planen.

Som du ser, kan det være en livredder å bruke noen få minutter på å sette opp en sikkerhetskopi. I tillegg til snapshots bør du også vurdere å aktivere skjermbilde, som kan hjelpe deg å overvåke VM-tilstanden.

Hvis du er interessert i å lære mer, kan du sjekke ut dette GCP-sertifiseringskurset.

Likte du denne artikkelen? Hva med å dele den med andre?