רישום של משאבים קיימים באפליקציה

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

במדריך הזה מוסבר איך לקבץ משאבים קיימים Google Cloud שעדיין לא הוגדרו באופן רשמי כאפליקציה.

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

כדי לארגן משאבים באפליקציות, צריך קודם להשלים את ההגדרה הראשונית של ניהול האפליקציות. בדרך כלל התהליך הזה כולל את התפקידים והשלבים הבאים:

יצירת אפליקציה

יוצרים אפליקציה ב-App Hub שתשמש כמאגר לוגי למשאבי Google Cloud הקיימים:

המסוף

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

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

    מעבר אל Applications

  3. לוחצים על Create application (יצירת אפליקציה).

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

    • בוחרים באפשרות Global (גלובלי) כדי ליצור אפליקציה גלובלית.
    • כדי ליצור אפליקציה אזורית, בוחרים באפשרות אזורית. לאחר מכן, בוחרים את האזור הספציפי של האפליקציה על סמך האזורים שנתמכים ב-App Hub.

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

  5. מזינים שם לאפליקציה.

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

  6. אפשר גם להוסיף שם מוצג ותיאור לאפליקציה.

    אלה לא מזהים ייחודיים, ואפשר לשנות אותם אחרי שיוצרים את האפליקציה.

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

  8. בכרטיסייה Application resources, מעיינים במשאבי התשתית ומסמנים את התיבות של המשאבים שרוצים לרשום כשירותים ועומסי עבודה של האפליקציה.

    אפשר לבחור עד 10 משאבים בכל פעם.

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

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

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

  11. לוחצים על יצירה.

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

gcloud

  1. משתמשים ב-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_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • אופציונלי: ENVIRONMENT: השלב במחזור החיים של התוכנה. אפשר להשתמש באחד מהערכים הבאים:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • אופציונלי: DEV_NAME ו-DEV_EMAIL: השם המוצג וכתובת האימייל של בעל האפליקציה, בהתאמה.

    • אופציונלי: OPERATOR_NAME ו-OPERATOR_EMAIL: השם המוצג וכתובת האימייל של בעל ההפעלה, בהתאמה.

    • אופציונלי: BUSINESS_NAME ו-BUSINESS_EMAIL: שם העסק לתצוגה וכתובת האימייל של בעל העסק, בהתאמה.

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

    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כשירותים ועומסי עבודה.

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

המסוף

אחרי שיוצרים אפליקציה, אפשר לרשום בה כמה משאבים:

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

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

    מעבר אל Applications

  3. לוחצים על שם האפליקציה שרוצים לרשום עבורה משאבים.Google Cloud

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

  5. לוחצים על הרשמה של שירותים או עומסי עבודה.

  6. בכרטיסייה Services and workloads, מעיינים במשאבי התשתית ומסמנים את תיבות הסימון של המשאבים שרוצים לרשום כשירותים או כעומסי עבודה של האפליקציה.

    אפשר לבחור עד 10 משאבים בכל פעם.

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

  8. בכרטיסייה מאפיינים ובעלים אפשר להוסיף מאפיינים למשאבים האלה, כמו רמת קריטיות, סביבה ובעלי משאבים.

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

  9. לוחצים על הרשמה.

בכרטיסייה Services and workloads מוצגים כל השירותים ועומסי העבודה הרשומים של האפליקציה.

gcloud

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

רישום שירותים

  1. רשימת השירותים הזמינים שאפשר לרשום לאפליקציה:

    gcloud apphub discovered-services list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    לגבי דגלי חובה ואופציונליים, מחליפים את הערכים הבאים:

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

    • אופציונלי: FILTER_EXPRESSION: ביטוי הסינון של הדגל --filter כדי להציג רק שירותים מפרויקט ספציפי בתוך תחום ניהול האפליקציות או עם מאפיין ספציפי, לדוגמה:

      • service_properties.gcp_project=projects/PROJECT_ID
      • service_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'}
    
  2. מעתיקים את מזהה השירות, SERVICE_ID, מהפלט.

  3. רושמים את השירות באפליקציה:

    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: האזור הספציפי של השירות שלכם בהתאם לפיזור הגיאוגרפי. אפשר להשתמש באחד מהערכים הבאים:

    • חובה: APPLICATION_NAME: שם האפליקציה שרוצים לרשום את השירות עבורה.

    • חובה: SERVICE_ID: מזהה השירות שהעתקתם מהפלט הקודם.

    • אופציונלי: SERVICE_DISPLAY_NAME: השם המוצג של השירות.

    • אופציונלי: CRITICALITY: רמת החשיבות של השירות לפעולות שלכם. משתמשים באחד מהערכים הבאים:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • אופציונלי: ENVIRONMENT: השלב במחזור החיים של התוכנה. אפשר להשתמש באחד מהערכים הבאים:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • אופציונלי: DEV_NAME ו-DEV_EMAIL: השם המוצג וכתובת האימייל של בעל האפליקציה, בהתאמה.

    • אופציונלי: OPERATOR_NAME ו-OPERATOR_EMAIL: השם המוצג וכתובת האימייל של בעל המפעיל, בהתאמה.

    • אופציונלי: BUSINESS_NAME ו-BUSINESS_EMAIL: השם לתצוגה וכתובת האימייל של בעל העסק, בהתאמה.

  4. מפרטים את השירותים הרשומים באפליקציה:

    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
    

