יצירה ואימות של תבנית

תבניות של אפליקציות ב-Application Design Center מאפשרות לכם להגדיר ארכיטקטורות לשימוש חוזר על ידי חיבור רכיבי תשתית. במדריך למתחילים הזה תבצעו את הפעולות הבאות:

  1. יוצרים תבנית של אפליקציית אינטרנט עם שלוש שכבות, שכוללת רכיבים של ממשק משתמש, קצה עורפי ומסד נתונים. אפשר ליצור את התבנית באמצעות לוח השרטוט, הנחיות בשפה טבעית ב-Gemini Cloud Assist או Google Cloud CLI ב-App Design Center.
  2. מאמתים את התבנית על ידי פריסת אפליקציית בדיקה.

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

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


לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :

תראו לי איך


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

  1. הגדרת App Design Center.

  2. יוצרים פרויקט פריסה בתיקייה לניהול אפליקציות.

    כשפורסים את האפליקציה, פורסים משאבים של Google Cloud בפרויקט הזה.

  3. מוודאים שהחיוב מופעל בפרויקט לפריסה.

הגדרת כלים

כדי להשלים את המדריך למתחילים הזה, אתם יכולים להשתמש באחת מהאפשרויות הבאות.

  • משתמשים בכלי לעיצוב במסוף Google Cloud .

  • כדי להשתמש ב-Gemini Cloud Assist ליצירת העיצוב, קראו את המאמר הגדרת Gemini Cloud Assist.

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

  • אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  • כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  • התקינו את ה-CLI של Google Cloud.

  • אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  • כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init

מוודאים שיש לכם את התפקידים הנדרשים

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

משימה התפקידים הנדרשים
יצירה, עיצוב ועריכה של תבניות רגילות אדמין ב-Application Design Center‏ (roles/designcenter.admin) או משתמש ב-Application Design Center‏ (roles/designcenter.user)
פריסת אפליקציות והגדרות אישיות אדמין של אפליקציה (roles/designcenter.applicationAdmin) או
עריכת אפליקציה (roles/designcenter.applicationEditor)
יצירת חשבונות שירות במהלך הפריסה יצירת חשבונות שירות (roles/iam.serviceAccountCreator) בפרויקט הניהול
מתן גישה לחשבון שירות לפרויקט פריסה אדמין IAM של פרויקט (roles/resourcemanager.projectIamAdmin) בפרויקט הפריסה

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

יצירת תבנית חדשה והוספת פרטים

קנבס לעיצוב

  1. נכנסים לדף Templates במסוף Google Cloud .

    אל "תבניות"

  2. לוחצים על יצירת תבנית ומזינים את הפרטים הבאים:

    1. בשדה Template ID, מזינים quickstart-three-tier-web-app.

    2. בשדה Template Name, מזינים Quickstart three-tier web app .

    3. בשדה Description כותבים A template to generate a three-tier web application.

    4. לוחצים על יצירת תבנית.

    התבנית נוצרת ומוצג אזור העריכה.

  3. באזור Components, לוחצים על הרכיבים הבאים כדי להוסיף אותם לאזור העריכה:

    • ‫Cloud Run (הוספת שני רכיבים)
    • Cloud SQL (PostgreSQL)
  4. כדי ליצור חיבורים בין רכיבים:

    1. גוררים מהנקודה הכחולה בתחתית של cloud-run-1 לנקודה הכחולה בחלק העליון של cloud-run-2.

    2. מהנקודה הכחולה בתחתית של cloud-run-2, גוררים לנקודה הכחולה בחלק העליון של sql-postgresql-1.

    התבנית מכילה שלושה רכיבים. ב-canvas מוצגים קווים בין הרכיבים שמייצגים את החיבורים.

