בדף הזה מוסבר איך מגבים מופעי Cloud SQL אל כספת גיבוי, שמאפשרת שמירה ללא אפשרות שינוי ואכיפה של מדיניות שמירת הנתונים.
במסוף Google Cloud , אפשר לגבות מופעים של Cloud SQL אל כספת גיבוי באמצעות תוכניות גיבוי. אפשר לגבות את המופעים באחת משתי הדרכים הבאות, ששתיהן מאחסנות את הגיבויים בצורה מאובטחת בכספת גיבוי כדי לספק שחזור אמין במקרה של אובדן נתונים או אירועים בלתי צפויים אחרים:
גיבויים מתוזמנים: גיבוי אוטומטי של מופעי Cloud SQL במרווחי זמן ספציפיים, כמו כל יום, כל שבוע, כל חודש או כל שנה.
גיבויים לפי דרישה: אתם יכולים ליצור גיבויים לפי דרישה כשאתם צריכים אותם. גיבויים לפי דרישה שימושיים ליצירת גיבויים לפני ביצוע שינויים משמעותיים במסדי הנתונים או להגנה על נתונים אד-הוק.
לפני שמתחילים
מפעילים את Backup and DR Service API במקום שבו נמצאים מופעי Cloud SQL.
מגדירים את Observability Analytics בקטגוריה כדי לעקוב אחרי משימות גיבוי של Backup and DR.
למופעים עם CMEK: אם מופע Cloud SQL של המקור מוגן באמצעות מפתח הצפנה בניהול הלקוח (CMEK), צריך להעניק את תפקיד
roles/cloudkms.cryptoKeyEncrypterDecrypterלניהול זהויות והרשאות גישה לשירות Backup and DR. ההרשאה הזו נדרשת במפתח של Cloud Key Management Service שמשמש את מופע Cloud SQL של המקור.סוכן השירות של שירות Backup and DR נמצא בפרויקט שבו נמצאת כספת הגיבוי. צריך להעניק את התפקיד הזה לחשבון השירות לפני שמנסים להגן על מופעי Cloud SQL שמופעל בהם CMEK.
תפקידים והרשאות ב-IAM למשתמש הגיבוי
כדי לקבל את ההרשאות שדרושות להגדרת גיבויים מתוזמנים או להפעלת גיבויים לפי דרישה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט של כספת הגיבוי:
- משתמש גיבוי של Backup and DR (
roles/backupdr.backupUser) - צפייה (
roles/viewer)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות להגדרת גיבויים מתוזמנים או להפעלת גיבויים לפי דרישה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להגדיר גיבויים מתוזמנים או להפעיל גיבויים על פי דרישה, נדרשות ההרשאות הבאות:
-
backupdr.backupPlans.list -
backupdr.backupPlanAssociations.createForCloudSqlInstance -
backupdr.backupPlanAssociations.fetchForCloudSqlInstance -
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 | הפרויקט שבו צריך להקצות את ההרשאה |
|---|---|---|---|
| כספת גיבוי | יצירת BackupVault | backupdr.backupVaults.create |
פרויקט ניהול |
| מחיקת BackupVault | backupdr.backupVaults.delete |
פרויקט ניהול | |
| עדכון BackupVault | backupdr.backupVaults.update |
פרויקט ניהול | |
| הצגת רשימה של BackupVaults | backupdr.backupVaults.list |
פרויקט ניהול | |
| קבלת BackupVault | backupdr.backupVaults.get |
פרויקט ניהול | |
| תוכנית גיבוי | יצירת BackupPlan | backupdr.backupPlans.create |
פרויקט ניהול |
| מחיקת BackupPlan | backupdr.backupPlans.delete |
פרויקט ניהול | |
| קבלת BackupPlan | backupdr.backupPlans.get |
פרויקט ניהול | |
| הצגת רשימה של תוכניות גיבוי | backupdr.backupPlans.list |
פרויקט ניהול | |
| שיוכים של תוכניות גיבוי | יצירת שיוך של תוכנית גיבוי | cloudsql.instances.updateBackupDrConfigbackupdr.backupPlanAssociations.createForCloudSqlInstancebackupdr.backupPlans.useForCloudSqlInstance |
פרויקט עומס עבודה פרויקט עומס עבודה פרויקט ניהול |
| מחיקת השיוך של תוכנית הגיבוי | backupdr.backupPlanAssociations.deleteForCloudSqlInstancecloudsql.instances.updateBackupDrConfig |
פרויקט של עומס עבודה פרויקט של עומס עבודה |
|
| הפעלת גיבוי על פי דרישה בשיוך לתוכנית גיבוי | backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance |
פרויקט של עומס עבודה | |
| קבלת שיוך של תוכנית גיבוי | backupdr.backupPlanAssociations.getForCloudSqlInstance |
פרויקט של עומס עבודה | |
| הצגת השיוכים של תוכנית הגיבוי | backupdr.backupPlanAssociations.list |
פרויקט של עומס עבודה | |
| שליפת שיוכים של תוכנית גיבוי | backupdr.backupPlanAssociations.fetchForCloudSqlInstance |
פרויקט של עומס עבודה | |
| מקור הנתונים | Get DataSource | backupdr.bvdataSources.get |
פרויקט ניהול |
| List DataSources | backupdr.backupPlanAssociations.list |
פרויקט ניהול | |
| שחזור מערכת מנקודה מסוימת בזמן (PITR) | backupdr.bvdataSources.useReadOnlyForCloudSqlInstance |
פרויקט ניהול | |
| גיבויים | קבלת גיבוי | backupdr.bvbackups.get |
פרויקט ניהול |
| הצגת רשימת הגיבויים | backupdr.bvbackups.list |
פרויקט ניהול | |
| אחזור גיבויים | backupdr.bvbackups.fetchForCloudSqlInstance |
פרויקט ניהול | |
| מחיקת הגיבוי | backupdr.bvbackups.delete |
פרויקט ניהול | |
| שחזור הגיבוי | backupdr.bvbackups.useReadOnlyForCloudSqlInstance |
פרויקט ניהול | |
| הפניות למקורות נתונים | קבלת הפניה ל-DataSource | backupdr.dataSourceReferences.getForCloudSqlInstance |
פרויקט של עומס עבודה |
| הצגת רשימה של הפניות ל-DataSource | backupdr.dataSourceReferences.list |
פרויקט של עומס עבודה | |
| אחזור הפניות של מקור הנתונים | backupdr.dataSourceReferences.fetchForCloudSqlInstance |
פרויקט של עומס עבודה | |
| תפעול | הצגת רשימה של פעולות | backupdr.operations.list |
הפרויקט הרלוונטי |
| קבלת פעולות | backupdr.operations.get |
הפרויקט הרלוונטי |
הענקת גישה לכספת הגיבוי בפרויקט Cloud SQL
כדי לגבות מופע של Cloud SQL בפרויקט שונה מזה שבו נוצרה כספת הגיבוי, צריך להעניק לסוכן השירות של כספת הגיבוי את תפקיד ה-IAM Backup and DR Cloud SQL Operator (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 (אזור), בוחרים את האזור שבו נמצאים המופעים.
ברשימה Resources, לוחצים על Browse. בוחרים את המופע של Cloud SQL שרוצים לגבות ולוחצים על סיום.
לוחצים על Continue.
ברשימה תוכנית גיבוי, לוחצים על בחירה.
בוחרים תוכנית גיבוי שרוצים להשתמש בה כדי להגן על מופעי Cloud SQL.
לוחצים על סיום.
בודקים את פרטי הגיבוי ולוחצים על תזמון.
gcloud
יוצרים תוכנית גיבוי ומופע Cloud SQL.
מגדירים גיבוי מתוזמן.
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 שנקבעו להן גיבויים, פועלים לפי ההוראות הבאות.
המסוף
נכנסים לדף Vaulted backups במסוף Google Cloud .
בחלק העליון של הטבלה, בוחרים באפשרות סינון הטבלה ואז לוחצים על סוג המשאב. בוחרים באפשרות Cloud SQL. ההגבלה הזו מאפשרת להציג רק את מופעי Cloud SQL שהוחלו עליהם תוכניות גיבוי, ואת הגיבויים שלהם שמאוחסנים במאגר גיבויים בפרויקט.
gcloud
רשימת מכונות Cloud SQL שנקבע להן גיבוי:
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. הכלל הזה קובע מתי גיבוי לפי דרישה יימחק. אפשר לבדוק את הסטטוס של משימת הגיבוי בדף משימות. מידע נוסף מופיע במאמר מעקב אחרי משימות גיבוי ושחזור במסוף Google Cloud .
כדי ליצור גיבוי לפי דרישה, פועלים לפי ההוראות הבאות.
המסוף
נכנסים לדף Vaulted backups במסוף Google Cloud .
בדף Vaulted backups מופיעים רק משאבי הנתונים שהוחלו עליהם תוכניות גיבוי והגיבויים שלהם מאוחסנים במאגר גיבויים בפרויקט.
בוחרים את המשאב שרוצים לגבות. בתפריט או בדף הפרטים של המשאב, בוחרים באפשרות יצירת גיבוי לפי דרישה.
בחלון יצירת גיבוי לפי דרישה, בוחרים כלל גיבוי לשימוש ולוחצים על יצירה.
כדי לראות את הסטטוס של עבודת הגיבוי לפי דרישה, לוחצים על התראות.
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 של מכונת המקור, יצירת הקישור של תוכנית הגיבוי (BPA) תיכשל. לפני שמקשרים תוכנית גיבוי, צריך לוודא שההרשאות הנדרשות ב-IAM קיימות.