רישום עומסי עבודה

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

    gcloud apphub discovered-workloads list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    לגבי דגלי חובה ואופציונליים, מחליפים את הערכים הבאים:

    • חובה: PROJECT_ID: מזהה פרויקט הניהול.
    • חובה: REGION: האזור הספציפי של עומס העבודה על סמך ההתפלגות הגיאוגרפית. אפשר להשתמש באחד מהערכים הבאים:

    • אופציונלי: 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'}
    
  2. מעתיקים את מזהה עומס העבודה, WORKLOAD_ID, מהפלט.

  3. רושמים את עומס העבודה באפליקציה:

    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: האזור הספציפי של עומס העבודה על סמך ההתפלגות הגיאוגרפית. אפשר להשתמש באחד מהערכים הבאים:

    • חובה: APPLICATION_NAME: השם של האפליקציה שרוצים לרשום את עומס העבודה שלה.

    • חובה: WORKLOAD_ID: מזהה כוח העבודה שהעתקתם מהפלט הקודם.

    • אופציונלי: WORKLOAD_DISPLAY_NAME: השם המוצג של עומס העבודה.

    • אופציונלי: CRITICALITY: רמת החשיבות של עומס העבודה לפעולות שלכם. משתמשים באחד מהערכים הבאים:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • אופציונלי: ENVIRONMENT: השלב במחזור החיים של התוכנה. אפשר להשתמש באחד מהערכים הבאים:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • אופציונלי: DEV_NAME ו-DEV_EMAIL: השם המוצג וכתובת האימייל של בעל האפליקציה, בהתאמה.

    • אופציונלי: OPERATOR_NAME ו-OPERATOR_EMAIL: השם המוצג וכתובת האימייל של בעל המפעיל, בהתאמה.

    • אופציונלי: BUSINESS_NAME ו-BUSINESS_EMAIL: השם לתצוגה וכתובת האימייל של בעל העסק, בהתאמה.

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

    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 כדי לרשום שירותים או עומסי עבודה, בהתאמה.

רישום שירותים

  1. כדי לקבל מידע על שירות באמצעות ה-URI שלו:

    data "google_apphub_discovered_service" "my-service" {
        location = "REGION"
        service_uri = "SERVICE_URI"
    }
    
  2. רושמים את השירות שזוהה באפליקציה, למשל:

    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."
    }
    

רישום עומסי עבודה

  1. כדי לקבל מידע על עומס עבודה באמצעות ה-URI שלו:

    data "google_apphub_discovered_workload" "my-workload" {
        location = "REGION"
        workload_uri = "WORKLOAD_URI"
    }
    
  2. רושמים את עומס העבודה שזוהה באפליקציה, לדוגמה:

    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 אם מעבירים פרויקט או תיקייה מחוץ לגבולות ניהול האפליקציה או מוחקים את משאב הבסיס. שירותים ועומסי עבודה שהופרדו יישארו באפליקציה עד שתבטלו את הרישום שלהם, אבל מרכז האפליקציות לא יוכל יותר לנהל או לעקוב אחריהם. מידע נוסף זמין במאמר בנושא סטטוס הרישום של שירותים ועומסי עבודה.

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

מתן הרשאות והתחלת פעולות

אחרי שיוצרים אפליקציה ורושמים שירותים ועומסי עבודה במרכז האפליקציות, צריך להעניק למשתמשים גישה על סמך האחריות שלהם במהלך מחזור החיים של האפליקציה, כדי לנהל את הקיבוץ הלוגי הזה כיחידה אחת:

  1. בהתאם לצרכים שלכם, אתם יכולים להעניק הרשאות לאפליקציות ספציפיות או לכל האפליקציות. רשימה של תפקידים מומלצים מופיעה במאמר הקצאת תפקידים שמתמקדים באפליקציות למשתמשים.
  2. אפשר גם לעבור אל Cloud Hub כדי לראות מרכז בקרה תפעולי מאוחד של האפליקציה שהגדרתם, כולל נתוני התקינות, הביצועים והעלויות שלה.