בדף הזה מוסבר איך מגבים מופעי Cloud SQL אל כספת גיבוי, שמאפשרת שמירה ללא אפשרות שינוי ואכיפה של מדיניות שמירת הנתונים.
במסוף Google Cloud , אפשר לגבות מכונות Cloud SQL אל כספת גיבוי באמצעות תוכניות גיבוי. אפשר לגבות באחת משתי הדרכים הבאות. שתי השיטות מאפשרות לכם לאחסן את הגיבויים בצורה מאובטחת בכספת גיבויים, וכך מספקות דרך אמינה לשחזר את מופעי Cloud SQL במקרה של אובדן נתונים או אירועים בלתי צפויים אחרים.
- גיבויים מתוזמנים: גיבוי אוטומטי של מופעי Cloud SQL במרווחי זמן ספציפיים, כמו יומי, שבועי, חודשי או שנתי.
- גיבויים על פי דרישה. אתם יכולים ליצור גיבויים לפי דרישה מתי שצריך. גיבויים לפי דרישה שימושיים ליצירת גיבויים לפני ביצוע שינויים משמעותיים במסדי הנתונים או להגנה על נתונים אד-הוק.
לפני שמתחילים
מפעילים את Backup and DR Service 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 (
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 | פרויקט להקצאת הרשאה |
|---|---|---|---|
| כספת גיבוי | יצירת כספת גיבוי | 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 |
פרויקט ניהול | |
| שיוכים של תוכניות גיבוי | יצירת שיוך לתוכנית גיבוי | 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.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 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: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:
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 של מכונת המקור, יצירת השיוך של תוכנית הגיבוי תיכשל. לפני שמקשרים תוכנית גיבוי, צריך לוודא שהרשאות ה-IAM הנדרשות מוגדרות.