בדף הזה מוסבר איך למחוק מופעים של 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 "
}
כדי לראות איך בנויה בקשת ה-REST API הבסיסית למשימה הזו, אפשר לעיין ב-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 "
}
כדי לראות איך בנויה בקשת ה-REST API הבסיסית למשימה הזו, אפשר לעיין ב-APIs Explorer בדף instances:delete .
שחזור מופע שנמחק
כשמוחקים מכונה, Cloud SQL מוחק את כל המשאבים של המכונה, כולל גיבויים לפי דרישה וגיבויים אוטומטיים .
אם יוצרים גיבוי סופי כחלק ממחיקת מופע, אפשר להשתמש בגיבוי הזה כדי לשחזר את המופע. אפשר לעשות זאת על ידי יצירת מופע מהגיבוי הסופי או על ידי שחזור הגיבוי הסופי למופע קיים.
אם משתמשים בגיבוי סופי כדי לשחזר את המכונה, יכול להיות שלמכונה תהיה כתובת IP שונה מזו של המכונה המקורית שנמחקה.
אם מחקתם בטעות מכונה בלי ליצור גיבוי סופי, אתם יכולים לפנות אל Cloud Customer Care תוך 4 ימים ממועד המחיקה של המכונה כדי לבקש לשחזר אותה. אם אפשר לשחזר את המופע, מוגדרים מחדש הגדרות המופע, כולל כתובות ה-IP שהיו בשימוש לפני המחיקה. כל הגיבויים שהיו זמינים בזמן המחיקה משוחזרים גם הם.