בדף הזה מוסבר איך למחוק מופעים של Cloud SQL.
אזהרה: כל הנתונים במופע, כולל גיבויים, יימחקו לצמיתות כשמוחקים את המופע. כדי לשמור את הנתונים, צריך לייצא אותם ל-Cloud Storage לפני המחיקה. התפקיד Cloud SQL Admin כולל את ההרשאה למחוק את המכונה. כדי למנוע מחיקה בטעות, כדאי להקצות את התפקיד הזה רק כשצריך.
בנוסף, כדאי להשתמש בהגנה מפני מחיקה .
חשוב לשים לב לנקודות הבאות כשמתכננים למחוק מכונה:
אחרי שמוחקים מופע, יכול להיות שהוא ימשיך להופיע בפרויקט עם גודל 'לא ידוע' אבל עם הסטטוס 'בתהליך מחיקה'. זה מצב תקין והמופע נעלם לגמרי אחרי פרק זמן קצר.
יכול להיות שיחלפו עד ארבעה ימים עד שהמשאבים הבסיסיים שקשורים למופע יימחקו לגמרי, למעט עותקים לקריאה, שנמחקים בדרך כלל תוך כמה דקות.
אפשר להשתמש בשם של המופע שנמחק באופן מיידי כדי ליצור מופע חדש.
אם
הגנה מפני מחיקה מופעלת במופע, צריך להשבית אותה לפני שמוחקים את המופע.
למקרה חירום, כדאי ליצור גיבוי סופי כדי לשחזר את המופע שנמחק.
ההרשאות הנדרשות
כברירת מחדל, רק למשתמשים או לחשבונות שירות עם התפקיד Cloud SQL Admin (roles/cloudsql.admin) או Owner (roles/owner) יש הרשאה למחוק מופע של Cloud SQL (cloudsql.instances.delete).
אפשר גם להגדיר תפקיד מותאם אישית ב-IAM למשתמש או לחשבון השירות שכולל את ההרשאה cloudsql.instances.delete. ההרשאה הזו נתמכת בתפקידים בהתאמה אישית ב-IAM.
מחיקת מכונה
אפשר למחוק מופע Cloud SQL באמצעות מסוף Google Cloud , ה-CLI של gcloud או ה-API. אם רוצים לשמור גיבויים של המופע לפני המחיקה, אפשר לעיין במאמר בנושא ניהול גיבויים שנשמרו .
הערה: לפני שמוחקים מופע, צריך לוודא שזה בטוח לעשות זאת. לאחר מכן, צריך לוודא שהגנה מפני מחיקה מושבתת עבור המופע. בנוסף, מומלץ מאוד לבצע גיבוי סופי של המופע לפני שמוחקים אותו.
אם השתמשתם ב-Cloud Key Management Service כדי להצפין את המופע, אבל אין גישה למפתחות KMS, אז אחרי שתמחקו את המופע, הסטטוס של הגיבוי הסופי יהיה FAILED. אם זה קורה, צריך לפנות אל Cloud Customer Care תוך 4 ימים ממועד מחיקת המופע כדי לבקש לשחזר אותו.
אם מוחקים מכונה שמופעל בה Private Service Connect , מתרחשות הפעולות הבאות:
הקובץ המצורף לשירות מוסר באופן אוטומטי. עם זאת, נקודת הקצה של Private Service Connect שמפנה לקובץ המצורף של השירות לא נמחקת באופן אוטומטי. אם מציגים את כלל ההעברה שמשויך לנקודת הקצה, אפשר לראות שהסטטוס של הכלל הוא CLOSED. אחרי שמקבלים את הסטטוס הזה, אפשר למחוק את נקודת הקצה.
החיבור לנקודת הקצה נכשל בגלל חלף הזמן הקצוב לתפוגה.
כדי להימנע מעלויות נוספות, מומלץ מאוד למחוק גם את תחום ה-DNS ורשומת ה-DNS התואמים.
המסוף
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
כניסה לדף Cloud SQL Instances
כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
לוחצים על Delete .
בתיבת הדו-שיח Delete instance (מחיקת מכונה), מבצעים את הפעולות הבאות:
בשדה הטקסט, מזינים את מזהה המופע שמופיע.
אם רוצים ליצור גיבוי סופי של המופע, משאירים את התיבה יצירת גיבוי סופי מסומנת, מרחיבים את התפריט אפשרויות שמירה , ואז בשדה שמירה למשך מזינים את מספר הימים שבהם הגיבוי הסופי יישמר. אפשר לציין בין יום אחד ל-365 ימים.
אם רוצים למחוק את המכונה בלי ליצור גיבוי סופי, צריך לבטל את הסימון של התיבה.
בתיבת הטקסט תיאור הגיבוי אפשר להוסיף תיאור של הגיבוי.
לוחצים על Delete .
gcloud
כדי למחוק מכונה, משתמשים בפקודה gcloud sql instances delete :
gcloud sql instances delete INSTANCE_NAME \
--project= PROJECT_ID
מחליפים את הפרטים הבאים:
INSTANCE_NAME : השם של המכונה
PROJECT_ID : המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע שרוצים למחוק
הערה: אם רוצים ליצור גיבוי סופי של המופע, משתמשים בדגלים הבאים:
--enable-final-backup: מגדירים את הערך של הדגל הזה ל-true כדי ליצור גיבוי סופי. אם רוצים למחוק את המכונה בלי ליצור גיבוי סופי, צריך להגדיר את הערך false.
--final-backup-description: מספקים פרטים על הגיבוי הסופי. ערך ברירת המחדל הוא ריק.
--final-backup-ttl-days: מציינים את מספר הימים לשמירת הגיבוי הסופי. הערך הזה נקרא 'אורך חיים' (TTL). ערך ברירת המחדל הוא 30 ימים. תקופת השמירה המותרת משתנה, מיום אחד ועד 365 ימים. כדי לציין את תקופת השמירה, משתמשים בדגל הזה או בדגל --final-backup-expiry-time.
--final-backup-expiry-time: חותמת זמן (בשעון UTC) של מועד התפוגה של הגיבוי. התקופה הזו לא יכולה להיות ארוכה משנה. כדי לציין את תקופת השמירה, משתמשים בדגל הזה או בדגל --final-backup-ttl-days.
REST v1
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע שרוצים למחוק
INSTANCE_NAME : השם של המכונה
הערה: אם רוצים ליצור גיבוי סופי של המופע, צריך להשתמש בפרמטרים הבאים של השאילתה:
enable_final_backup: מגדירים את הערך של הפרמטר הזה ל-true כדי ליצור גיבוי סופי. אם רוצים למחוק את המכונה בלי ליצור גיבוי סופי, צריך להגדיר את הערך false.
final_backup_description: מספקים פרטים על הגיבוי הסופי. ערך ברירת המחדל הוא ריק.
final_backup_ttl_days: מציינים את מספר הימים לשמירת הגיבוי הסופי. הערך הזה נקרא 'אורך חיים' (TTL). ערך ברירת המחדל הוא 30 ימים. תקופת השמירה המותרת משתנה, מיום אחד ועד 365 ימים. כדי לציין את תקופת השמירה, משתמשים בפרמטר הזה או בפרמטר final_backup_expiry_time.
final_backup_expiry_time: חותמת זמן (בשעון UTC) של מועד התפוגה של הגיבוי. התקופה הזו לא יכולה להיות ארוכה משנה. כדי לציין את תקופת השמירה, משתמשים בפרמטר הזה או בפרמטר final_backup_ttl_days.
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-15T00:10:22.078Z",
"operationType": "DELETE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_NAME ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
כדי לראות איך בקשת API בארכיטקטורת REST הבסיסית מורכבת למשימה הזו, אפשר לעיין ב-APIs Explorer בדף instances:delete .
REST v1beta4
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע שרוצים למחוק
INSTANCE_NAME : השם של המכונה
הערה: אם רוצים ליצור גיבוי סופי של המופע, צריך להשתמש בפרמטרים הבאים של השאילתה:
enable_final_backup: מגדירים את הערך של הפרמטר הזה ל-true כדי ליצור גיבוי סופי. אם רוצים למחוק את המכונה בלי ליצור גיבוי סופי, צריך להגדיר את הערך false.
final_backup_description: מספקים פרטים על הגיבוי הסופי. ערך ברירת המחדל הוא ריק.
final_backup_ttl_days: מציינים את מספר הימים לשמירת הגיבוי הסופי. הערך הזה נקרא 'אורך חיים' (TTL). ערך ברירת המחדל הוא 30 ימים. תקופת השמירה המותרת משתנה, מיום אחד ועד 365 ימים. כדי לציין את תקופת השמירה, משתמשים בפרמטר הזה או בפרמטר final_backup_expiry_time.
final_backup_expiry_time: חותמת זמן (בשעון UTC) של מועד התפוגה של הגיבוי. התקופה הזו לא יכולה להיות ארוכה משנה. כדי לציין את תקופת השמירה, משתמשים בפרמטר הזה או בפרמטר final_backup_ttl_days.
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-15T00:10:22.078Z",
"operationType": "DELETE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_NAME ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
כדי לראות איך בקשת API בארכיטקטורת REST הבסיסית מורכבת למשימה הזו, אפשר לעיין ב-APIs Explorer בדף instances:delete .
שחזור מופע שנמחק
כשמוחקים מכונה, Cloud SQL מוחק את כל המשאבים של המכונה, כולל גיבויים לפי דרישה וגיבויים אוטומטיים .
אם יוצרים גיבוי סופי כחלק ממחיקת מופע, אפשר להשתמש בגיבוי הזה כדי לשחזר את המופע. אפשר ליצור מופע מהגיבוי הסופי או לשחזר את הגיבוי הסופי למופע קיים.
אם משתמשים בגיבוי סופי כדי לשחזר את המכונה, יכול להיות שלמכונה תהיה כתובת IP שונה מזו של המכונה המקורית שנמחקה.
אם מחקתם בטעות מופע בלי ליצור גיבוי סופי, אתם יכולים לפנות אל תמיכת הלקוחות של Cloud תוך 4 ימים ממועד המחיקה של המופע כדי לבקש לשחזר אותו. אם אפשר לשחזר את המופע, מוגדרים מחדש הגדרות המופע, כולל כתובות ה-IP שהיו בשימוש לפני המחיקה. כל הגיבויים שהיו זמינים בזמן המחיקה ישוחזרו גם הם.