Gemini Cloud Assist

  1. בסרגל הכלים של מסוף Google Cloud , לוחצים על סמל הנצנוץ Open or close Gemini Cloud Assist chat.

    החלונית Cloud Assist נפתחת.

  2. בצ'אט עם Gemini Cloud Assist, כותבים את ההנחיה הבאה:

    I want to create a three-tier web application.
    

    ‫Gemini Cloud Assist יוצר עיצוב בסיסי לאפליקציית אינטרנט עם שלוש שכבות.

  3. כדי להסיר את מאזני העומסים ואת הרכיבים של Secret Manager, מזינים את ההנחיה הבאה:

    I don't need load balancers or Secret Manager.
    

    ‫Gemini Cloud Assist מעדכן את העיצוב ומסיר את הרכיבים.

  4. בודקים את העיצוב המעודכן שכולל את הרכיבים הבאים:

    • ‫Cloud Run (שני רכיבים)
    • Cloud SQL ל-PostgreSQL
  5. לוחצים על עריכת עיצוב האפליקציה.

    הדף Create a new template (יצירת תבנית חדשה) מוצג.

  6. מזינים את פרטי התבנית הבאים:

    1. בשדה Template ID, מזינים quickstart-three-tier-web-app.

    2. בשדה Template Name, מזינים Quickstart three-tier web app .

    3. בשדה Description כותבים A template to generate a three-tier web application.

  7. לוחצים על יצירת תבנית.

    המערכת יוצרת תבנית חדשה ומציגה את אזור העריכה.

‫CLI של gcloud

  1. יוצרים תבנית של אפליקציה.

    gcloud design-center spaces application-templates create quickstart-three-tier-web-app \
    --display-name="Quickstart three-tier web app" \
    --description="A template to generate a three-tier web application" \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  2. מציגים את התבניות המשותפות בקטלוג של Google.

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    
    1. מזהים את מזהי התבניות המשותפות של Cloud Run ו-Cloud SQL.
  3. מוסיפים רכיב Cloud Run שישמש כממשק הקצה (frontend).

    gcloud design-center spaces application-templates components create cloud-run-1 \
    --application-template=quickstart-three-tier-web-app \
    --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  4. מוסיפים רכיב Cloud Run שני שישמש כ-backend.

    gcloud design-center spaces application-templates components create cloud-run-2 \
    --application-template=quickstart-three-tier-web-app \
    --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  5. מוסיפים רכיב של Cloud SQL.

    gcloud design-center spaces application-templates components create sql-postgresql-1 \
    --application-template=quickstart-three-tier-web-app \
    --shared-template-revision-uri=google/45be1bc2-89bc-477b-9b5d-64c41ff3b146 \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  6. מחברים את cloud-run-1 ל-cloud-run-2.

     gcloud design-center spaces application-templates components connections create frontend-to-backend \
     --application-template=quickstart-three-tier-web-app \
     --component=cloud-run-1 \
     --destination-component-uri=cloud-run-2 \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID
    
  7. מקשרים את cloud-run-2 ל-sql-postgresql-1.

     gcloud design-center spaces application-templates components connections create backend-to-database \
     --application-template=quickstart-three-tier-web-app \
     --component=cloud-run-2 \
     --destination-component-uri=sql-postgresql-1 \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID
    
  8. שומרים את השינויים כדי ליצור גרסה של תבנית האפליקציה.

     gcloud design-center spaces application-templates commit quickstart-three-tier-web-app \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID
    

יצירת טיוטה של בקשה

קנבס לעיצוב

  1. ב-design canvas, לוחצים על Configure an app.

  2. לוחצים על Create new application ומבצעים את הפעולות הבאות:

    1. בשדה Name, מזינים quickstart-three-tier-test.

    2. בשדה השם המוצג, מזינים Quickstart three-tier test.

    3. ברשימה Region, בוחרים באפשרות us-central1 (Iowa).

    4. ברשימה Environment, בוחרים באפשרות Test.

    5. ברשימה Criticality, בוחרים באפשרות Low.

    6. באזור Scope, ברשימה Application scope, בוחרים באפשרות Regional.

  3. לוחצים על Create Application.

    המערכת יוצרת טיוטה של הבקשה.

‫CLI של gcloud

  1. מזהים את ה-URI של הגרסה האחרונה של תבנית האפליקציה.

     gcloud design-center spaces application-templates describe quickstart-three-tier-web-app \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID \
     --format='yaml(name,latestRevision)'
    
  2. יוצרים טיוטת אפליקציה על סמך התבנית.

       gcloud design-center spaces applications create quickstart-three-tier-test \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID \
       --source-application-template-revision=projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/revisions/TEMPLATE_REVISION \
       --display-name="Quickstart three-tier test" \
       --environment-type=test \
       --criticality-type=low \
       --scope-type=regional \
       --deployment-region=us-central1
    

הגדרת רכיבים

