הגדרת פרויקט מארח (מאמר שמתייחס לגרסה קודמת)

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

פרויקט המארח הוא מודל הגדרת אפליקציה מדור קודם שנתמך עבור משתמשים קיימים ב-מרכז האפליקציות. מומלץ להגדיר גבולות ברמת התיקייה על ידי הגדרת תיקייה לניהול אפליקציות להטמעות חדשות. הגבולות ברמת התיקייה מספקים גישה לכל התכונות של Google Cloud שמתמקדות באפליקציות, כמו Application Design Center ו-Gemini Cloud Assist. במאמר בחירת מודל להגדרת האפליקציה מופיעה השוואה בין ההבדלים העיקריים בין המודלים הזמינים לניהול אפליקציות.

סקירה כללית על פרויקטים מארחים ופרויקטים של שירות

פרויקט מארח הוא פרויקט Google Cloudשמצרפים אליו פרויקטים אחרים שמכילים את השירותים ועומסי העבודה שרוצים לקבץ כאפליקציות ב-מרכז האפליקציות. הפרויקטים שמצורפים לפרויקט המארח נקראים פרויקטי שירות. הצירוף של פרויקט המארח ופרויקטי השירות מגדיר גבול של כמה פרויקטים.

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

לפני שמתחילים

לפני שמגדירים Google Cloud פרויקט כפרויקט מארח ומצרפים אליו פרויקטי שירות, צריך לבצע את השלבים הבאים:

  1. מזהים את Google Cloud הפרויקט שרוצים להשתמש בו כפרויקט המארח. אפשר להשתמש בפרויקט קיים או ליצור פרויקט חדש.
  2. מזהים את Google Cloud הפרויקטים שרוצים לצרף לפרויקט המארח כפרויקטים של שירות. צריך לזהות את כל הפרויקטים שמכילים את השירותים ועומסי העבודה שרוצים לרשום באפליקציות של מרכז האפליקציות. משאבים בפרויקטים אחרים לא יהיו גלויים ב-מרכז האפליקציות. יש דרישות מסוימות לפרויקטים של שירותים:

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

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות לצירוף פרויקטים של שירותים לפרויקט המארח, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ App Hub Admin (roles/apphub.admin) בפרויקט המארח ובכל פרויקט שירות שרוצים לצרף. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

הגדרת פרויקט המארח

כדי להגדיר Google Cloud פרויקט כפרויקט מארח, פועלים לפי השלבים הבאים:

המסוף

  1. במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את הפרויקט.

  2. כדי לעבור לדף סקירה כללית ממרכז האפליקציות:

    לסקירה הכללית

  3. לוחצים על הגדרת מרכז האפליקציות.

  4. בדף Enable App Hub (הפעלת מרכז האפליקציות), בוחרים באפשרות Full setup (הגדרה מלאה) כדי ליצור גבול בין פרויקטים מרובים.

  5. רושמים את שם הפרויקט ואת המזהה שלו. המידע הזה מזהה את פרויקט המארח, ותשתמשו בערכים האלה כדי להעניק גישה.

  6. בודקים את רשימת ממשקי ה-API שמופעלים. חלק מממשקי ה-API כרוכים בעלויות. מידע נוסף על העלויות של ממשקי API אפשר גם ללחוץ על כל ממשק API כדי לראות את העלויות שמשויכות אליו.

  7. לוחצים על Continue.

  8. בכרטיסייה הגדרת גבול, מאמתים את פרטי הפרויקט.

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

  10. לוחצים על Continue.

  11. בכרטיסייה Grant access (הענקת גישה), בוחרים את תפקידי ה-IAM וההרשאות המתאימים לאדמינים בפרויקט. רשימה של תפקידים מומלצים שמתמקדים באפליקציות במוצריGoogle Cloud זמינה במאמר הענקת תפקידים שמתמקדים באפליקציות למשתמשים.

  12. בתיבה New principals, מזינים את המשתמשים, הקבוצות או חשבונות השירות שצריכה להיות להם גישת אדמין למשימות שמתמקדות באפליקציה בפרויקט.

  13. לוחצים על הענקת תפקידים ואז על סיום.

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

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. מוודאים שמותקנת הגרסה העדכנית ביותר של Google Cloud CLI:

    gcloud components update
    
  3. מאתרים את מזהה הפרויקט של Google Cloud הפרויקט שרוצים להגדיר כפרויקט המארח.

  4. מגדירים את פרויקט המארח כפרויקט ברירת המחדל לפקודות:

    gcloud config set project HOST_PROJECT_ID
    

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

  5. מפעילים את App Hub API בפרויקט המארח:

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    

הוספה של פרויקטים של שירות

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

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

