ביטול הקצאת משאבים ב-VPC משותף

בדף הזה מוסבר איך לבטל ניהול הקצאות של הגדרת VPC משותף קיימת, ולהפסיק את הקישור של כל הפרויקטים של השירותים לפרויקט המארח של ה-VPC המשותף. ביטול הקצאת הרשאות הוא תהליך חד-כיווני. חשוב לוודא שאתם מכירים את הדפים בנושא VPC משותף והקצאת VPC משותף.

משימות של אדמינים ב-Service Project

בכל פרויקט שירות שמצורף לפרויקט המארח של ה-VPC המשותף, אדמין של פרויקט השירות צריך להסיר את כל התלות בפרויקט המארח. יכול להיות שהתלויות יכללו מופעים, קבוצות של מופעים, תבניות של מופעים, שירותי בק-אנד וכללי העברה.

זיהוי המשאבים המושפעים

כדי לזהות משאבים שתלויים בפרויקט המארח של ה-VPC המשותף, אדמין של פרויקט שירות יכול לרשום את רשתות המשנה המשותפות שלו. כשמנתקים את פרויקט השירות מפרויקט המארח, רשתות המשנה האלה לא יהיו יותר זמינות לו, ולכן כל המשאבים שתלויים בהן יושפעו.

מחיקת משאבים

אחרי שאדמין בפרויקט שירות יזהה את המשאבים שיושפעו מתהליך ביטול ההקצאה, יהיה צורך למחוק את המשאבים האלה:

משימות אדמין של מאזן עומסים

מאזני עומסים פנימיים של אפליקציות (ALB) ומאזני עומסים חיצוניים אזוריים של אפליקציות (ALB) מאפשרים להגדיר את מאזן העומסים כך שמפת URL בפרויקט מארח או בפרויקט שירות תוכל להפנות לשירותי קצה עורפי (ולקצה עורפי) שנמצאים בכמה פרויקטים בסביבות של VPC משותף.

לפני שמחליטים למחוק פרויקט שירות, צריך לוודא שהוסרו ממנו כל ההפניות לשירותי קצה עורפיים בפרויקטים אחרים. אדמינים של מאזני עומסים יצטרכו לשנות את מיפויי כתובות ה-URL שלהם כדי להסיר הפניות לשירותי קצה עורפי בפרויקט השירות.

משימות של אדמין ל-VPC משותף

כל המשימות בקטע הזה צריכות להתבצע על ידי אדמין של VPC משותף.

ניתוק פרויקטים של שירותים

חוזרים על השלבים האלה לכל פרויקט שירות שצריך לנתק מפרויקט המארח של ה-VPC המשותף.

המסוף

כדי להציג את הדף 'VPC משותף' במסוף, צריך להיות לכם תפקיד אדמין של VPC משותף. Google Cloud

  1. נכנסים לדף VPC משותף במסוף Google Cloud .
    מעבר אל VPC משותף
  2. נכנסים כאדמין של VPC משותף.
  3. בוחרים את פרויקט המארח שממנו רוצים להסיר את פרויקטי השירות.
  4. לוחצים על הכרטיסייה פרויקטים מצורפים.
  5. בוחרים את פרויקט השירות שרוצים לנתק.
  6. לוחצים על הלחצן Detach Projects (ניתוק פרויקטים).
  7. בודקים את המידע בתיבת הדו-שיח.
  8. לוחצים על ניתוק.

gcloud

  1. אם עדיין לא עשיתם זאת, עליכם לבצע אימות ב-gcloud כאדמין של VPC משותף. מחליפים את SHARED_VPC_ADMIN בשם האדמין של ה-VPC המשותף:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. מנתקים את פרויקט השירות מהפרויקט המארח. מחליפים את SERVICE_PROJECT_ID במזהה הפרויקט של פרויקט השירות ואת HOST_PROJECT_ID במזהה הפרויקט של הפרויקט המארח.

    gcloud compute shared-vpc associated-projects remove SERVICE_PROJECT_ID
        --host-project HOST_PROJECT_ID
    
  3. כדי לוודא שפרויקט השירות נותק, משתמשים באחת מהפקודות הבאות:

    gcloud compute shared-vpc get-host-project SERVICE_PROJECT_ID
    
    gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
    
  4. אם רק הייתם צריכים לנתק פרויקטים של שירותים, מומלץ להתנתק מ-gcloud כדי להגן על פרטי הכניסה של חשבון האדמין של ה-VPC המשותף. אחרת, מדלגים על השלב הזה וממשיכים אל השבתת פרויקט המארח.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. מנתקים את פרויקט השירות.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnResource
    {
      "xpnResource": {
        "id": "SERVICE_PROJECT_ID"
      }
    }
    

    מחליפים את ה-placeholders בערכים תקינים:

    • HOST_PROJECT_ID הוא המזהה של פרויקט המארח.
    • SERVICE_PROJECT_ID הוא מזהה פרויקט השירות שרוצים לנתק.

    מידע נוסף זמין במאמר בנושא השיטה projects.disableXpnResource.

  2. מוודאים שפרויקט השירות בוטל.

    • בודקים שפרויקט השירות לא מצורף לפרויקט מארח כלשהו.

      GET https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/getXpnHost
      

      מחליפים את SERVICE_PROJECT_ID במזהה של פרויקט השירות.

      מידע נוסף זמין במאמר בנושא השיטה projects.getXpnHost.

    • מציגים את רשימת הפרויקטים של השירות שמצורפים לפרויקט המארח של ה-VPC המשותף כדי לוודא שהפרויקט לא מופיע יותר ברשימה.

      GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/getXpnResources
      

      מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.

      מידע נוסף זמין במאמר בנושא השיטה projects.getXpnResources.