קנבס לעיצוב

  1. ב-design canvas, לוחצים על cloud-run-1 ומבצעים את הפעולות הבאות באזור Configuration:

    1. ברשימה Project ID, בוחרים את פרויקט הפריסה שיצרתם בקטע לפני שמתחילים. המשאב ייפרס בפרויקט הזה.

    2. בשדה Service Name, מזינים את הערך frontend-service.

    3. לוחצים על Save.

  2. ב-design canvas, לוחצים על cloud-run-2 ומבצעים את הפעולות הבאות באזור Configuration:

    1. ברשימה Project ID, בוחרים את פרויקט הפריסה שיצרתם בקטע לפני שמתחילים. המשאב ייפרס בפרויקט הזה.

    2. בשדה Service Name, מזינים את הערך backend-service.

    3. לוחצים על Save.

  3. ב-design canvas, לוחצים על sql-postgresql-1 ומבצעים את הפעולות הבאות באזור Configuration:

    1. ברשימה Project ID, בוחרים את פרויקט הפריסה שיצרתם בקטע לפני שמתחילים. המשאב ייפרס בפרויקט הזה.

    2. בשדה Name, מזינים database-postgresql.

    3. ברשימה Database Version, בוחרים באפשרות POSTGRES_15.

    4. ברשימה הנפתחת Zone, בוחרים באפשרות us-central1-a.

    5. לוחצים על Save.

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

‫CLI של gcloud

  1. תארו את האפליקציה כדי לזהות את הפרמטרים הנדרשים להגדרה.

     gcloud design-center spaces applications describe quickstart-three-tier-test \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID \
     --format='yaml(name,componentParameters)'
    
  2. לכל רכיב, יוצרים בספריית הבית קובץ JSON שמכיל את ערכי הפרמטרים הנדרשים.

    1. יוצרים frontend-service.json.

       {
         "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/cloud-run-1",
         "parameters": [
            {
               "key": "service_name",
               "value": "frontend-service"
            },
            {
               "key": "project_id",
               "value": "DEPLOYMENT_PROJECT_ID"
            }
         ]
       }
      
    2. יוצרים backend-service.json.

       {
         "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/cloud-run-2",
         "parameters": [
            {
               "key": "service_name",
               "value": "backend-service"
            },
            {
               "key": "project_id",
               "value": "DEPLOYMENT_PROJECT_ID"
            }
         ]
       }
      
    3. יוצרים database-postgresql.json.

       {
         "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/sql-postgresql-1",
         "parameters": [
            {
               "key": "name",
               "value": "database-postgresql"
            },
            {
               "key": "project_id",
               "value": "DEPLOYMENT_PROJECT_ID"
            },
            {
               "key": "database_version",
               "value": "POSTGRES_15"
            },
            {
               "key": "region",
               "value": "us-central1"
            },
            {
               "key": "zone",
               "value": "us-central1-a"
            }
         ]
       }
      
  3. מעדכנים את האפליקציה כדי להגדיר את הפרמטרים הנדרשים.

     gcloud design-center spaces applications update quickstart-three-tier-test \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID \
     --component-parameters=./frontend-service.json \
     --component-parameters=./backend-service.json \
     --component-parameters=./database-postgresql.json
    

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

קנבס לעיצוב

  1. לוחצים על Deploy.

  2. באזור Select a service account:

    1. לוחצים על Create a new service account.

    2. לוחצים על המשך.

  3. לוחצים על Deploy.

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

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

