שיוך יחידות לדיירים
במדריך הזה תלמדו איך לשנות את הצעת ה-SaaS שלכם כדי לשייך את יחידת המכונה הווירטואלית (VM) שנפרסה למשאב דייר, ולהקצות את המכונה הווירטואלית לפרויקט דייר ייעודי שנמצא בבעלות הדייר.
הגישה הזו משפרת את הבידוד של המשאבים, ומאפשרת לכם לנהל את המשאבים של כל דייר בנפרד ולספק אבטחה ותאימות טובות יותר לפתרון ה-SaaS שלכם.
נשתמש בתרחיש מהמדריך המהיר לפריסת מכונה וירטואלית באמצעות App Lifecycle Manager, ונשנה אותו כדי לשייך את יחידת המכונה הווירטואלית שנפרסה למשאב דייר ולספק את המכונה הווירטואלית לפרויקט ייעודי בבעלות הדייר:
- יוצרים משאב דייר ב-App Lifecycle Manager.
- משייכים מכונה וירטואלית למשאב הדייר.
- מגדירים את App Lifecycle Manager ואת הגדרת Terraform כדי לפרוס משאבים בפרויקט נפרד של דייר.
- לטפל בבעיות נפוצות שקשורות להרשאות ולהפעלת ה-API כשמבצעים פריסה בין פרויקטים.
בסוף המדריך למתחילים הזה, תיצרו את הבסיס למוצר SaaS עם כמה דיירים, שיאפשר לכם להגדיר תצורות ומדיניות ברמת הדייר על ידי יצירת דיירים ושיוך שלהם ליחידות.
לפני שמתחילים
לפני שיוצרים דיירים או משייכים אותם ליחידות, כדאי להכיר את היסודות של מערכת App Lifecycle Manager וליצור מוצר SaaS.
-
נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
פריסת מכונה וירטואלית באמצעות App Lifecycle Manager, כולל יצירת הגדרות Terraform, מאגר Artifact Registry, מוצר SaaS, סוג יחידה, יחידה ורכיבים (כולל
terraform-files.zip).- מוודאים שה-API שמופיעים בקטע לפני שמתחילים במדריך לתחילת העבודה מופעלים בפרויקט הבעלים של השירות המנוהל.
- מוודאים שיש לכם את חשבונות השירות ואת תפקידי ה-IAM הנדרשים שניתנו בפרויקט הבעלים של השירות.
זה כולל את חשבון השירות שנוצר על ידי המשתמש ואת ההרשאות שניתנו לחשבון
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.comבפרויקט של הספק.
צריך ליצור את פרויקט ההפקה ופרויקטים של דיירים לפני שיוצרים משאבים של דיירים ומשייכים אותם. מידע נוסף זמין במאמר הגדרת פרויקט דייר.
יצירה ושיוך של משאב דייר (tenant)
אפשר להשתמש בדיירים כדי לקבץ משאבים של יחידות. יוצרים משאב tenant בהצעת ה-SaaS של פרויקט היצרן כדי לייצג את הלקוח:
במסוף Google Cloud , עוברים אל App Lifecycle Manager (ניהול מחזור החיים של האפליקציה) > Tenants (דיירים).
לוחצים על יצירה.
בדף Create tenant, מזינים
vm-quickstart-tenantבתיבה Tenant name.בתיבה SaaS offering (מוצר SaaS), בוחרים באפשרות
vm-quickstart-saas-offering.בתפריט הנפתח אזור, בוחרים באפשרות
us-central1.לוחצים על הוספת יחידה. מופיע הקטע יחידה חדשה.
בתפריט הנפתח יחידה, בוחרים את היחידה
projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unit.לוחצים על Done כדי לשייך את מקור המידע
vm-quickstart-unitלמקור המידעvm-quickstart-tenant.לוחצים על יצירה כדי ליצור את משאב הדייר. יצרת בהצלחה את המשאב
vm-quickstart-tenantושייכת אותו למשאבvm-quickstart-unit. הקישור הזה משמש בעיקר כתג ארגוני בGoogle Cloud מסוף, ועוזר לכם לזהות אילו יחידות שייכות לאיזה דייר.
יצירת גרסה לדייר
במסוף Google Cloud , עוברים אל App Lifecycle Manager (הכלי לניהול מחזור החיים של אפליקציות) > Releases (גרסאות).
בדף פריטי תוכן, לוחצים על יצירה.
בדף Create Release (יצירת גרסה), מזינים
vm-quickstart-tenant-releaseבתיבה Release name (שם הגרסה).בתיבה סוג היחידה, בוחרים באפשרות
vm-quickstart-unit-kind. לוחצים על הבא.בשלב Select Blueprint (בחירת תוכנית), לוחצים על המתג Select an existing image from Artifact Registry (בחירת תמונה קיימת מ-Artifact Registry).
בשלב Store Blueprint (תוכנית החנות), לוחצים על Browse (עיון) ובוחרים את הארטיפקט שמשויך ל-
vm-quickstart-tenant-blueprint. לוחצים על Next.לוחצים על יצירה. יצרתם בהצלחה את המשאב
vm-quickstart-tenant-release.
יצירה של פרויקט דייר (tenant) ופריסת יחידה
במאמר הפעלה מהירה של פריסת מכונה וירטואלית באמצעות App Lifecycle Manager, אתם מקצים משאבים של App Lifecycle Manager לאותו פרויקט שמכיל את הגדרת מוצר ה-SaaS שלכם.
במדריך למתחילים הזה, אתם מכוונים את הקצאת המשאבים אל פרויקט הדייר ולא אל פרויקט היצרן.
במהלך הקצאת היחידה תצטרכו להעביר משתנים ששונו tenant_project_id ו-tenant_project_number.
יוצרים פרויקט דייר (tenant) שבו יופרסו קובצי
terraform-vm.zip:gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"מפעילים ממשקי API ומקצים תפקידי IAM בפרויקט הדייר. כדי לפרוס יחידות בפרויקט הדייר, צריך להפעיל את Compute Engine API ולהקצות תפקידי IAM בפרויקט הדייר.
הפעלת ממשקי API בפרויקט דייר (tenant)
מפעילים את Compute Engine API בפרויקט הדייר באמצעות Google Cloud המסוף:
עוברים לדף לבחירת הפרויקט.
לוחצים על Select a project (בחירת פרויקט).
בוחרים באפשרות
quickstart-tenant-project.מפעילים את Compute Engine API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםצריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: roles/compute.admin
בדיקת התפקידים
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
-
בעמודה Principal (חשבון המשתמש), מוצאים את כל השורות שבהן מופיע השם שלכם או של קבוצה שאתם נכללים בה. כדי לברר באילו קבוצות אתם נכללים, פנו לאדמין.
- בודקים את העמודה Role בכל השורות שבהן מצוין או מופיע השם שלכם, כדי לראות אם רשימת התפקידים כוללת את התפקידים הנדרשים.
מתן התפקידים
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
- לוחצים על Grant access.
-
בשדה New principals, מזינים את מזהה המשתמש. בדרך כלל מזהה המשתמש הוא כתובת האימייל של חשבון Google.
- לוחצים על Select a role ומחפשים את התפקיד.
- כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים אותם.
- לוחצים על Save.
-
הקצאת יחידה עם משתני פרויקט דייר (tenant)
מהפרויקט של היצרן, מקצים יחידה חדשה עם משתני הקלט של הפרויקט של הדייר:
עוברים לדף לבחירת הפרויקט.
לוחצים על Select a project (בחירת פרויקט).
בוחרים את פרויקט ההפקה.
במסוף Google Cloud , נכנסים אל App Lifecycle Manager > Units.
בוחרים משאב
vm-quickstart-unit.לוחצים על הקצאת הרשאות.
בוחרים את המשאב
vm-quickstart-tenant-release.בוחרים את חשבון השירות של הפעלת המערכת שנתתם לו הרשאות בפרויקט הדייר.
בקטע משתני קלט:
- המשתנה
tenant_project_idמופיע כמו שהגדרתם אותו ב-variables.tf. - בתיבה Tenant Project ID (מזהה פרויקט הדייר), מזינים
quickstart-tenant-project.
- המשתנה
לוחצים על הקצאת הרשאות.
App Lifecycle Manager מפעיל את Infrastructure Manager באמצעות חשבון השירות שצוין להפעלת התהליך. Infrastructure Manager קורא את המשתנה tenant_project_id ויוצר את המכונה הווירטואלית בתוך פרויקט הדייר הזה.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
Google Cloud- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- בתיבת ההנחיה, מקלידים את מזהה הפרויקט ולוחצים על Shut down.
המאמרים הבאים
- איך מגדירים פרויקטים ומשאבים של דיירים
- שימוש במשתנים ובמיפוי משתנים לתזמור מתוחכם של שירותי SaaS (כולל הקצאת משאבים אוטומטית).