| רלוונטי למהדורות Firestore Standard ו-Firestore Enterprise. |
בדף הזה מוסבר איך משתמשים בתכונה "גיבויים מתוזמנים" ב-Cloud Firestore. אתם יכולים להשתמש בגיבויים כדי להגן על הנתונים מפני פגיעה בנתונים ברמת האפליקציה או מפני מחיקה מקרית של נתונים.
אפשר להגדיר לוחות זמנים לגיבויים יומיים או שבועיים של מסד הנתונים שצוין. אחר כך תוכלו להשתמש בגיבויים האלה כדי לשחזר נתונים במסד נתונים חדש.
מידע על גיבויים
גיבוי הוא עותק עקבי של מסד הנתונים בנקודת זמן מסוימת. הגיבוי מכיל את כל הנתונים והגדרות האינדקס באותה נקודת זמן.
גיבוי לא מכיל כללי מדיניות של זמן חיים של מסד נתונים. הגיבוי נמצא באותו מיקום כמו מסד הנתונים של המקור.לגיבויים יש תקופת שמירה שאפשר להגדיר, והם נשמרים עד שתקופת השמירה מסתיימת או עד שמוחקים את הגיבוי. מחיקת מסד הנתונים של המקור לא מוחקת באופן אוטומטי את הגיבויים הקשורים.
ב-Cloud Firestore מאוחסנים מטא-נתונים שקשורים לגיבויים ולתזמוני גיבויים שקשורים למסד נתונים. Cloud Firestore שומר את המטא-נתונים האלה עד שכל הגיבויים של מסד הנתונים יפוגו או יימחקו.
יצירה או שמירה של גיבויים לא משפיעה על הביצועים של פעולות קריאה או כתיבה במסד הנתונים הפעיל.
עלויות
כשמשתמשים בגיבויים, מחויבים על הדברים הבאים:
- נפח האחסון שכל גיבוי תופס.
- בפעולת שחזור, החיוב מתבצע לפי גודל הגיבוי.
לפרטים נוספים ולתעריפים המדויקים, אפשר לעיין בדף תמחור.
לפני שמתחילים
כדי להשתמש בתכונה הזו, צריך מינוי Blaze בתשלום לפי שימוש.התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לניהול גיבויים ותזמוני גיבויים, צריך לבקש מהאדמין להקצות לכם אחד או יותר מהתפקידים הבאים ב-ניהול זהויות והרשאות גישה (IAM):
-
roles/datastore.owner: גישה מלאה למסד הנתונים של Cloud Firestore -
roles/datastore.backupsAdmin: גישת קריאה וכתיבה לגיבויים -
roles/datastore.backupsViewer: גישת קריאה לגיבויים -
roles/datastore.backupSchedulesAdmin: גישת קריאה וכתיבה ללוחות זמנים של גיבויים -
roles/datastore.backupSchedulesViewer: גישת קריאה ללוחות זמנים של גיבויים -
roles/datastore.restoreAdmin: הרשאות להפעלת פעולות שחזור
יצירה וניהול של לוחות זמנים לגיבויים
בדוגמאות הבאות מוסבר איך להגדיר לוח זמנים לגיבוי. לכל מסד נתונים אפשר להגדיר עד תזמון גיבוי יומי אחד ועד תזמון גיבוי שבועי אחד. אי אפשר להגדיר כמה לוחות זמנים לגיבויים שבועיים בימים שונים בשבוע.
אי אפשר להגדיר את השעה המדויקת ביום שבה יתבצע הגיבוי. הגיבויים מתבצעים בשעות שונות בכל יום. בתזמוני גיבוי שבועיים, אפשר להגדיר את היום בשבוע שבו יתבצע הגיבוי.
יצירת לוח זמנים לגיבוי
כדי ליצור לוח זמנים לגיבוי, משתמשים באחד מהכלים הבאים.
יצירת לוח זמנים לגיבוי יומי
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings, בהתאם לקיומו של לוח זמנים לגיבוי.
- כדי לערוך את ההגדרות של תוכנית ההתאוששות מאסון, לוחצים על Edit.
- מסמנים את התיבה Daily, מגדירים את תקופת השמירה ולוחצים על Save.
Firebase CLI
כדי ליצור תזמון גיבוי למסד נתונים, משתמשים בפקודהfirebase firestore:databases:backups:schedules:create.
כדי ליצור לוח זמנים לגיבוי יומי, מגדירים את הדגל --recurrence לערך DAILY:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'DAILY' \ --retention RETENTION_PERIOD
מחליפים את מה שכתוב בשדות הבאים:
- DATABASE_ID: המזהה של מסד הנתונים שרוצים לגבות. צריך להגדיר את הערך
'(default)'למסד הנתונים שמוגדר כברירת מחדל. - RETENTION_PERIOD: צריך להגדיר ערך של עד 14 שבועות (
14w).
Terraform
כדי ליצור תזמון גיבוי יומי, יוצרים משאבgoogle_firestore_backup_schedule.
resource "google_firestore_backup_schedule" "daily-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS daily_recurrence {} }
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט.
- DATABASE_ID: המזהה של מסד הנתונים שרוצים לגבות. צריך להגדיר את הערך
'(default)'למסד הנתונים שמוגדר כברירת מחדל.
אפשר גם להשתמש בהפניה למשאב של Terraform מסוג - RETENTION_PERIOD_SECONDS: צריך להגדיר ערך בשניות, ואחריו "s". הערך המקסימלי הוא
8467200s(14 שבועות).
google_firestore_database.
יצירת לוח זמנים שבועי לגיבוי
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings, בהתאם לקיומו של לוח זמנים לגיבוי.
- כדי לערוך את ההגדרות של תוכנית ההתאוששות מאסון, לוחצים על Edit.
- מסמנים את התיבה Weekly, בוחרים יום לגיבוי, מגדירים את תקופת השמירה ולוחצים על Save.
Firebase CLI
כדי ליצור לוח זמנים שבועי לגיבוי, מגדירים את הדגל--recurrence לערך WEEKLY ובוחרים את --day-of-week:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'WEEKLY' \ --retention RETENTION_PERIOD --day-of-week DAY
- DATABASE_ID: המזהה של מסד הנתונים שרוצים לגבות. צריך להגדיר את הערך
'(default)'למסד הנתונים שמוגדר כברירת מחדל. - RETENTION_PERIOD: צריך להגדיר ערך של עד 14 שבועות (
14w). - DAY: היום בשבוע שבו יתבצע הגיבוי. מגדירים אחת מהאפשרויות הבאות:
-
SUNDAYליום ראשון -
MONDAYליום שני -
TUESDAYליום שלישי -
WEDNESDAYליום רביעי -
THURSDAYליום חמישי -
FRIDAYליום שישי -
SATURDAYליום שבת
-
Terraform
כדי ליצור תזמון גיבוי שבועי, יוצרים משאבgoogle_firestore_backup_schedule.
resource "google_firestore_backup_schedule" "weekly-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS weekly_recurrence { day = DAY } }
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט.
- DATABASE_ID: המזהה של מסד הנתונים שרוצים לגבות. צריך להגדיר את הערך
'(default)'למסד הנתונים שמוגדר כברירת מחדל.
אפשר גם להשתמש בהפניה למשאב של Terraform מסוג - RETENTION_PERIOD_SECONDS: צריך להגדיר ערך בשניות, ואחריו "s". הערך המקסימלי הוא
8467200s(14 שבועות). - DAY: היום בשבוע שבו יתבצע הגיבוי. מגדירים אחת מהאפשרויות הבאות:
-
SUNDAYליום ראשון -
MONDAYליום שני -
TUESDAYליום שלישי -
WEDNESDAYליום רביעי -
THURSDAYליום חמישי -
FRIDAYליום שישי -
SATURDAYליום שבת
-
google_firestore_database.
הצגת רשימה של תזמוני גיבויים
כדי להציג את כל תזמוני הגיבוי של מסד נתונים, משתמשים באחת מהשיטות הבאות:
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings, בהתאם לקיומו של לוח זמנים לגיבוי.
- הדף תוכנית התאוששות מאסון (DR) נפתח. בדף הזה מתוארים לוחות הזמנים לגיבוי ומופיעה רשימה של הגיבויים הזמינים.
Firebase CLI
משתמשים בפקודהfirebase firestore:backups:schedules:list.
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'
'(default)'.
תיאור של לוח הזמנים לגיבוי
כדי לאחזר מידע על תזמון גיבוי, משתמשים באחת מהשיטות הבאות:
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings, בהתאם לקיומו של לוח זמנים לגיבוי.
- נפתח הדף תוכנית התאוששות מאסון (DR). בדף הזה מתוארים לוחות הזמנים לגיבוי ומופיעה רשימה של הגיבויים הזמינים.
gcloud
משתמשים בפקודהgcloud firestore backups schedules describe:
gcloud firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
- DATABASE_ID: המזהה של מסד הנתונים שרוצים לגבות. צריך להגדיר את הערך
'(default)'למסד הנתונים שמוגדר כברירת מחדל. - BACKUP_SCHEDULE_ID: המזהה של תזמון הגיבוי. אפשר לראות את המזהה של כל תזמון גיבוי כשמציגים את כל תזמוני הגיבוי.
עדכון של לוח זמנים לגיבוי
כדי לעדכן את תקופת השמירה של תזמון גיבוי, משתמשים באחת מהשיטות הבאות:
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings.
- כדי לערוך את ההגדרות של תוכנית ההתאוששות מאסון, לוחצים על Edit.
- עורכים את ההגדרות של תזמון הגיבוי ולוחצים על שמירה.
Firebase CLI
משתמשים בפקודהfirebase firestore:backups:schedules:update:
firebase firestore:backups:schedules:update \ BACKUP_SCHEDULE \ --retention RETENTION_PERIOD
- BACKUP_SCHEDULE: שם המשאב המלא של תזמון הגיבוי. אפשר לראות את השם של כל תזמון גיבוי כשמציגים את כל תזמוני הגיבוי.
- RETENTION_PERIOD: צריך להגדיר ערך של עד 14 שבועות (
14w).
אפשר לעדכן את תקופת השמירה של תזמון הגיבוי, אבל אי אפשר לעדכן את החזרה שלו. אם אתם צריכים תזמון גיבוי עם תדירות אחרת, מחקו את תזמון הגיבוי הישן אם הוא כבר לא נדרש, וצרו תזמון גיבוי חדש עם התדירות המועדפת.
מחיקת לוח זמנים לגיבוי
כדי למחוק תזמון גיבוי, משתמשים באחת מהשיטות הבאות:
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings, בהתאם לקיומו של לוח זמנים לגיבוי.
- כדי לערוך את ההגדרות של תוכנית ההתאוששות מאסון, לוחצים על Edit.
- עורכים את ההגדרות של תזמון הגיבוי ולוחצים על שמירה.
Firebase CLI
משתמשים בפקודהfirebase firestore:backups:schedules:delete:
firebase firestore:backups:schedules:delete \ BACKUP_SCHEDULE
- BACKUP_SCHEDULE: שם המשאב המלא של תזמון הגיבוי. אפשר לראות את השם של כל תזמון גיבוי כשמציגים את כל תזמוני הגיבוי.
חשוב לזכור: מחיקת תזמון גיבוי לא תמחק גיבויים שכבר נוצרו על ידי התזמון הזה. אתם יכולים לחכות שהם יפוגו אחרי תקופת השמירה, או למחוק את הגיבוי באופן ידני, כמו שמוסבר במאמר מחיקת גיבוי.
ניהול הגיבויים
הצגת רשימה של גיבויים
כדי להציג רשימה של הגיבויים הזמינים, משתמשים באחת מהשיטות הבאות:
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings, בהתאם לקיומו של לוח זמנים לגיבוי.
- כדי לערוך את ההגדרות של תוכנית ההתאוששות מאסון, לוחצים על Edit.
- עורכים את ההגדרות של תזמון הגיבוי ולוחצים על שמירה.
Firebase CLI
משתמשים בפקודהfirebase firestore:backups:list:
firebase firestore:backups:list
--location:
firebase firestore:backups:list \ --location=LOCATION
LOCATION בשם של מיקום ב-Cloud Firestore.
תיאור של גיבוי
כדי לראות פרטים על גיבוי, משתמשים באחת מהשיטות הבאות:
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings, בהתאם לקיומו של לוח זמנים לגיבוי.
- הדף תוכנית התאוששות מאסון (DR) נפתח. בדף הזה מתוארים לוחות הזמנים לגיבוי ומופיעה רשימה של הגיבויים הזמינים.
Firebase CLI
משתמשים בפקודהfirebase firestore:backups:get:
firebase firestore:backups:get BACKUP
- BACKUP: שם המשאב המלא של הגיבוי. אפשר לראות את השם של כל גיבוי כשמציגים את כל הגיבויים.
מחיקת הגיבוי
כדי למחוק גיבוי, משתמשים באחת מהשיטות הבאות.
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings, בהתאם לקיומו של לוח זמנים לגיבוי. נפתח הדף תוכנית התאוששות מאסון (DR). בדף הזה מתוארים לוחות הזמנים לגיבוי ומופיעה רשימה של הגיבויים הזמינים.
- בטבלה Backups, מוצאים את השורה של הגיבוי ובעמודה Actions לוחצים על View more() ואז על Delete.
- מאשרים את הפעולה באמצעות שדה הטקסט ולוחצים על מחיקה.
Firebase CLI
משתמשים בפקודהfirebase firestore:backups:delete:
firebase firestore:backups:delete \ BACKUP
- BACKUP: שם המשאב המלא של הגיבוי. כדי לראות את השם של כל גיבוי, אפשר להציג את כל הגיבויים.
שחזור נתונים מגיבוי של מסד נתונים
פעולת שחזור כותבת את הנתונים מגיבוי למסד נתונים חדש ב-Cloud Firestore.
כדי להתחיל פעולת שחזור, משתמשים באחת מהשיטות הבאות:
מסוף Google Cloud
נכנסים לדף Databases במסוף Google Cloud.
- ברשימת מסדי הנתונים, מוצאים את השורה של מסד הנתונים. בעמודה Scheduled backups, לוחצים על View backups או על Edit settings, בהתאם לקיומו של לוח זמנים לגיבוי. נפתח הדף תוכנית התאוששות מאסון (DR). בדף הזה מתוארים לוחות הזמנים לגיבוי ומופיעה רשימה של הגיבויים הזמינים.
- בטבלה Backups, מוצאים את השורה של הגיבוי ובעמודה Actions לוחצים על View more(). לוחצים על Restore with Cloud Shell.
-
החלונית Cloud Shell נפתחת עם פקודת gcloud CLI לשחזור מהגיבוי שנבחר. מחליפים את ID_OF_NEW_DATABASE במזהה של מסד הנתונים ומריצים את הפקודה.
הרצת הפקודה מחזירה תשובה עם מידע נוסף על הפעולה. מסד הנתונים יופיע בקרוב ברשימת מסדי הנתונים. פעולת השחזור תימשך זמן מה, וצריך להשלים אותה לפני שאפשר יהיה לגשת למסד הנתונים.
Firebase CLI
משתמשים בפקודהfirebase firestore:databases:restore:
firebase firestore:databases:restore \ --backup 'BACKUP' \ --database 'DATABASE_ID'
- BACKUP: שם המשאב המלא של הגיבוי. אפשר לראות את השם של כל גיבוי כשמציגים את כל הגיבויים.
- DATABASE_ID: מזהה מסד הנתונים החדש. אי אפשר להשתמש במזהה מסד נתונים שכבר נמצא בשימוש.
מגבלות
פעולת שחזור לא משחזרת נתוני חיפוש ב-App Engine או ישויות blob ממסד נתונים של (default). הנתונים האלה תקפים רק למסד הנתונים (default), והם לא יהיו שימושיים אם משחזרים מ-(default) למסד נתונים שלא תומך בנתונים כאלה, ולכן הם לא נכללים בגיבויים.
מה לעשות אחרי השחזור
אחרי שמסיימים את השחזור, צריך לבצע את הפעולות הבאות:
מוודאים שאמצעי הבקרה המתאימים של IAM מופעלים במסד הנתונים החדש.
אם השתמשתם בעבר בכללי מדיניות של TTL, צריך להחיל אותם מחדש על מסד הנתונים החדש. כללי מדיניות TTL לא נכללים בגיבויים ולא מוחלים באופן אוטומטי על מסדי נתונים ששוחזרו.