‫CLI של gcloud

  1. תארו את האפליקציה כדי לזהות את תפקידי ה-IAM שנדרשים לחשבון השירות לפריסה.

     gcloud design-center spaces applications describe quickstart-three-tier-test \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID \
     --format='yaml(name,projectParameters)'
    
  2. יוצרים חשבון שירות חדש כדי לפרוס את האפליקציה.

     gcloud iam service-accounts create quickstart-service-account \
     --project=MANAGEMENT_PROJECT_ID \
     --display-name="Quickstart service account" \
     --description="A service account to deploy the ADC quickstart"
    
  3. מוסיפים לחשבון השירות את התפקידים הנדרשים לפרויקט הפריסה.

    #!/bin/bash
    
    PROJECT_ID="DEPLOYMENT_PROJECT_ID"
    SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com"
    
    ROLES=(
    "roles/iap.admin"
    "roles/compute.networkAdmin"
    "roles/compute.viewer"
    "roles/run.admin"
    "roles/iam.serviceAccountAdmin"
    "roles/serviceusage.serviceUsageAdmin"
    "roles/cloudkms.admin"
    "roles/logging.logWriter"
    "roles/iam.serviceAccountUser"
    "roles/cloudsql.admin"
    "roles/cloudkms.autokeyAdmin"
    "roles/storage.admin"
    "roles/serviceusage.serviceUsageViewer"
    "roles/resourcemanager.projectIamAdmin"
    "roles/cloudkms.cryptoKeyEncrypterDecrypter"
    )
    
    for role in "${ROLES[@]}"; do
    echo "Adding role: ${role}"
    gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
       --member="serviceAccount:${SERVICE_ACCOUNT}" \
       --role="${role}"
    echo "---"
    done
    
    echo "Finished adding roles."
    
  4. מוסיפים לחשבון השירות את התפקידים הנדרשים בפרויקט הניהול.

    #!/bin/bash
    
    PROJECT_ID="MANAGEMENT_PROJECT_ID"
    SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com"
    
    ROLES=(
    "roles/config.agent"
    "roles/apphub.editor"
    )
    
    for role in "${ROLES[@]}"; do
    echo "Adding role: ${role}"
    gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
       --member="serviceAccount:${SERVICE_ACCOUNT}" \
       --role="${role}"
    echo "---"
    done
    
    echo "Finished adding roles."
    
  5. מזהים את מספר פרויקט הניהול.

    gcloud projects describe MANAGEMENT_PROJECT_ID \
    --format="value(projectNumber)"
    
  6. מוסיפים קישור למדיניות IAM לתפקיד roles/iam.serviceAccountUser בפרויקט הניהול.

    gcloud iam service-accounts add-iam-policy-binding projects/MANAGEMENT_PROJECT_ID/serviceAccounts/quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com \
    --project=MANAGEMENT_PROJECT_ID \
    --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \
    --role="roles/iam.serviceAccountUser"
    
  7. מעדכנים את האפליקציה כדי להשתמש בחשבון השירות.

    gcloud design-center spaces applications update quickstart-three-tier-test \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID \
    --service-account=projects/MANAGEMENT_PROJECT_ID/serviceAccounts/quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com
    
  8. נותנים למשתמש הרשאת actAs בחשבון השירות.

    gcloud iam service-accounts add-iam-policy-binding quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com \
    --project=MANAGEMENT_PROJECT_ID \
    --member="user:USER" \
    --role="roles/iam.serviceAccountUser"
    

    ‫USER הוא משתמש Google Cloud . לדוגמה: dana@example.com.

  9. תצוגה מקדימה של האפליקציה:

    יצירת התצוגה המקדימה נמשכת כמה דקות.

    gcloud design-center spaces applications preview quickstart-three-tier-test \
    --location=us-central1 \
    --space=SPACE \
    --project=MANAGEMENT_PROJECT_ID
    
  10. פורסים את האפליקציה.

    gcloud design-center spaces applications deploy quickstart-three-tier-test \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID \
    --async
    
  11. מזהים את מזהה הפעולה.

  12. הפריסה נמשכת כמה דקות. עוקבים אחרי סטטוס הפריסה.

    gcloud design-center operations describe operation-OPERATION_ID \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  13. בסיום הפריסה, מזהים את הפרמטרים של פלט האפליקציה.

     gcloud design-center spaces applications describe quickstart-three-tier-test \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID \
     --format='yaml(name,appParameters,componentParameters,deploymentMetadata,deploymentRevision,previewReference)'
    

אופציונלי: מעקב אחרי הפריסה

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

  1. במסוף Google Cloud , נכנסים לדף Application monitoring:

    כניסה למעקב אחר אפליקציות

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

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

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

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

הסרת המשאבים

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

מחיקת האפליקציה שנפרסה

  1. בתפריט הניווט, לוחצים על אפליקציות.

    מעבר אל Applications

  2. בטבלה, לוחצים על בדיקה מהירה של שלוש רמות.

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

  4. בשדה Delete, מזינים quickstart-three-tier-test.

  5. לוחצים על Delete.

המערכת מוחקת את האפליקציה, כולל:

  • פרטי האפליקציה יוסרו מ-App Design Center.
  • האפליקציה הבסיסית ב-App Hub נמחקת.
  • המשאבים הבסיסיים נמחקים.

אופציונלי: מחיקת הפרויקט

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

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. בהודעה שמופיעה, מקלידים את מזהה הפרויקט ולוחצים על Shut down.

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