Opsætning af automatiserede Firestore sikkerhedskopier i 5 nemme trin
Den realtidsskemafri database Firestore fra Firebase leveres ikke med indbyggede automatiserede sikkerhedskopier. I dette blogindlæg guider vi dig gennem opsætning af automatiserede Firestore sikkerhedskopier inspireret af, hvordan vi gør det hos Kvalifik.
☝️ Vi antager, at du er ejer af Firebase-projektet, og at du har aktiveret fakturering. Læs mere her.
Firestore-sikkerhedskopierne initieres af en skyfunktion og gemmes i en dedikeret lagerspand på Google Cloud Platform.
1) Anvend passende servicekontorolle
Åbn Google Cloud-platformen og vælg det Google Cloud-projekt, der er knyttet til dit Firebase-projekt.
Gå til IAM & Admin → IAM.
Rediger medlemmet „[project-id] [@appspot .gserviceaccount.com]“.
Tilføj en anden rolle: „Cloud Datastore Import Export Admin“.
Klik på Gem.
2) Opret lagerspand til Firestore sikkerhedskopier
Gå til afsnittet Opbevaring i Google Cloud Platform.
Opret spand:
- Navngiv din spand, eks:
- Navn: [projekt-id] -backup
- Vælg, hvor du vil gemme dine data, vi foreslår:
- Placeringstype: Multi-region
- Beliggenhed: eu (flere regioner i Den Europæiske Union)
- Vælg en standardlagringsklasse for dine data, vi foreslår:
- Standard lagerklasse: Nearline
- Vælg, hvordan du styrer adgangen til objekter, vi foreslår:
- Adgangskontrol: Uniform
- Avancerede indstillinger, vi foreslår:
- Opbevaringspolitik: Opbevar objekter i 7 dage
✅ Dette sikrer, at sikkerhedskopier fra de sidste syv dage ikke ved et uheld kan slettes.
Klik på Opret.
3) Konfigurer indstillinger for skovllivscyklus
Du er velkommen til at justere disse livscyklusindstillinger, så de passer til dine behov.
Gå til Livscyklusindstillinger, og tilføj følgende regler:
- Vælg en handling: Angiv lagringsklasse til Coldline
- Vælg objektforhold: Alder: 7 dage
- Vælg en handling: Angiv lagringsklasse til Arkiv
- Vælg objektforhold: Alder: 30 dage
- Vælg en handling: Slet objekt
- Vælg objektforhold: Alder: 365 dage
4) Opsæt cloud-funktion til at starte sikkerhedskopier
Vi anbefaler at bruge miljøvariabler for at kunne dele den samme skyfunktion på tværs af flere Firebase-projekter. For at gøre dette skal du køre følgende kommando på din lokale computer (med Firebase CLI installeret):
⚠️ Hvis du har flere miljøer, skal du sørge for at skifte til det rigtige projekt ved hjælp af kommandoen „firebase use [miljønavn]“.
Tilføj følgende Typescript cloud-funktion FirestoreBackupDaily. Bemærk, at denne skyfunktion er tilpasset fra den fundne Javascript-version her.
Til sidst skal du implementere din cloud-funktion ved hjælp af følgende kommando:
5) Test din skyfunktion
Gå til Cloud Scheduler side og klik på „Kør nu“ i rækken svarende til din nyoprettede skyfunktion. Kort efter skulle du se en Firestore-sikkerhedskopi i mappen „firestore“ i den lagerspand, der blev oprettet tidligere.
Næste trin
For at afslutte denne opsætning anbefaler vi, at du opretter overvågning og en plan for gendannelse efter nedbrud. Bemærk desuden, at løsningen præsenteret her kun udfører sikkerhedskopier af Firestore. Du kan også være interesseret i at sikkerhedskopiere Firebase Storage og Firebase Auth. Førstnævnte kan opnås ved at konfigurere et dagligt overførselsjob på Google Cloud Platform, mens sidstnævnte er mere vanskelig (husk også at gemme en kopi af adgangskodehashparametrene!). Du kan bruge funktionen ListUsers præsenteret her i en planlagt skyfunktion svarende til den, der blev præsenteret tidligere. Vi dækker muligvis nogle af disse emner i et fremtidigt blogindlæg.