רישום של משאבי Google Cloud קיימים כשירותים ועומסי עבודה באפליקציית App Hub מאפשר לכם לפשט את הניהול על ידי ארגון המשאבים על סמך המטרה העסקית שלהם. הגישה הזו מספקת שקיפות, ניטור, ניהול ושליטה תפעולית מאוחדים.
במדריך הזה מוסבר איך לקבץ משאבים קיימים Google Cloud שעדיין לא הוגדרו באופן רשמי כאפליקציה.
לפני שמתחילים
כדי לארגן משאבים באפליקציות, צריך קודם להשלים את ההגדרה הראשונית של ניהול האפליקציות. בדרך כלל התהליך הזה כולל את התפקידים והשלבים הבאים:
לאדמינים:
- בוחרים את מודל הגדרת האפליקציה. צריך להגדיר פרויקט ניהול ולהגדיר גבול לניהול אפליקציות שכולל את המשאבים שרוצים לארגן ב- Google Cloud .
- מפעילים את ממשקי ה-API הנדרשים לכל המשאבים שרוצים להשתמש בהם ב- Google Cloud .
- הענקת גישה למשתמשים. מקצים תפקידים מתאימים ב-IAM על סמך תחומי האחריות של המשתמש במחזור החיים של האפליקציה.
למפתחים ולמפעילים:
- מוודאים עם האדמין שההגדרה הראשונית הושלמה.
- מוודאים שיש לכם את תפקידי ה-IAM הנדרשים למשימות שאתם רוצים לבצע.
- פותחים את פרויקט הניהול במסוף Google Cloud או מחפשים את מזהה הפרויקט של פרויקט הניהול כדי להשתמש בו ב-Terraform או ב-Google Cloud CLI.
יצירת אפליקציה
יוצרים אפליקציה ב-App Hub שתשמש כמאגר לוגי למשאבי Google Cloud הקיימים:
המסוף
במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את פרויקט הניהול.
עוברים לדף אפליקציות ממרכז האפליקציות:
לוחצים על Create application (יצירת אפליקציה).
בכרטיסייה פרטי האפליקציה, בוחרים את המיקום הטוב ביותר לאפליקציה בהתאם לדרישות שלכם לגבי התפלגות גיאוגרפית:
- בוחרים באפשרות Global (גלובלי) כדי ליצור אפליקציה גלובלית.
- כדי ליצור אפליקציה אזורית, בוחרים באפשרות אזורית. לאחר מכן, בוחרים את האזור הספציפי של האפליקציה על סמך האזורים שנתמכים ב-App Hub.
מידע נוסף על המיקום הכי טוב לאפליקציה שלכם זמין במאמר אפליקציות גלובליות ואזוריות.
מזינים שם לאפליקציה.
השם הזה הוא מזהה ייחודי שיכול להכיל רק אותיות קטנות, מספרים או מקפים. אי אפשר לשנות את השם הזה אחרי שיוצרים את האפליקציה.
אפשר גם להוסיף שם מוצג ותיאור לאפליקציה.
אלה לא מזהים ייחודיים, ואפשר לשנות אותם אחרי שיוצרים את האפליקציה.
לוחצים על Continue.
בכרטיסייה Application resources, מעיינים במשאבי התשתית ומסמנים את התיבות של המשאבים שרוצים לרשום כשירותים ועומסי עבודה של האפליקציה.
אפשר לבחור עד 10 משאבים בכל פעם.
לוחצים על Continue.
בכרטיסייה מאפיינים ובעלים אפשר להוסיף מאפיינים לאפליקציה, כמו רמת קריטיות, סביבה ובעלי האפליקציה.
אתם יכולים להשתמש באותם מאפיינים ובעלים עבור המשאבים שאתם רושמים באפליקציה, או להגדיר אותם מאוחר יותר.
לוחצים על יצירה.
אחרי שיוצרים את האפליקציה, הפרטים שלה מוצגים בדף Applications, כולל המשאבים שרשמתם כשירותים ועומסי עבודה. אחרי שיוצרים את האפליקציה, אפשר לרשום לה עוד שירותים ועומסי עבודה.
gcloud
משתמשים ב-Google Cloud CLI כדי ליצור אפליקציה מהטרמינל או מ-Cloud Shell:
gcloud apphub applications create APPLICATION_NAME \ --project=PROJECT_ID \ --scope-type=LOCATION \ --location=REGION \ --display-name=DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILמחליפים את
APPLICATION_NAMEבשם האפליקציה. השם הזה הוא מזהה ייחודי שיכול להכיל רק אותיות קטנות, מספרים או מקפים.אפשר להשתמש בדגלים אופציונליים כמו
--criticality-typeכדי להגדיר את המאפיינים ברמה העליונה של האפליקציה, ולתמוך בגילוי ובניהול.לגבי דגלי חובה ואופציונליים, מחליפים את הערכים הבאים:
- חובה:
PROJECT_ID: מזהה פרויקט הניהול. חובה:
LOCATION: המיקום של האפליקציה בהתאם לדרישות שלכם לגבי התפלגות גיאוגרפית. משתמשים באחד מהערכים הבאים:-
REGIONALלאפליקציות אזוריות. GLOBALלאפליקציות גלובליות.
מידע נוסף על המיקום הכי טוב לאפליקציה שלכם זמין במאמר אפליקציות גלובליות ואזוריות.
-
חובה:
REGION: האזור הספציפי שבו האפליקציה שלך זמינה. אפשר להשתמש באחד מהערכים הבאים:- אם המיקום של האפליקציה
--scope-typeמוגדר כ-REGIONAL, צריך לציין שם אזור שנתמך ב-App Hub. - אם המיקום
--scope-typeשל האפליקציה מוגדר לGLOBAL, צריך להשתמש בglobal.
- אם המיקום של האפליקציה
אופציונלי:
DISPLAY_NAME: השם המוצג של האפליקציה. השם המוצג הוא לא מזהה ייחודי, ואפשר לשנות אותו אחרי שיוצרים את האפליקציה.אופציונלי:
CRITICALITY: רמת החשיבות של האפליקציה לפעולות שלכם. אפשר להשתמש באחד מהערכים הבאים:MISSION_CRITICALHIGHMEDIUMLOW
אופציונלי:
ENVIRONMENT: השלב במחזור החיים של התוכנה. אפשר להשתמש באחד מהערכים הבאים:PRODUCTIONSTAGINGDEVELOPMENTTEST
אופציונלי:
DEV_NAMEו-DEV_EMAIL: השם המוצג וכתובת האימייל של בעל האפליקציה, בהתאמה.אופציונלי:
OPERATOR_NAMEו-OPERATOR_EMAIL: השם המוצג וכתובת האימייל של בעל ההפעלה, בהתאמה.אופציונלי:
BUSINESS_NAMEו-BUSINESS_EMAIL: שם העסק לתצוגה וכתובת האימייל של בעל העסק, בהתאמה.
- חובה:
מציגים ברשימה את האפליקציות בפרויקט:
gcloud apphub applications list \ --project=PROJECT_ID \ --location=REGIONצריך לקבל פלט שדומה לזה:
ID DISPLAY_NAME CREATE_TIME APPLICATION_NAME DISPLAY_NAME 2023-10-31T18:33:48
Terraform
כדי ליצור אפליקציה באמצעות Terraform, משתמשים במשאב google_apphub_application.
המשאב הזה מאפשר להגדיר את המאפיינים של האפליקציה, כולל השם, המיקום והמאפיינים שלה.
בדוגמה הבאה נוצרת אפליקציה אזורית ב-us-central1 עם מאפייני קריטיות, סביבה ובעלים מוגדרים:
resource "google_apphub_application" "example" {
project = "my-project-id"
location = "us-central1"
application_id = "my-application"
display_name = "My Application"
description = "This application represents our platform."
scope {
type = "REGIONAL"
}
attributes {
criticality {
type = "MISSION_CRITICAL"
}
environment {
type = "PRODUCTION"
}
business_owners {
display_name = "Alice"
email = "alice@example.com"
}
developer_owners {
display_name = "Bob"
email = "bob@example.com"
}
operator_owners {
display_name = "Charlie"
email = "charlie@example.com"
}
}
}
רישום שירותים ועומסי עבודה
ב-App Hub אפשר לבחור משאבים נתמכים שנמצאים בתוך הגבול של ניהול האפליקציות, כדי לרשום אותם כשירותים ועומסי עבודה. אחרי יצירת אפליקציה, אפשר לרשום בה משאבים Google Cloudכשירותים ועומסי עבודה.
אפשר לרשום שירותים בלעדיים רק לאפליקציה אחת. עם זאת, אפשר לרשום שירותים משותפים ליותר מאפליקציה אחת. מרכז האפליקציות יזהה שירותים משותפים כשאתם רושמים אותם לאפליקציה, גם אם הם כבר רשומים לאפליקציה אחרת, אבל יכול להיות שלא תוכלו לשנות את המאפיינים שלהם.
המסוף
אחרי שיוצרים אפליקציה, אפשר לרשום בה כמה משאבים:
במסוף Google Cloud , משתמשים בכלי לבחירת פרויקטים כדי לבחור את פרויקט הניהול.
עוברים לדף אפליקציות ממרכז האפליקציות:
לוחצים על שם האפליקציה שרוצים לרשום עבורה משאבים.Google Cloud
בדף האפליקציה, בוחרים בכרטיסייה שירותים ועומסי עבודה.
לוחצים על הרשמה של שירותים או עומסי עבודה.
בכרטיסייה Services and workloads, מעיינים במשאבי התשתית ומסמנים את תיבות הסימון של המשאבים שרוצים לרשום כשירותים או כעומסי עבודה של האפליקציה.
אפשר לבחור עד 10 משאבים בכל פעם.
לוחצים על Continue.
בכרטיסייה מאפיינים ובעלים אפשר להוסיף מאפיינים למשאבים האלה, כמו רמת קריטיות, סביבה ובעלי משאבים.
אתם יכולים להשתמש באותם מאפיינים ובעלים מהאפליקציה או להגדיר מאפיינים שונים בשלב מאוחר יותר.
לוחצים על הרשמה.
בכרטיסייה Services and workloads מוצגים כל השירותים ועומסי העבודה הרשומים של האפליקציה.
gcloud
ב-App Hub אפשר לבחור משאבים נתמכים שנמצאים בתוך הגבול של ניהול האפליקציות כשירותים או כעומסי עבודה. משתמשים ב-Google Cloud CLI כדי להציג רשימה של שירותים או עומסי עבודה שאפשר לרשום באפליקציה מהטרמינל או מ-Cloud Shell. הפקודות שונות מעט בשירותים ובעומסי עבודה:
רישום שירותים
רשימת השירותים הזמינים שאפשר לרשום לאפליקציה:
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONלגבי דגלי חובה ואופציונליים, מחליפים את הערכים הבאים:
- חובה:
PROJECT_ID: מזהה פרויקט הניהול. חובה:
REGION: האזור הספציפי של השירות שלכם בהתאם לפיזור הגיאוגרפי. אפשר להשתמש באחד מהערכים הבאים:- אם השירות הוא אזורי, מציינים את שם האזור שנתמך ב-App Hub.
- אם השירות הוא גלובלי, משתמשים ב-
global.
אופציונלי:
FILTER_EXPRESSION: ביטוי הסינון של הדגל--filterכדי להציג רק שירותים מפרויקט ספציפי בתוך תחום ניהול האפליקציות או עם מאפיין ספציפי, לדוגמה:service_properties.gcp_project=projects/PROJECT_IDservice_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"
הפלט אמור להיראות כך:
ID SERVICE_REFERENCE SERVICE_PROPERTIES SERVICE_ID {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}- חובה:
מעתיקים את מזהה השירות,
SERVICE_ID, מהפלט.רושמים את השירות באפליקציה:
gcloud apphub applications services create SERVICE_NAME \ --project=PROJECT_ID \ --location=REGION \ --application=APPLICATION_NAME \ --discovered-service=projects/PROJECT_ID/locations/REGION/discoveredServices/SERVICE_ID \ --display-name=SERVICE_DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILמחליפים את
SERVICE_NAMEבשם שרוצים להשתמש בו כדי לרשום את השירות באפליקציה.משתמשים בדגלים אופציונליים כמו
--criticality-typeכדי להגדיר את המאפיינים ברמה העליונה של השירות, ולתמוך בגילוי ובניהול.לגבי דגלי חובה ואופציונליים, מחליפים את הערכים הבאים:
- חובה:
PROJECT_ID: מזהה פרויקט הניהול. חובה:
REGION: האזור הספציפי של השירות שלכם בהתאם לפיזור הגיאוגרפי. אפשר להשתמש באחד מהערכים הבאים:- אם השירות הוא אזורי, מציינים את שם האזור שנתמך ב-App Hub.
- אם השירות הוא גלובלי, משתמשים ב-
global.
חובה:
APPLICATION_NAME: שם האפליקציה שרוצים לרשום את השירות עבורה.חובה:
SERVICE_ID: מזהה השירות שהעתקתם מהפלט הקודם.אופציונלי:
SERVICE_DISPLAY_NAME: השם המוצג של השירות.אופציונלי:
CRITICALITY: רמת החשיבות של השירות לפעולות שלכם. משתמשים באחד מהערכים הבאים:MISSION_CRITICALHIGHMEDIUMLOW
אופציונלי:
ENVIRONMENT: השלב במחזור החיים של התוכנה. אפשר להשתמש באחד מהערכים הבאים:PRODUCTIONSTAGINGDEVELOPMENTTEST
אופציונלי:
DEV_NAMEו-DEV_EMAIL: השם המוצג וכתובת האימייל של בעל האפליקציה, בהתאמה.אופציונלי:
OPERATOR_NAMEו-OPERATOR_EMAIL: השם המוצג וכתובת האימייל של בעל המפעיל, בהתאמה.אופציונלי:
BUSINESS_NAMEו-BUSINESS_EMAIL: השם לתצוגה וכתובת האימייל של בעל העסק, בהתאמה.
- חובה:
מפרטים את השירותים הרשומים באפליקציה:
gcloud apphub applications services list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONצריך לקבל פלט שדומה לזה לכל שירות רשום:
ID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME SERVICE_NAME SERVICE_DISPLAY_NAME {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} 2023-11-01T21:38:08
רישום עומסי עבודה
כדי לראות את עומסי העבודה הזמינים שאפשר לרשום לאפליקציה:
gcloud apphub discovered-workloads list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONלגבי דגלי חובה ואופציונליים, מחליפים את הערכים הבאים:
- חובה:
PROJECT_ID: מזהה פרויקט הניהול. חובה:
REGION: האזור הספציפי של עומס העבודה על סמך ההתפלגות הגיאוגרפית. אפשר להשתמש באחד מהערכים הבאים:- אם עומס העבודה הוא אזורי, מציינים את שם האזור שנתמך ב-מרכז האפליקציות.
- אם עומס העבודה הוא גלובלי, משתמשים ב-
global.
אופציונלי:
FILTER_EXPRESSION: ביטוי המסנן של הדגל--filterלהצגת עומסי עבודה רק מפרויקט ספציפי בגבולות ניהול האפליקציה או עם מאפיין ספציפי, לדוגמה,workload_properties.gcp_project=projects/PROJECT_ID.
הפלט אמור להיראות כך:
ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES WORKLOAD_ID {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}- חובה:
מעתיקים את מזהה עומס העבודה,
WORKLOAD_ID, מהפלט.רושמים את עומס העבודה באפליקציה:
gcloud apphub applications workloads create WORKLOAD_NAME \ --project=PROJECT_ID \ --location=REGION \ --application=APPLICATION_NAME \ --discovered-workload=projects/PROJECT_ID/locations/REGION/discoveredWorkloads/WORKLOAD_ID \ --display-name=WORKLOAD_DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILמחליפים את
WORKLOAD_NAMEבשם שרוצים להשתמש בו כדי לרשום את עומס העבודה באפליקציה.אפשר להשתמש בדגלים אופציונליים כמו
--criticality-typeכדי להגדיר את המאפיינים ברמה העליונה של עומס העבודה, ולתמוך בגילוי ובניהול.לגבי דגלי חובה ואופציונליים, מחליפים את הערכים הבאים:
- חובה:
PROJECT_ID: מזהה פרויקט הניהול. חובה:
REGION: האזור הספציפי של עומס העבודה על סמך ההתפלגות הגיאוגרפית. אפשר להשתמש באחד מהערכים הבאים:- אם עומס העבודה הוא אזורי, מציינים את שם האזור הנתמך ב-מרכז האפליקציות.
- אם עומס העבודה הוא גלובלי, משתמשים ב-
global.
חובה:
APPLICATION_NAME: השם של האפליקציה שרוצים לרשום את עומס העבודה שלה.חובה:
WORKLOAD_ID: מזהה כוח העבודה שהעתקתם מהפלט הקודם.אופציונלי:
WORKLOAD_DISPLAY_NAME: השם המוצג של עומס העבודה.אופציונלי:
CRITICALITY: רמת החשיבות של עומס העבודה לפעולות שלכם. משתמשים באחד מהערכים הבאים:MISSION_CRITICALHIGHMEDIUMLOW
אופציונלי:
ENVIRONMENT: השלב במחזור החיים של התוכנה. אפשר להשתמש באחד מהערכים הבאים:PRODUCTIONSTAGINGDEVELOPMENTTEST
אופציונלי:
DEV_NAMEו-DEV_EMAIL: השם המוצג וכתובת האימייל של בעל האפליקציה, בהתאמה.אופציונלי:
OPERATOR_NAMEו-OPERATOR_EMAIL: השם המוצג וכתובת האימייל של בעל המפעיל, בהתאמה.אופציונלי:
BUSINESS_NAMEו-BUSINESS_EMAIL: השם לתצוגה וכתובת האימייל של בעל העסק, בהתאמה.
- חובה:
מציגים את עומסי העבודה הרשומים באפליקציה:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONצריך לקבל פלט שדומה לזה שמופיע בהמשך לכל עומס עבודה רשום:
ID DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME WORKLOAD_NAME WORKLOAD_DISPLAY_NAME {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'} 2023-11-01T21:38:08
Terraform
כדי להשתמש ב-Terraform כדי לרשום משאבים בגבולות ניהול האפליקציות בתור שירותים או עומסי עבודה באפליקציה, משתמשים במקורות הנתונים google_apphub_discovered_service ו-google_apphub_discovered_workload כדי לאחזר באופן דינמי מידע על המשאבים שרוצים לרשום. Google Cloud
לאחר מכן, משתמשים במשאבי google_apphub_service או google_apphub_workload כדי לרשום שירותים או עומסי עבודה, בהתאמה.
רישום שירותים
כדי לקבל מידע על שירות באמצעות ה-URI שלו:
data "google_apphub_discovered_service" "my-service" { location = "REGION" service_uri = "SERVICE_URI" }רושמים את השירות שזוהה באפליקציה, למשל:
resource "google_apphub_service" "example" { project = "my-project-id" location = "us-central1" application_id = google_apphub_application.example.application_id service_id = "frontend-load-balancer" discovered_service = data.google_apphub_discovered_service.my-forwarding-rule.name display_name = "Frontend Load Balancer" description = "The primary load balancer for the frontend." }
רישום עומסי עבודה
כדי לקבל מידע על עומס עבודה באמצעות ה-URI שלו:
data "google_apphub_discovered_workload" "my-workload" { location = "REGION" workload_uri = "WORKLOAD_URI" }רושמים את עומס העבודה שזוהה באפליקציה, לדוגמה:
resource "google_apphub_workload" "example" { project = "my-project-id" location = "us-central1" application_id = google_apphub_application.example.application_id workload_id = "frontend-instance-group" discovered_workload = data.google_apphub_discovered_workload.my-mig.name display_name = "Frontend Instance Group" description = "The managed instance group for the frontend." }
סטטוס הרישום של שירותים ועומסי עבודה שרשומים לאפליקציה עשוי להשתנות לdetached אם מעבירים פרויקט או תיקייה מחוץ לגבולות ניהול האפליקציה או מוחקים את משאב הבסיס. שירותים ועומסי עבודה שהופרדו יישארו באפליקציה עד שתבטלו את הרישום שלהם, אבל מרכז האפליקציות לא יוכל יותר לנהל או לעקוב אחריהם. מידע נוסף זמין במאמר בנושא סטטוס הרישום של שירותים ועומסי עבודה.
כדי לצרף מחדש שירותים או עומסי עבודה לאפליקציה, צריך לרשום אותם מחדש.
מתן הרשאות והתחלת פעולות
אחרי שיוצרים אפליקציה ורושמים שירותים ועומסי עבודה במרכז האפליקציות, צריך להעניק למשתמשים גישה על סמך האחריות שלהם במהלך מחזור החיים של האפליקציה, כדי לנהל את הקיבוץ הלוגי הזה כיחידה אחת:
- בהתאם לצרכים שלכם, אתם יכולים להעניק הרשאות לאפליקציות ספציפיות או לכל האפליקציות. רשימה של תפקידים מומלצים מופיעה במאמר הקצאת תפקידים שמתמקדים באפליקציות למשתמשים.
- אפשר גם לעבור אל Cloud Hub כדי לראות מרכז בקרה תפעולי מאוחד של האפליקציה שהגדרתם, כולל נתוני התקינות, הביצועים והעלויות שלה.