המסוף

  1. במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את פרויקט המארח.

    מעבר לדף Welcome

  2. עוברים אל הדף הגדרות הגבולות ממרכז האפליקציות:

    מעבר להגדרות הגבולות

  3. לוחצים על הוספת פרויקט.

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

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

    בטבלה Projects in your boundary מוצגים פרויקטים של שירותים שנבחרו. תהליך הוספת הקובץ עשוי להימשך זמן מה.

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

gcloud

  1. מאתרים את מזהה הפרויקט של כל אחד מ Google Cloud הפרויקטים שרוצים להגדיר כפרויקטים של שירותים.
  2. מצרפים כל פרויקט שירות:

    gcloud apphub service-projects add SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    מחליפים את מה שכתוב בשדות הבאים:

    • SERVICE_PROJECT_ID: המזהה של פרויקט השירות לצירוף.
    • HOST_PROJECT_ID: המזהה של פרויקט המארח.
  3. חוזרים על התהליך הקודם לכל פרויקט שירות שרוצים לצרף לפרויקט המארח.

Terraform

כדי לצרף פרויקט שירות לפרויקט מארח באמצעות Terraform, משתמשים במשאב google_apphub_service_project_attachment, לדוגמה:

resource "google_apphub_service_project_attachment" "example" {
    service_project_attachment_id = google_project.service_project.project_id
    depends_on = [time_sleep.wait_120s]
}

resource "google_project" "service_project" {
    project_id ="project-1"
    name = "Service Project"
    org_id = "123456789"
    deletion_policy = "DELETE"
}

resource "time_sleep" "wait_120s" {
    depends_on = [google_project.service_project]

    create_duration = "120s"
}

כדי לנתק פרויקט שירות מפרויקט מארח, ראו הסרת פרויקטים של שירותים.

הקצאת תפקידים והרשאות במרכז האפליקציות

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

המסוף

  1. במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את פרויקט המארח.

    מעבר לדף Welcome

  2. עוברים לדף IAM:

    כניסה לדף IAM

  3. לוחצים על Grant access. נפתחת החלונית הענקת גישה.

  4. בשדה New principals, מזינים את כתובת האימייל של ישות מורשית שרוצים להעניק לה גישה אל מרכז האפליקציות.

  5. לוחצים על בחירת תפקיד ומזינים מרכז האפליקציות בשדה מסנן.

  6. בוחרים את תפקיד ה-IAM של מרכז האפליקציות שרוצים להקצות לחשבון הראשי ולוחצים על שמירה.

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

gcloud

  1. מאתרים את מזהה הפרויקט של כל אחד מ Google Cloud הפרויקטים שהגדרתם כפרויקטים מארחים וכפרויקטים של שירותים.

  2. הענקת גישה לחשבונות משתמשים בפרויקט המארח:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

    מחליפים את מה שכתוב בשדות הבאים:

    • HOST_PROJECT_ID: המזהה של פרויקט המארח.
    • EMAIL_ADDRESS: כתובת האימייל של החשבון הראשי שצריך לקבל גישה למרכז האפליקציות בפרויקט המארח. הערך צריך להיות בפורמט username@yourdomain, למשל my.user@example.com.
    • ROLE_NAME: תפקיד IAM במרכז האפליקציות שרוצים להקצות לישות המורשית, לדוגמה, roles/apphub.admin.
  3. בכל אחד מפרויקטי השירות של מרכז האפליקציות שצירפתם לפרויקט המארח, מקצים את אותם תפקידים לאותם משתמשים:

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

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

הגדרה של VPC Service Controls

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

אופציונלי: הגדרת היקף המדדים

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

הסרת פרויקטים של שירות

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

כדי לנתק פרויקט שירות מפרויקט מארח:

המסוף

  1. במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את פרויקט המארח.

    מעבר לדף Welcome

  2. עוברים אל הדף הגדרות הגבולות ממרכז האפליקציות:

    מעבר להגדרות הגבולות

  3. מסמנים את תיבות הסימון של פרויקטי השירות שרוצים לנתק מפרויקט המארח ולהסיר מהגבול.

  4. לוחצים על ניתוק פרויקטים.

    הטבלה Projects in your boundary מתרעננת ומוצגים בה רק הפרויקטים שעדיין מצורפים לפרויקט המארח.

  5. מוודאים שרשימת פרויקטי השירותים מעודכנת.

gcloud

  1. מאתרים את מזהה הפרויקט של כל אחד מהפרויקטים של השירות שרוצים להסיר מהפרויקט המארח.
  2. מסירים כל פרויקט שירות:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    מחליפים את מה שכתוב בשדות הבאים:

    • SERVICE_PROJECT_ID: המזהה של פרויקט השירות שרוצים להסיר.
    • HOST_PROJECT_ID: המזהה של פרויקט המארח.
  3. חוזרים על התהליך הקודם לכל פרויקט שירות שרוצים להסיר מפרויקט המארח.

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

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