במאמר הזה מוסבר איך להגדיר פרויקט מארח ב-App Hub וליצור גבול של כמה פרויקטים.
הפרויקט המארח הוא מודל להגדרת אפליקציות מדור קודם, שנתמך למשתמשים קיימים ב-App Hub. אנחנו ממליצים להגדיר גבולות ברמת התיקייה על ידי הגדרת תיקייה לניהול אפליקציות בהטמעות חדשות. גבולות ברמת התיקייה מספקים גישה לכל התכונות של Google Cloud שמתמקדות באפליקציות, כמו Application Design Center ו-Gemini Cloud Assist. במאמר בחירת מודל להגדרת האפליקציה יש השוואה של ההבדלים העיקריים בין המודלים הזמינים לניהול אפליקציות.
סקירה כללית על פרויקטים של מארחים ופרויקטים של שירותים
פרויקט מארח הוא פרויקט ב- Google Cloudשאליו מצרפים פרויקטים אחרים שמכילים את השירותים ועומסי העבודה שרוצים לקבץ כאפליקציות ב-App Hub. הפרויקטים שמצורפים לפרויקט המארח נקראים פרויקטי שירות. הצירוף של הפרויקט המארח ופרויקטי השירות מגדיר גבול של כמה פרויקטים.
פרויקט מארח יכול לנהל את המשאבים שלו ישירות על ידי צירוף עצמי. עם זאת, אם אתם מגדירים פרויקט יחיד, מומלץ להשתמש בגישה של פרויקט יחיד.
לפני שמתחילים
לפני שמגדירים Google Cloud פרויקט כפרויקט מארח ומצרפים אליו פרויקטי שירות, צריך לבצע את השלבים הבאים:
- מזהים את Google Cloud הפרויקט שרוצים להשתמש בו כפרויקט המארח. אפשר להשתמש בפרויקט קיים או ליצור פרויקט חדש.
מזהים את Google Cloud הפרויקטים שרוצים לצרף לפרויקט המארח כפרויקטי שירות. אתם צריכים לזהות את כל הפרויקטים שמכילים את השירותים ועומסי העבודה שאתם מתכוונים לרשום לאפליקציות של App Hub. משאבים בפרויקטים אחרים לא יהיו גלויים ל-App Hub. אלה הדרישות לפרויקטים של שירות:
- פרויקטי השירות צריכים להיות באותו ארגון כמו הפרויקט המארח.
- אפשר לצרף פרויקט שירות רק לפרויקט מארח אחד בכל פעם.
- פרויקט מארח יכול לשמש כפרויקט שירות עבור עצמו כדי לנהל את המשאבים שלו, אבל אי אפשר לצרף אותו כפרויקט שירות לפרויקט מארח אחר.
- בוחרים פרויקט מארח ופרויקטים של שירותים שלא נמצאים בצאצאים של תיקיות שהגדרתם לניהול אפליקציות. ההפרדה הזו מבטיחה שכל המשאבים בתיקייה ינוהלו באמצעות אותו סוג של מודל הגדרה.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לצירוף פרויקטים של שירות לפרויקט המארח, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של App Hub (roles/apphub.admin) בפרויקט המארח ובכל פרויקט שירות שרוצים לצרף.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הגדרת פרויקט המארח
כדי להגדיר פרויקט ב- Google Cloud כפרויקט מארח, מבצעים את השלבים הבאים:
המסוף
במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את הפרויקט.
עוברים לדף סקירה כללית ממרכז האפליקציות:
לוחצים על הגדרת מרכז האפליקציות.
בדף Enable App Hub (הפעלת מרכז האפליקציות), בוחרים באפשרות Full setup (הגדרה מלאה) כדי ליצור גבול בין כמה פרויקטים.
רושמים את שם הפרויקט ואת המזהה שלו. המידע הזה מזהה את פרויקט המארח, ותשתמשו בערכים האלה כדי להעניק גישה.
בודקים את רשימת ממשקי ה-API שמופעלים. חלק מממשקי ה-API כרוכים בעלויות. מידע נוסף על העלויות של ממשקי API או לחיצה על כל ממשק API כדי לראות את העלויות שמשויכות אליו.
לוחצים על Continue.
בכרטיסייה הגדרת גבול, בודקים את פרטי הפרויקט.
לוחצים על הוספת פרויקט כדי להוסיף פרויקטים של שירותי פרסום לגבול או להוסיף אותם מאוחר יותר.
לוחצים על Continue.
בכרטיסייה Grant access (הענקת גישה), בוחרים את תפקידי ה-IAM וההרשאות המתאימים לאדמינים בפרויקט. כאן תוכלו למצוא רשימה של תפקידים מומלצים שמתמקדים באפליקציות במוצריGoogle Cloud .
בתיבה New principals, מזינים את המשתמשים, הקבוצות או חשבונות השירות שצריכים לקבל גישת אדמין למשימות שמתמקדות באפליקציות בפרויקט.
לוחצים על הקצאת תפקידים ואז על סיום.
אחר כך תוכלו להקצות עוד תפקידים ב-IAM לחשבונות המשתמשים שלכם בדף IAM. מידע נוסף זמין במאמר הענקת תפקידים ב-IAM באמצעות מסוף Google Cloud .
gcloud
-
מפעילים את Cloud Shell במסוף Google Cloud .
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
מוודאים שמותקנת הגרסה העדכנית ביותר של Google Cloud CLI:
gcloud components updateמאתרים את מזהה הפרויקט של הפרויקט ב- Google Cloud שרוצים להגדיר כמארח.
מגדירים את הפרויקט המארח כפרויקט ברירת המחדל לפקודות:
gcloud config set project HOST_PROJECT_IDמחליפים את
HOST_PROJECT_IDבמזהה הפרויקט שרוצים להגדיר כמארח.מפעילים את App Hub API בפרויקט המארח:
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
הוספה של פרויקטים של שירות
כדי להוסיף פרויקטים של שירות לגבול ניהול האפליקציות, צריך לצרף אותם לפרויקט המארח.
כדי לצרף פרויקטים של שירותים לפרויקט המארח וליצור גבול בין כמה פרויקטים, פועלים לפי השלבים הבאים:
המסוף
במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את פרויקט המארח.
עוברים לדף הגדרות הגבולות ממרכז האפליקציות:
לוחצים על הוספת פרויקט.
בוחרים את פרויקטי השירות שרוצים לצרף לפרויקט המארח ולהוסיף לגבול באחת מהדרכים הבאות:
- ברשימת הפרויקטים, מסמנים את התיבות של הפרויקטים שרוצים לצרף כפרויקטים של שירות.
- מסננים את שמות הפרויקטים ומסמנים את התיבות שלהם.
לוחצים על בחירה.
בטבלה Projects in your boundary מוצגים פרויקטים של השירות שנבחר. יכול להיות שיעבור קצת זמן עד להשלמת הפעולה.
מוודאים שרשימת פרויקטי השירות מלאה.
gcloud
- מאתרים את מזהה הפרויקט של כל אחד מ- Google Cloud הפרויקטים שרוצים להגדיר כפרויקטים של שירות.
מצרפים כל פרויקט שירות:
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDמחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_PROJECT_ID: המזהה של פרויקט השירות שרוצים לצרף. -
HOST_PROJECT_ID: המזהה של פרויקט המארח.
-
חוזרים על התהליך הקודם לכל פרויקט שירות שרוצים לצרף לפרויקט המארח.
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"
}
כדי לנתק פרויקט שירות מפרויקט מארח, קראו את המאמר הסרת פרויקטים של שירות.
הקצאת תפקידים והרשאות ב-App Hub
כדי להעניק תפקידים והרשאות מתאימים ב-App Hub למשתמשי App Hub בפרויקט המארח ובפרויקטים של השירותים, פועלים לפי השלבים הבאים:
המסוף
במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את פרויקט המארח.
עוברים לדף IAM:
לוחצים על Grant access. החלונית Grant access נפתחת.
בשדה New principals, מזינים את כתובת האימייל של החשבון שרוצים לתת לו גישה ל-App Hub.
לוחצים על בחירת תפקיד ומזינים App Hub בשדה מסנן.
בוחרים את תפקיד ה-IAM של מרכז האפליקציות שרוצים להקצות לחשבון הראשי ולוחצים על שמירה.
בכל אחד מפרויקטי השירות של App Hub שצירפתם לפרויקט המארח, חוזרים על התהליך הקודם כדי להעניק את אותם תפקידים לאותם משתמשים.
gcloud
מאתרים את מזהה הפרויקט של כל אחד מ Google Cloud הפרויקטים שהגדרתם כפרויקטים מארחים וכפרויקטים של שירותים.
הענקת גישה לחשבונות משתמשים בפרויקט המארח:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'מחליפים את מה שכתוב בשדות הבאים:
-
HOST_PROJECT_ID: המזהה של הפרויקט המארח. -
EMAIL_ADDRESS: כתובת האימייל של החשבון הראשי שצריך לקבל גישה ל-App Hub בפרויקט המארח. הערך צריך להיות בפורמטusername@yourdomain, לדוגמה,my.user@example.com. -
ROLE_NAME: תפקיד IAM ב-App Hub שרוצים להקצות לחשבון המשתמש, לדוגמה,roles/apphub.admin.
-
בכל אחד מפרויקטי השירות של App Hub שצירפתם לפרויקט המארח, מקצים את אותם תפקידים לאותם משתמשים:
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'מחליפים את
SERVICE_PROJECT_IDבמזהה של פרויקט השירות שנותנים לו גישה.
הגדרת VPC Service Controls
כדי להגן על האפליקציות באמצעות service perimeter של VPC Service Controls, צריך להוסיף את פרויקט המארח ואת פרויקטים של השירותים ב-App Hub אל ה-perimeter לפני שיוצרים את האפליקציות. מידע נוסף זמין במאמר שימוש ב-VPC Service Controls עם App Hub.
אופציונלי: הגדרת היקף המדדים
כדי לראות ב-Cloud Monitoring את מדדי המערכת של האפליקציות בפרויקט המארח, צריך להוסיף את הפרויקטים המצורפים לשירות להיקף המדדים של הפרויקט המארח. פרויקט המארח משמש כפרויקט להגדרת היקף הנתונים מסוג סדרות עיתיות, ומאפשר ליצור תרשימים ולעקוב אחרי הנתונים. מידע נוסף והוראות להגדרה זמינים במאמרים הגדרת היקף המדדים בפרויקט והגדרת היקף המדדים בפרויקט באמצעות ה-API.
הסרת פרויקטים של שירות
כדי להסיר פרויקטים של שירות מגבולות ניהול האפליקציה, צריך לנתק אותם מהפרויקט המארח.
כדי לנתק פרויקט שירות מפרויקט מארח:
המסוף
במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את פרויקט המארח.
עוברים לדף הגדרות הגבולות ממרכז האפליקציות:
מסמנים את התיבות של פרויקטי השירות שרוצים לנתק מפרויקט המארח ולהסיר מהגבול.
לוחצים על ניתוק פרויקטים.
הטבלה Projects in your boundary מתרעננת ומוצגים בה רק הפרויקטים שעדיין מצורפים לפרויקט המארח.
מוודאים שרשימת הפרויקטים של השירותים מעודכנת.
gcloud
- מאתרים את מזהה הפרויקט של כל אחד מהפרויקטים של השירות שרוצים להסיר מהפרויקט המארח.
מסירים כל פרויקט שירות:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDמחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_PROJECT_ID: המזהה של פרויקט השירות שרוצים להסיר. -
HOST_PROJECT_ID: המזהה של פרויקט המארח.
-
חוזרים על התהליך הקודם לכל פרויקט שירות שרוצים להסיר מפרויקט המארח.
כשמסירים פרויקט שירות מפרויקט מארח, כדאי להסיר אותו גם מהיקף המדדים של הפרויקט המארח, אם הגדרתם בעבר את היקף המדדים. מידע נוסף זמין במאמר בנושא הסרת פרויקטים מהיקף המדדים.
המאמרים הבאים
- רישום משאבים קיימים לאפליקציה
- הגדרת מעקב אחרי אפליקציות
- תפקידים והרשאות של IAM ב-App Hub
- סקירה כללית של App Hub