בדף הזה מוסבר איך לגבות מכונות של Cloud SQL בכספת גיבוי, שמאפשרת לשמור על הנתונים ללא שינוי ולאכוף את תקופת השמירה.
במסוף Google Cloud , אתם יכולים לגבות מכונות של Cloud SQL בכספת גיבוי באמצעות תוכניות גיבוי. אתם יכולים לגבות בשתי הדרכים הבאות. בשתי השיטות אפשר לאחסן את הגיבויים בצורה מאובטחת בכספת גיבוי, וכך לשחזר באופן אמין את המכונות של Cloud SQL במקרה של אובדן נתונים או אירועים בלתי צפויים אחרים.
- גיבויים מתוזמנים: גיבוי אוטומטי של מכונות Cloud SQL במרווחי זמן ספציפיים, כמו מדי יום, מדי שבוע, מדי חודש או מדי שנה.
- גיבויים על פי דרישה. אתם יכולים ליצור גיבויים לפי דרישה בכל פעם שצריך. גיבויים על פי דרישה שימושיים ליצירת גיבויים לפני ביצוע שינויים משמעותיים במסדי הנתונים, או להגנה על נתונים אד-הוק.
לפני שמתחילים
מפעילים את Backup and DR API במקום שבו נמצאים המכונות של Cloud SQL.
מגדירים את Observability Analytics בקטגוריה כדי לעקוב אחרי משימות הגיבוי של Backup and DR.
במכונות שמופעל בהן CMEK: אם מכונת המקור ב-Cloud SQL מוגנת באמצעות מפתח הצפנה בניהול הלקוח (CMEK), צריך להקצות את התפקיד
roles/cloudkms.cryptoKeyEncrypterDecrypterבניהול הזהויות והרשאות הגישה (IAM) לסוכן השירות של Backup and DR. ההרשאה הזו נדרשת במפתח של Cloud Key Management Service שמשמש את מכונת המקור ב-Cloud SQL.סוכן השירות של Backup and DR נמצא בפרויקט שבו נמצאת כספת הגיבוי. צריך להקצות את התפקיד הזה לחשבון השירות לפני שמנסים להגן על מכונות Cloud SQL שמופעל בהן CMEK.
תפקידים והרשאות של IAM למשתמש הגיבוי
כדי לקבל את ההרשאות שנדרשות להגדרת גיבויים מתוזמנים או להפעלת גיבויים על פי דרישה, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט של כספת הגיבוי:
- Backup and DR Backup User (
roles/backupdr.backupUser) - צפייה (
roles/viewer)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות כדי להגדיר גיבויים מתוזמנים או להריץ גיבויים על פי דרישה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להגדיר גיבויים מתוזמנים או להפעיל גיבויים על פי דרישה, נדרשות ההרשאות הבאות:
-
backupdr.backupPlans.list -
backupdr.backupPlanAssociations.createForCloudSqlInstance -
backupdr.backupPlanAssociations.fetchForCloudSqlInstance -
backupdr.backupPlanAssociations.updateForCloudSqlInstance -
backupdr.backupPlanAssociations.list -
backupdr.backupPlanAssociations.getForCloudSqlInstance -
backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance -
backupdr.backupPlanAssociations.deleteForCloudSqlInstance -
backupdr.backupPlans.useForCloudSqlInstance -
backupdr.locations.list -
backupdr.operations.get -
cloudasset.assets.searchAllResources
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הרשאות דינמיות שנדרשות לכל קריאה ל-API
בטבלה הבאה מפורטות ההרשאות הדינמיות שנדרשות לכל קריאה ל-API:
| משאב | הפעולה שתבוצע במשאב | ההרשאות שנדרשות לכל קריאה ל-API | הפרויקט שרוצים להקצות לו הרשאה |
|---|---|---|---|
| כספת גיבוי | יצירת כספת גיבוי | backupdr.backupVaults.create |
פרויקט ניהול |
| מחיקת כספת גיבוי | backupdr.backupVaults.delete |
פרויקט ניהול | |
| עדכון כספת הגיבוי | backupdr.backupVaults.update |
פרויקט ניהול | |
| הצגת רשימה של כספות גיבוי | backupdr.backupVaults.list |
פרויקט ניהול | |
| קבלת כספת גיבוי | backupdr.backupVaults.get |
פרויקט ניהול | |
| תוכנית גיבוי | יצירת תוכנית גיבוי | backupdr.backupPlans.create |
פרויקט ניהול |
| מחיקת תוכנית גיבוי | backupdr.backupPlans.delete |
פרויקט ניהול | |
| קבלת תוכנית גיבוי | backupdr.backupPlans.get |
פרויקט ניהול | |
| הצגת רשימה של תוכניות גיבוי | backupdr.backupPlans.list |
פרויקט ניהול | |
| עדכון תוכנית הגיבוי | backupdr.backupPlans.update |
פרויקט ניהול | |
| קבלת גרסה של תוכנית גיבוי | backupdr.backupPlanRevisions.get |
פרויקט ניהול | |
| הצגת רשימה של גרסאות של תוכנית גיבוי | backupdr.backupPlanRevisions.list |
פרויקט ניהול | |
| יצירת גרסה של תוכנית גיבוי | backupdrproducer.backupPlanRevisions.create |
פרויקט ניהול | |
| מחיקת גרסה של תוכנית גיבוי | backupdrproducer.backupPlanRevisions.delete |
פרויקט ניהול | |
| שיוכים של תוכניות גיבוי | יצירת שיוך של תוכנית גיבוי | cloudsql.instances.updateBackupDrConfigbackupdr.backupPlanAssociations.createForCloudSqlInstancebackupdr.backupPlans.useForCloudSqlInstance |
פרויקט של עומס עבודה פרויקט של עומס עבודה פרויקט ניהול |
| מחיקת השיוך של תוכנית הגיבוי | backupdr.backupPlanAssociations.deleteForCloudSqlInstancecloudsql.instances.updateBackupDrConfig |
פרויקט של עומס עבודה פרויקט של עומס עבודה |
|
| הפעלת גיבוי על פי דרישה בשיוך של תוכנית גיבוי | backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance |
פרויקט של עומס עבודה | |
| קבלת שיוך של תוכנית גיבוי | backupdr.backupPlanAssociations.getForCloudSqlInstance |
פרויקט של עומס עבודה | |
| הצגת רשימה של שיוכי תוכניות גיבוי | backupdr.backupPlanAssociations.list |
פרויקט של עומס עבודה | |
| אחזור השיוכים של תוכנית הגיבוי | backupdr.backupPlanAssociations.fetchForCloudSqlInstance |
פרויקט של עומס עבודה | |
| שינוי השיוכים של תוכנית הגיבוי | backupdr.backupPlanAssociations.updateForCloudSqlInstance |
פרויקט של עומס עבודה | |
| מקור הנתונים | קבלת מקור נתונים | backupdr.bvdataSources.get |
פרויקט ניהול |
| מקור נתונים של רשימה | backupdr.backupPlanAssociations.list |
פרויקט ניהול | |
| שחזור מערכת מנקודה מסוימת בזמן (PITR) | backupdr.bvdataSources.useReadOnlyForCloudSqlInstance |
פרויקט ניהול | |
| גיבויים | קבלת גיבוי | backupdr.bvbackups.get |
פרויקט ניהול |
| הצגת רשימה של גיבויים | backupdr.bvbackups.list |
פרויקט ניהול | |
| אחזור גיבויים | backupdr.bvbackups.fetchForCloudSqlInstance |
פרויקט ניהול | |
| מחיקת הגיבוי | backupdr.bvbackups.delete |
פרויקט ניהול | |
| שחזור הגיבוי | backupdr.bvbackups.useReadOnlyForCloudSqlInstance |
פרויקט ניהול | |
| הפניות למקורות נתונים | קבלת הפניה למקור נתונים | backupdr.dataSourceReferences.getForCloudSqlInstance |
פרויקט של עומס עבודה |
| הצגת רשימה של הפניות למקורות נתונים | backupdr.dataSourceReferences.list |
פרויקט של עומס עבודה | |
| אחזור של הפניות למקורות נתונים | backupdr.dataSourceReferences.fetchForCloudSqlInstance |
פרויקט של עומס עבודה | |
| תפעול | הצגת רשימה של פעולות | backupdr.operations.list |
הפרויקט הרלוונטי |
| קבלת פעולות | backupdr.operations.get |
הפרויקט הרלוונטי |
מתן גישה לכספת הגיבוי בפרויקט Cloud SQL
כדי לגבות מכונה של Cloud SQL בפרויקט שונה מהפרויקט שבו נוצרה כספת הגיבוי, צריך להקצות את תפקיד ה-IAM מפעיל Cloud SQL של Backup and DR (roles/backupdr.cloudSqlOperator) לסוכן השירות של כספת הגיבוי בפרויקט של Cloud SQL. אם הפרויקט של כספת הגיבוי שבו יאוחסנו הגיבויים שונה מהפרויקט של Cloud SQL, צריך להקצות את התפקיד לסוכן השירות של כספת הגיבוי בפרויקט של Cloud SQL.
כדי לגבות מכונה של Cloud SQL באותו פרויקט שבו נוצרה כספת הגיבוי, לא צריך להקצות תפקידים.
במאמר איך נותנים תפקיד לסוכן השירות מוסבר איך נותנים תפקידים לסוכן השירות של כספת הגיבוי בפרויקט שרוצים לגבות.
הגדרת גיבוי מתוזמן
כך מגדירים גיבוי מתוזמן למכונות Cloud SQL:
המסוף
נכנסים לדף Vaulted backups במסוף Google Cloud .
לוחצים על תזמון גיבוי.
ברשימה Resource Type, בוחרים באפשרות Cloud SQL.
ברשימה Project, בוחרים את הפרויקט שבו נמצא המכונה של Cloud SQL.
ברשימה Region, בוחרים את האזור שבו נמצאים המכונות.
ברשימה משאבים, לוחצים על עיון. בוחרים את המכונה של Cloud SQL שרוצים לגבות ולוחצים על Done.
לוחצים על Continue.
ברשימה Backup plan, לוחצים על Select.
בוחרים את תוכנית הגיבוי שרוצים להגן באמצעותה על המכונות של Cloud SQL.
לוחצים על סיום.
בודקים את פרטי הגיבוי ולוחצים על תזמון.
gcloud
יוצרים תוכנית גיבוי ומכונה של Cloud SQL.
מגדירים גיבוי מתוזמן באמצעות הפקודה
gcloud backup-dr backup-plan-associations create:gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \ --location=CSQL_REGION \ --project=CSQL_PROJECT_ID \ --resource=projects/CSQL_PROJECT_ID/instances/CSQL_INSTANCE_ID \ --resource-type=sqladmin.googleapis.com/Instance \ --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLANמחליפים את מה שכתוב בשדות הבאים:
BACKUP_PLAN_ASSOCIATION_NAME: השם של השיוך לתוכנית הגיבוי.
CSQL_REGION: האזור שבו נמצאים המכונות של Cloud SQL.
CSQL_PROJECT_ID: שם הפרויקט שבו נמצאים המכונות של Cloud SQL.
CSQL_INSTANCE_ID: מזהה המכונה ב-Cloud SQL.
PROJECT_ID: שם הפרויקט שבו נמצאות תוכניות הגיבוי.
LOCATION: המיקום של המכונה.
BACKUP_PLAN: השם של תוכנית הגיבוי.
Terraform
אפשר להשתמש במשאב של Terraform כדי להגדיר גיבוי מתוזמן.
שינוי תוכנית הגיבוי שמשויכת למכונה של Cloud SQL
אתם יכולים להחליף את תוכנית הגיבוי שחלה על מכונה של Cloud SQL בתוכנית גיבוי אחרת. תוכנית הגיבוי שאתם רוצים לעבור אליה צריכה לעמוד בקריטריונים הבאים:
תוכנית הגיבוי נמצאת באותה כספת גיבוי.
תוכנית הגיבוי נמצאת באותו אזור כמו המכונה של Cloud SQL.
כדי לשנות את תוכנית הגיבוי שמשויכת למכונה של Cloud SQL, פועלים לפי ההוראות הבאות.
המסוף
נכנסים לדף Vaulted backups של Backup and DR במסוף Google Cloud .
בדף Vaulted backups מופיעים רק המכונות שהוחלו עליהן תוכניות גיבוי (או שהוחלו עליהן בעבר), או שהגיבויים שלהן מאוחסנים בכספת גיבוי בפרויקט.
בוחרים את מקור הנתונים שרוצים להקצות לו תוכנית אחרת. בדף הפרטים של הגיבוי או בתפריט , לוחצים על Change backup plan. בחלון Select a backup plan מופיעות רק תוכניות הגיבוי שרלוונטיות למכונה הזו.
בוחרים תוכנית גיבוי ולוחצים על Apply.
gcloud
לשנות את תוכנית הגיבוי שהוקצתה.
gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \ --workload-project=INSTANCE_PROJECT_ID \ --location=INSTANCE_REGION \ --backup-plan=BACKUP_PLAN \ --project=SELECTED_BACKUP_PLAN_PROJECT_IDמחליפים את מה שכתוב בשדות הבאים:
BACKUP_PLAN_ASSOCIATION_NAME: השם של משאב השיוך של תוכנית הגיבוי.
INSTANCE_PROJECT_ID: מזהה הפרויקט של המכונה ב-Cloud SQL.INSTANCE_REGION: המיקום של מכונת Cloud SQL.
BACKUP_PLAN: השם של תוכנית הגיבוי שאליה עוברים.
SELECTED_BACKUP_PLAN_PROJECT_ID: מזהה הפרויקט של תוכנית הגיבוי שנבחרה.
הצגת רשימה של המכונות שמוגדר להן גיבוי מתוזמן
כדי להציג רשימה של מכונות Cloud SQL שנקבעו להן גיבויים, פועלים לפי ההוראות הבאות.
המסוף
נכנסים לדף Vaulted backups במסוף Google Cloud .
בחלק העליון של הטבלה, לוחצים על Filter table > Resource type. בוחרים באפשרות Cloud SQL. כך יוצגו רק מכונות Cloud SQL שמוגדרות להן תוכניות גיבוי, והגיבויים שלהן מאוחסנים בכספת גיבוי בפרויקט.
gcloud
מציגים את רשימת המכונות של Cloud SQL שתוזמנו להן גיבויים באמצעות הפקודה gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type:
gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type sqladmin.googleapis.com/Instance \
--location=LOCATION \
--project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
LOCATION: המיקום של הגיבויים המתוזמנים.
PROJECT_ID: שם הפרויקט שבו נמצאים המכונות של Cloud SQL.
גיבויים על פי דרישה
כדי להתחיל גיבוי לפי דרישה של מכונה ב-Cloud SQL עם תוכנית גיבוי, אתם יכולים להפעיל את כלל הגיבוי הרצוי כך שירוץ באופן מיידי. בדרך כלל, גיבויים על פי דרישה כוללים רק את הנתונים שהשתנו מאז הגיבוי המצטבר האחרון.
כשיוצרים גיבוי על פי דרישה, אפשר לבחור כלל מתוכנית הגיבוי שמשויכת למכונה של Cloud SQL. הכלל הזה קובע מתי הגיבוי לפי דרישה יימחק. אפשר לבדוק את הסטטוס של משימת הגיבוי בדף Jobs. מידע נוסף מופיע במאמר מעקב אחרי משימות גיבוי ושחזור במסוף Google Cloud .
יצירת גיבוי על פי דרישה
כדי ליצור גיבוי על פי דרישה, פועלים לפי ההוראות הבאות.
המסוף
נכנסים לדף Vaulted backups במסוף Google Cloud .
בדף Vaulted backups מופיעים רק משאבי הנתונים שחלות עליהם תוכניות גיבוי, והגיבויים שלהם מאוחסנים בכספת גיבוי בפרויקט.
בוחרים את המשאב שרוצים לגבות. בתפריט או בדף הפרטים של המשאב, לוחצים על Create on-demand backup.
בחלון Create an on-demand backup, בוחרים כלל גיבוי ולוחצים על Create.
כדי לראות את הסטטוס של משימת הגיבוי לפי דרישה, לוחצים על התראות.
gcloud
יצירת גיבוי על פי דרישה. התחלת גיבוי על פי דרישה באמצעות שיוך קיים של תוכנית גיבוי. מציינים מזהה כלל כדי לקבוע את תקופת התפוגה של הגיבוי היחיד הזה, לפי דרישה:
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --backup-rule-id=RULE_ID \ --project=PROJECT_ID \ --location=LOCATION \ [--no-async]מחליפים את מה שכתוב בשדות הבאים:
BACKUP_PLAN_ASSOCIATION_NAME: השם של השיוך לתוכנית הגיבוי.
RULE_ID: השם של כלל הגיבוי שרוצים לשייך כדי להריץ גיבויים על פי דרישה.
PROJECT_ID: שם הפרויקט.
LOCATION: המיקום של הגיבויים המתוזמנים.
הסרת ההגנה ממכונה של Cloud SQL
כדי להסיר את ההגנה ממכונה של Cloud SQL, צריך להסיר את תוכנית הגיבוי שחלה על המכונה. אם מסירים תוכנית גיבוי ממכונה של Cloud SQL, הגיבויים שנוצרו כשהתוכנית הייתה בשימוש לא נמחקים. עדיין אפשר לגשת לגיבויים הקיימים האלה ולנהל אותם עד שהתוקף שלהם יפוג.
כדי להסיר את ההגנה ממכונה של Cloud SQL:
המסוף
נכנסים לדף Vaulted backups במסוף Google Cloud .
לוחצים על השם של מסד הנתונים שרוצים להסיר ממנו את תוכנית הגיבוי.
לוחצים על הסרת תוכנית הגיבוי.
gcloud
ביטול ההגנה על מכונה של Cloud SQL.
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
--project=PROJECT_ID \
--location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
BACKUP_PLAN_ASSOCIATION_NAME: השם של השיוך לתוכנית הגיבוי שרוצים למחוק.
PROJECT_ID: שם הפרויקט.
LOCATION: המיקום של הגיבוי המתוזמן.
מגבלות
במכונות Cloud SQL שמוצפנות באמצעות CMEK, Backup and DR מאמת את ההרשאות באופן יזום. אם לסוכן השירות של Backup and DR מהפרויקט של כספת הגיבוי אין את התפקיד roles/cloudkms.cryptoKeyEncrypterDecrypter הנדרש במפתח ה-KMS של המכונה המקורית, לא תיווצר שיוך לתוכנית הגיבוי. לפני שמשייכים תוכנית גיבוי, צריך לוודא שיש את הרשאות ה-IAM הנדרשות.