השבתה של פרויקט המארח

אפשר להשבית את ה-VPC המשותף בפרויקט המארח רק אחרי שמנתקים את כל פרויקטי השירות. כשההגדרה מושבתת, מנעול למניעת מחיקה שמונע את המחיקה הקלה של החשבון מוסר אוטומטית.

המסוף

כדי לראות את הדף 'VPC משותף' במסוף, צריך להיות לכם תפקיד אדמין של VPC משותף. Google Cloud

  1. נכנסים לדף VPC משותף במסוף Google Cloud .
    מעבר אל VPC משותף
  2. נכנסים כאדמין של VPC משותף.
  3. בוחרים את פרויקט המארח שרוצים להשבית.
  4. לוחצים על הלחצן השבתת VPC משותף.
  5. קוראים בעיון את התיאור בתיבת הדו-שיח.
  6. מזינים את מזהה הפרויקט המארח בשדה מזהה הפרויקט המארח.
  7. לוחצים על השבתה.

gcloud

  1. אם עדיין לא עשיתם זאת, עליכם לבצע אימות ב-gcloud כאדמין של VPC משותף. מחליפים את SHARED_VPC_ADMIN בשם האדמין של ה-VPC המשותף:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. משביתים את ה-VPC המשותף בפרויקט המארח. מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.

    gcloud compute shared-vpc disable HOST_PROJECT_ID
    
  3. מוודאים שהפרויקט כבר לא מופיע כפרויקט מארח בארגון. מחליפים את ORG_ID במזהה הארגון (שנקבע על ידי gcloud organizations list).

    gcloud compute shared-vpc organizations list-host-projects ORG_ID
    
  4. אם רק הייתם צריכים להשבית פרויקט מארח, מומלץ להתנתק מ-gcloud כדי להגן על פרטי הכניסה של חשבון האדמין של ה-VPC המשותף. אם לא, מדלגים על השלב הזה וממשיכים אל מחיקת פרויקטים.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. משביתים את ה-VPC המשותף בפרויקט.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnHost
    

    מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.

    מידע נוסף זמין במאמר בנושא השיטה projects.disableXpnHost.

  2. מציגים את רשימת הפרויקטים המארחים כדי לוודא שהפרויקט לא מופיע בה.

    POST https://compute.googleapis.com/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 המשותפת, האירועים הבאים מתרחשים:

  • כל רשתות ה-VPC המשותפות, רשתות המשנה, המסלולים, כללי חומת האש וכל משאבי הרשת בפרויקט המארח נמחקים.
  • המשאבים, כמו מופעים פעילים בפרויקטים של השירות שמצורפים לפרויקט המארח, מופסקים.
  • מאזני עומסים פנימיים מסוג TCP/UDP מושבתים אם כללי ההעברה שלהם תלויים ברשת ה-VPC המשותפת.

gcloud

  1. עוברים אימות ב-gcloud בתור חשבון משתמש ב-IAM שיכול להסיר מנעול למניעת מחיקה של פרויקט. אם יש לכם מדיניות ארגונית שמגבילה את החשבונות שיכולים להסיר שיעבודים, אתם צריכים לעבור אימות כחשבון משתמש ב-IAM עם התפקיד resourcemanager.lienModifier בארגון. אם אין לכם מדיניות כזו, בעלי פרויקט המארח יכולים להסיר את המנעול למניעת מחיקה.

    מחליפים את ACCOUNT בשם של הגורם המתאים ב-IAM:

    gcloud auth login ACCOUNT
    
  2. רשימת השעבודים שמשויכים לפרויקט המארח. מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.

    gcloud alpha resource-manager liens list \
    --project HOST_PROJECT_ID
    
  3. מסירים כל מנעול למניעת מחיקה לפי שם, אחד בכל פעם, עד שלא נשארים יותר מנעולים למניעת מחיקה. מחליפים את LIEN_NAME בשם של המנעול למניעת מחיקה שרוצים להסיר.

    gcloud alpha resource-manager liens delete LIEN_NAME \
    --project HOST_PROJECT_ID
    
  4. מוודאים שכל השעבודים הוסרו.

    gcloud alpha resource-manager liens list \
    --project HOST_PROJECT_ID
    
  5. אחרי שמסירים את המנעול למניעת מחיקה, אפשר להתנתק מ-gcloud כדי להגן על פרטי הכניסה של הישות המורשית ב-IAM שיש לה הרשאה להסיר מנעולים למניעת מחיקה.

    gcloud auth revoke ACCOUNT
    
  6. עכשיו אפשר להשבית את פרויקט המארח.

API

  1. מציגים את השעבודים שמשויכים לפרויקט המארח.

    GET https://cloudresourcemanager.googleapis.com/v1/liens?parent=projects:HOST_PROJECT_ID
    

    מחליפים את HOST_PROJECT_ID במזהה של פרויקט המארח.

    מידע נוסף זמין במאמר בנושא השיטה liens.list.

  2. מסירים כל שיעבוד לפי שם עד שלא נשארים שיעבודים.

    DELETE https://cloudresourcemanager.googleapis.com/v1/liens/LIEN_NAME
    

    מחליפים את LIEN_NAME בשם של המנעול למניעת מחיקה שרוצים למחוק.

    מידע נוסף זמין במאמר בנושא השיטה liens.delete.

  3. מציגים שוב את השעבודים כדי לוודא שהם הוסרו.

המאמרים הבאים