ביטול הקצאת משאבים ב-VPC משותף
בדף הזה מוסבר איך לבטל הקצאה של הגדרת VPC משותף קיימת, ולהפסיק את הקישור של כל הפרויקטים של השירותים לפרויקט מארח של VPC משותף. ביטול הקצאת הרשאות הוא תהליך חד-כיווני. חשוב לוודא שקראתם את הדפים בנושא VPC משותף והקצאת VPC משותף.
משימות אדמין ב-Service Project
בכל פרויקט שירות שמצורף לפרויקט המארח של ה-VPC המשותף, אדמין של פרויקט השירות צריך להסיר את כל התלות בפרויקט המארח. יכול להיות שהתלויות יכללו מופעים, קבוצות מופעים, תבניות של הגדרות מכונה, שירותי בק-אנד וכללי העברה.
זיהוי המשאבים המושפעים
כדי לזהות משאבים שתלויים בפרויקט המארח של ה-VPC המשותף, אדמין של פרויקט שירות יכול לרשום את רשתות המשנה המשותפות שלו. כשמנתקים את פרויקט השירות מפרויקט המארח, רשתות המשנה האלה לא יהיו יותר זמינות לו, ולכן כל המשאבים שתלויים בהן יושפעו.
מחיקת משאבים
אחרי שאדמין בפרויקט שירות יזהה את המשאבים שיושפעו מתהליך ביטול ההקצאה, יהיה צורך למחוק את המשאבים האלה:
מחיקת מכונות שמשתמשות ברשתות משנה בפרויקט המארח.
מוחקים קבוצות של מכונות מנוהלות וקבוצות של מכונות לא מנוהלות שמשתמשות ברשתות משנה בפרויקט המארח.
מחיקת תבניות של מכונות וירטואליות שההגדרות שלהן תלויות בפרויקט המארח.
אם יש משאבי serverless בפרויקט השירות שמחוברים לרשת VPC משותפת בפרויקט המארח באמצעות Serverless VPC Access, צריך לבצע את הפעולות המתאימות כדי לנתק את המשאבים: שירותים ופונקציות של Cloud Run, משימות של Cloud Run או שירותים של App Engine. אחרי שמנתקים את המשאבים, אם מחבר הגישה המתאים ל-VPC של אפליקציית serverless נוצר בפרויקט השירות, צריך למחוק את המחבר.
מחיקה של כללי העברה פנימיים למאזני עומסים פנימיים מסוג TCP/UDP שמפנים לתת-רשת ברשת VPC משותפת של הפרויקט המארח.
מחיקה של כתובות IP פנימיות סטטיות שמשמשות ממשקי רשת ממכונות וירטואליות ברשתות אחרות.
כדי לעשות את זה, קודם צריך לקבל רשימה של הכתובות השמורות, ואז למחוק אותן.
משימות אדמין במאזן עומסים
מאזני עומסים פנימיים של אפליקציות (ALB) ומאזני עומסים חיצוניים אזוריים של אפליקציות (ALB) מאפשרים להגדיר את מאזן העומסים כך שמפת כתובות URL בפרויקט מארח או בפרויקט שירות יכולה להפנות לשירותי קצה עורפי (ולקצה עורפי) שנמצאים בכמה פרויקטים בסביבות של VPC משותף.
לפני שמוחקים פרויקט שירות, צריך לוודא שהוסרו ממנו כל ההפניות לשירותי קצה עורפי בפרויקט שירות אחר. אדמינים של איזון עומסים יצטרכו לשנות את מיפויי כתובות ה-URL שלהם כדי להסיר הפניות לשירותי backend בפרויקט השירות.
משימות של אדמין ל-VPC משותף
כל המשימות בקטע הזה צריכות להתבצע על ידי אדמין של VPC משותף.
ניתוק פרויקטים של שירות
חוזרים על השלבים האלה לכל פרויקט שירות שצריך לנתק מפרויקט המארח של ה-VPC המשותף.
המסוף
כדי להציג את הדף 'VPC משותף' במסוף, צריך להיות לכם תפקיד אדמין של VPC משותף. Cloud de Confiance
- נכנסים לדף VPC משותף במסוף Cloud de Confiance .
מעבר אל VPC משותף - נכנסים כאדמין של VPC משותף.
- בוחרים את פרויקט המארח שממנו רוצים להסיר פרויקטים של שירותים.
- לוחצים על הכרטיסייה פרויקטים מצורפים.
- בוחרים את פרויקט השירות שרוצים לנתק.
- לוחצים על הלחצן Detach Projects (ניתוק פרויקטים).
- בודקים את המידע בתיבת הדו-שיח.
- לוחצים על ניתוק.
gcloud
אם עדיין לא עשיתם זאת, צריך לבצע אימות ב-
gcloudכאדמין של VPC משותף. מחליפים את SHARED_VPC_ADMIN בשם האדמין של ה-VPC המשותף:gcloud auth login SHARED_VPC_ADMIN
מנתקים את פרויקט השירות מהפרויקט המארח. מחליפים את SERVICE_PROJECT_ID במזהה הפרויקט של פרויקט השירות ואת HOST_PROJECT_ID במזהה הפרויקט של הפרויקט המארח.
gcloud compute shared-vpc associated-projects remove SERVICE_PROJECT_ID --host-project HOST_PROJECT_IDכדי לוודא שפרויקט השירות נותק, משתמשים באחת מהפקודות הבאות:
gcloud compute shared-vpc get-host-project SERVICE_PROJECT_ID
gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
אם רק הייתם צריכים לבטל את הקישור של פרויקטים של שירותים, מומלץ להתנתק מ-
gcloudכדי להגן על פרטי הכניסה של חשבון האדמין של ה-VPC המשותף. אחרת, מדלגים על השלב הזה וממשיכים אל השבתת פרויקט המארח.gcloud auth revoke SHARED_VPC_ADMIN
API
מנתקים את פרויקט השירות.
POST https://compute.s3nsapis.fr/compute/v1/projects/HOST_PROJECT_ID/disableXpnResource { "xpnResource": { "id": "SERVICE_PROJECT_ID" } }מחליפים את ה-placeholders בערכים תקינים:
- HOST_PROJECT_ID הוא המזהה של פרויקט המארח.
- SERVICE_PROJECT_ID הוא מזהה פרויקט השירות שרוצים לנתק.
מידע נוסף זמין במאמר בנושא השיטה
projects.disableXpnResource.מוודאים שפרויקט השירות בוטל.
בודקים שפרויקט השירות לא מצורף לפרויקט מארח כלשהו.
GET https://compute.s3nsapis.fr/compute/v1/projects/SERVICE_PROJECT_ID/getXpnHost
מחליפים את SERVICE_PROJECT_ID במזהה של פרויקט השירות.
מידע נוסף זמין במאמר בנושא השיטה
projects.getXpnHost.מציגים את רשימת הפרויקטים של השירות שמצורפים לפרויקט המארח של ה-VPC המשותף כדי לוודא שהפרויקט לא מופיע יותר ברשימה.
GET https://compute.s3nsapis.fr/compute/v1/projects/HOST_PROJECT_ID/getXpnResources
מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.
מידע נוסף זמין במאמר בנושא השיטה
projects.getXpnResources.
השבתת פרויקט המארח
אפשר להשבית את ה-VPC המשותף בפרויקט המארח רק אחרי שמנתקים את כל פרויקטי השירות. כשהאפשרות מושבתת, מנעול למניעת מחיקה שמונע את המחיקה הקלה של החשבון מוסר אוטומטית.
המסוף
כדי להציג את הדף 'VPC משותף' במסוף, צריך להיות לכם תפקיד אדמין של VPC משותף. Cloud de Confiance
- נכנסים לדף VPC משותף במסוף Cloud de Confiance .
מעבר אל VPC משותף - נכנסים כאדמין של VPC משותף.
- בוחרים את פרויקט המארח שרוצים להשבית.
- לוחצים על הלחצן השבתת VPC משותף.
- קוראים בעיון את התיאור בתיבת הדו-שיח.
- מזינים את מזהה הפרויקט המארח בשדה מזהה הפרויקט המארח.
- לוחצים על השבתה.
gcloud
אם עדיין לא עשיתם זאת, צריך לבצע אימות ב-
gcloudכאדמין של VPC משותף. מחליפים את SHARED_VPC_ADMIN בשם האדמין של ה-VPC המשותף:gcloud auth login SHARED_VPC_ADMIN
משביתים את ה-VPC המשותף בפרויקט המארח. מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.
gcloud compute shared-vpc disable HOST_PROJECT_ID
מוודאים שהפרויקט כבר לא מופיע כפרויקט מארח בארגון. מחליפים את ORG_ID במזהה הארגון (שנקבע על ידי
gcloud organizations list).gcloud compute shared-vpc organizations list-host-projects ORG_ID
אם רק הייתם צריכים להשבית פרויקט מארח, אתם יכולים להתנתק מ-
gcloudכדי להגן על פרטי הכניסה של חשבון האדמין של ה-VPC המשותף. אם לא, מדלגים על השלב הזה וממשיכים אל מחיקת פרויקטים.gcloud auth revoke SHARED_VPC_ADMIN
API
משביתים את ה-VPC המשותף בפרויקט.
POST https://compute.s3nsapis.fr/compute/v1/projects/HOST_PROJECT_ID/disableXpnHost
מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.
מידע נוסף זמין במאמר בנושא השיטה
projects.disableXpnHost.מציגים את רשימת הפרויקטים המארחים כדי לוודא שהפרויקט לא מופיע בה.
POST https://compute.s3nsapis.fr/compute/v1/projects/HOST_PROJECT_ID/listXpnHosts
מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.
מידע נוסף זמין במאמר בנושא השיטה
projects.listXpnHosts.
מחיקת פרויקטים
בקטע הזה נסביר איך למחוק פרויקטים שכבר לא בשימוש. לדוגמה, יכול להיות שיש לכם פרויקטים של שירותים שצריך למחוק אחרי שהם מנותקים מפרויקט מארח, או שאולי כבר אין לכם צורך בפרויקט המארח אחרי שהוא מושבת.
מחיקת פרויקט המארח
אפשר להשאיר אותו כפרויקט רגיל או לסגור אותו. הפרויקט יימחק.
חשבון משתמש ב-IAM יכול למחוק את פרויקט המארח אם לחשבון המשתמש יש תפקיד resourcemanager.projectDeleter בארגון, או אם חשבון המשתמש הוא הבעלים של פרויקט המארח.
יכול להיות שאדמינים של VPC משותף יוכלו למחוק פרויקטים מארחים אם יש להם את התפקיד או הבעלות הנכונים.
מחיקת פרויקט שירות
אם אין לכם יותר צורך בשירותים מסוימים, אתם יכולים להשבית את הפרויקט של כל שירות. לפני שמבצעים את הפעולה הזו, צריך לוודא שפרויקט השירות מנותק מפרויקט המארח.
חשבון משתמש ב-IAM יכול למחוק פרויקט שירות אם לחשבון המשתמש יש את התפקיד resourcemanager.projectDeleter בארגון, או אם חשבון המשתמש הוא הבעלים של פרויקט השירות. אדמינים של פרויקטים לשירותים יכולים למחוק פרויקטים לשירותים אם יש להם את התפקיד או הבעלות הנכונים.
מחיקה כפויה של פרויקט מארח
בזמן ש-VPC משותף פעיל בפרויקט מארח, מוצב בפרויקט מנעול למניעת מחיקה כדי למנוע מחיקה בטעות. בעל הפרויקט יכול להסיר את השעבוד הזה, ולכן ההנחיות להקצאת VPC משותף כוללות שלבים להגדרת מדיניות ארגונית שמגבילה את היכולת של חשבונות משתמשים ב-IAM להסיר שעבוד של פרויקט.
בדרך כלל, צריך למחוק פרויקט מארח אחרי שמבצעים את המשימות הבאות בסדר הזה:
כשמשביתים את ה-VPC המשותף, המנעול למניעת מחיקה שמגן על הפרויקט המארח מוסר באופן אוטומטי.
בקטע הזה מוסבר איך לכפות כיבוי של פרויקט מארח. כדאי לשקול את האפשרות הזו רק בנסיבות הבאות:
- אי אפשר לבצע את השלבים הרגילים לניתוק פרויקטים של שירותים ולהשבתה של VPC משותף.
- יש מנעולים נוספים למניעת מחיקה שמגנים על פרויקט המארח מעבר למנעול שנוסף באופן אוטומטי.
אם מכבים בכוח פרויקט מארח ויש משאבים בפרויקטים של שירותים שמשתמשים ברשת ה-VPC המשותפת, מתרחשים האירועים הבאים:
- כל רשתות ה-VPC המשותפות, רשתות המשנה, המסלולים, כללי חומת האש וכל משאבי הרשת בפרויקט המארח נמחקים.
- המשאבים, כמו מופעים פעילים בפרויקטים של השירות שמצורפים לפרויקט המארח, מופסקים.
- מאזני עומסים פנימיים מסוג TCP/UDP מושבתים אם כללי ההעברה שלהם תלויים ברשת ה-VPC המשותפת.
gcloud
צריך לבצע אימות ל-
gcloudבתור חשבון משתמש ב-IAM שיכול להסיר מנעול למניעת מחיקה של פרויקט. אם יש לכם מדיניות ארגונית שמגבילה את החשבונות שיכולים להסיר שיעבודים, אתם צריכים לעבור אימות כחשבון משתמש ב-IAM עם התפקידresourcemanager.lienModifierבארגון שלכם. אם אין לכם מדיניות כזו, בעלי פרויקט המארח יכולים להסיר את המנעול למניעת מחיקה.מחליפים את ACCOUNT בשם של הגורם המתאים ב-IAM:
gcloud auth login ACCOUNT
רשימת השעבודים שמשויכים לפרויקט המארח. מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.
gcloud alpha resource-manager liens list \ --project HOST_PROJECT_ID
מסירים כל מנעול למניעת מחיקה לפי שם, אחד בכל פעם, עד שלא נשארים מנעולים למניעת מחיקה. מחליפים את LIEN_NAME בשם של המנעול למניעת מחיקה שרוצים להסיר.
gcloud alpha resource-manager liens delete LIEN_NAME \ --project HOST_PROJECT_ID
מוודאים שכל השעבודים הוסרו.
gcloud alpha resource-manager liens list \ --project HOST_PROJECT_ID
אחרי שמסירים את המנעול למניעת מחיקה, אפשר להתנתק מ-
gcloudכדי להגן על פרטי הכניסה של הישות המורשית ב-IAM שיש לה הרשאה להסיר מנעולים למניעת מחיקה.gcloud auth revoke ACCOUNT
עכשיו אפשר להשבית את פרויקט המארח.
API
מציגים את השעבודים שמשויכים לפרויקט המארח.
GET https://cloudresourcemanager.s3nsapis.fr/v1/liens?parent=projects:HOST_PROJECT_ID
מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.
מידע נוסף זמין במאמר בנושא השיטה
liens.list.מסירים כל שיעבוד לפי שם עד שלא נשארים שיעבודים.
DELETE https://cloudresourcemanager.s3nsapis.fr/v1/liens/LIEN_NAME
מחליפים את LIEN_NAME בשם של השעבוד שרוצים למחוק.
מידע נוסף זמין במאמר בנושא השיטה
liens.delete.מציגים שוב את השעבודים כדי לוודא שהם הוסרו.
פתרון בעיות
אי אפשר לנתק פרויקט שירות שהשתמש בחיבור לרשת (VPC) מאפליקציית serverless
יכול להיות שתקבלו שגיאה כשאתם מנסים לנתק פרויקט שירות שהוגדר בו חיבור לרשת (VPC) מאפליקציית serverless, גם אם מחקתם את המחבר המשויך של החיבור לרשת (VPC) מאפליקציית serverless. השגיאה הזו מתרחשת כי עדיין קיים שיוך בין משאב אחד או יותר ללא שרת בפרויקט השירות לבין רשת ה-VPC המשותפת בפרויקט המארח.
כדי לפתור את הבעיה, צריך להסיר את כל השיוכים למחבר של חיבור לרשת (VPC) מאפליקציית serverless מהמשאבים של serverless:
אם יש שירותים או פונקציות של Cloud Run שמשתמשים במחבר שמשויך לרשת ה-VPC המשותפת, צריך לבצע את השלבים לניתוק שירות Cloud Run מרשת VPC לכל שירות או פונקציה.
אם יש עבודות Cloud Run שהשתמשו במחבר שמשויך לרשת VPC משותפת, צריך לבצע את השלבים לניתוק עבודת Cloud Run מרשת VPC לכל עבודה.
אם שירותים כלשהם של App Engine השתמשו במחבר שמשויך לרשת ה-VPC המשותפת, צריך לבצע את השלבים לניתוק שירות App Engine מרשת VPC עבור כל שירות.
אחרי שמנתקים את כל המשאבים מסוג Serverless מרשת ה-VPC, מנתקים את פרויקט השירות.
כדי למנוע את הבעיה הזו בעתיד, חשוב לוודא שניתקתם את כל המשאבים ללא שרת לפני שאתם מוחקים מחבר, כמו שמתואר במאמר מחיקת מחבר.
במקרים נדירים, יכול להיות שתקבלו שגיאה גם אחרי שתשלימו את השלבים שבקטע הזה. אם עדיין לא הצלחתם למחוק את רשת ה-VPC, פנו אל Cloud Customer Care.
המאמרים הבאים
- מידע נוסף על VPC משותף זמין במאמר VPC משותף.
- הוראות להגדרת VPC משותף מופיעות במאמר הקצאת VPC משותף.
- הוראות להגדרת אשכולות Google Kubernetes Engine עם VPC משותף מופיעות במאמר הגדרת אשכולות עם VPC משותף.