יצירה ואימות של תבנית
תבניות של אפליקציות ב-Application Design Center מאפשרות לכם להגדיר ארכיטקטורות לשימוש חוזר על ידי חיבור רכיבי תשתית. במדריך למתחילים הזה תבצעו את הפעולות הבאות:
- יוצרים תבנית של אפליקציית אינטרנט עם שלוש שכבות, שכוללת רכיבים של ממשק משתמש, קצה עורפי ומסד נתונים. אפשר ליצור את התבנית באמצעות לוח השרטוט, הנחיות בשפה טבעית ב-Gemini Cloud Assist או Google Cloud CLI ב-App Design Center.
- מאמתים את התבנית על ידי פריסת אפליקציית בדיקה.
בתמונה הבאה מוצג אזור העריכה של העיצוב, שכולל את הרכיבים והחיבורים של האפליקציה:
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
לפני שמתחילים
יוצרים פרויקט פריסה בתיקייה לניהול אפליקציות.
כשפורסים את האפליקציה, פורסים משאבים של Google Cloud בפרויקט הזה.
מוודאים שהחיוב מופעל בפרויקט לפריסה.
הגדרת כלים
כדי להשלים את המדריך למתחילים הזה, אתם יכולים להשתמש באחת מהאפשרויות הבאות.
משתמשים בכלי לעיצוב במסוף 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.
יצירת תבנית חדשה והוספת פרטים
קנבס לעיצוב
נכנסים לדף Templates במסוף Google Cloud .
לוחצים על יצירת תבנית ומזינים את הפרטים הבאים:
בשדה Template ID, מזינים
quickstart-three-tier-web-app.בשדה Template Name, מזינים
Quickstart three-tier web app.בשדה Description כותבים
A template to generate a three-tier web application.לוחצים על יצירת תבנית.
התבנית נוצרת ומוצג אזור העריכה.
באזור Components, לוחצים על הרכיבים הבאים כדי להוסיף אותם לאזור העריכה:
- Cloud Run (הוספת שני רכיבים)
- Cloud SQL (PostgreSQL)
כדי ליצור חיבורים בין רכיבים:
גוררים מהנקודה הכחולה בתחתית של cloud-run-1 לנקודה הכחולה בחלק העליון של cloud-run-2.
מהנקודה הכחולה בתחתית של cloud-run-2, גוררים לנקודה הכחולה בחלק העליון של sql-postgresql-1.
התבנית מכילה שלושה רכיבים. ב-canvas מוצגים קווים בין הרכיבים שמייצגים את החיבורים.
Gemini Cloud Assist
בסרגל הכלים של מסוף Google Cloud , לוחצים על סמל הנצנוץ Open or close Gemini Cloud Assist chat.
החלונית Cloud Assist נפתחת.
בצ'אט עם Gemini Cloud Assist, כותבים את ההנחיה הבאה:
I want to create a three-tier web application.Gemini Cloud Assist יוצר עיצוב בסיסי לאפליקציית אינטרנט עם שלוש שכבות.
כדי להסיר את מאזני העומסים ואת הרכיבים של Secret Manager, מזינים את ההנחיה הבאה:
I don't need load balancers or Secret Manager.Gemini Cloud Assist מעדכן את העיצוב ומסיר את הרכיבים.
בודקים את העיצוב המעודכן שכולל את הרכיבים הבאים:
- Cloud Run (שני רכיבים)
- Cloud SQL ל-PostgreSQL
לוחצים על עריכת עיצוב האפליקציה.
הדף Create a new template (יצירת תבנית חדשה) מוצג.
מזינים את פרטי התבנית הבאים:
בשדה Template ID, מזינים
quickstart-three-tier-web-app.בשדה Template Name, מזינים
Quickstart three-tier web app.בשדה Description כותבים
A template to generate a three-tier web application.
לוחצים על יצירת תבנית.
המערכת יוצרת תבנית חדשה ומציגה את אזור העריכה.
CLI של gcloud
יוצרים תבנית של אפליקציה.
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מציגים את התבניות המשותפות בקטלוג של Google.
gcloud design-center spaces shared-templates list \ --google-catalog \ --location=us-central1- מזהים את מזהי התבניות המשותפות של Cloud Run ו-Cloud SQL.
מוסיפים רכיב 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מוסיפים רכיב 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מוסיפים רכיב של 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מחברים את 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מקשרים את 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שומרים את השינויים כדי ליצור גרסה של תבנית האפליקציה.
gcloud design-center spaces application-templates commit quickstart-three-tier-web-app \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID
יצירת טיוטה של בקשה
קנבס לעיצוב
ב-design canvas, לוחצים על
Configure an app .לוחצים על
Create new application ומבצעים את הפעולות הבאות:בשדה Name, מזינים
quickstart-three-tier-test.בשדה השם המוצג, מזינים
Quickstart three-tier test.ברשימה Region, בוחרים באפשרות
us-central1 (Iowa).ברשימה Environment, בוחרים באפשרות
Test.ברשימה Criticality, בוחרים באפשרות
Low.באזור Scope, ברשימה Application scope, בוחרים באפשרות
Regional.
לוחצים על Create Application.
המערכת יוצרת טיוטה של הבקשה.
CLI של gcloud
מזהים את ה-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)'יוצרים טיוטת אפליקציה על סמך התבנית.
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
הגדרת רכיבים
קנבס לעיצוב
ב-design canvas, לוחצים על cloud-run-1 ומבצעים את הפעולות הבאות באזור Configuration:
ברשימה Project ID, בוחרים את פרויקט הפריסה שיצרתם בקטע לפני שמתחילים. המשאב ייפרס בפרויקט הזה.
בשדה Service Name, מזינים את הערך
frontend-service.לוחצים על Save.
ב-design canvas, לוחצים על cloud-run-2 ומבצעים את הפעולות הבאות באזור Configuration:
ברשימה Project ID, בוחרים את פרויקט הפריסה שיצרתם בקטע לפני שמתחילים. המשאב ייפרס בפרויקט הזה.
בשדה Service Name, מזינים את הערך
backend-service.לוחצים על Save.
ב-design canvas, לוחצים על sql-postgresql-1 ומבצעים את הפעולות הבאות באזור Configuration:
ברשימה Project ID, בוחרים את פרויקט הפריסה שיצרתם בקטע לפני שמתחילים. המשאב ייפרס בפרויקט הזה.
בשדה Name, מזינים
database-postgresql.ברשימה Database Version, בוחרים באפשרות
POSTGRES_15.ברשימה הנפתחת Zone, בוחרים באפשרות
us-central1-a.לוחצים על Save.
בכל רכיב באזור העריכה מוצג סימן וי ירוק, שמציין שציינתם את הפרמטרים הנדרשים. עכשיו אפשר לפרוס את טיוטת האפליקציה בסביבת
Testלצורך אימות.
CLI של gcloud
תארו את האפליקציה כדי לזהות את הפרמטרים הנדרשים להגדרה.
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,componentParameters)'לכל רכיב, יוצרים בספריית הבית קובץ JSON שמכיל את ערכי הפרמטרים הנדרשים.
יוצרים
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" } ] }יוצרים
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" } ] }יוצרים
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" } ] }
מעדכנים את האפליקציה כדי להגדיר את הפרמטרים הנדרשים.
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
פריסת האפליקציה
קנבס לעיצוב
לוחצים על
Deploy .באזור Select a service account:
לוחצים על Create a new service account.
לוחצים על המשך.
לוחצים על Deploy.
אחרי כמה דקות, המערכת תפרוס את האפליקציה ותיצור משאבים בפרויקט. המערכת מציגה את הפרטים הבאים:
- קישור ל-App Hub, שבו אפשר לראות את פרטי המשאבים שנפרסו, כולל קישורים למרכזי בקרה למעקב.
- קישורים ליומנים של Cloud Build, שבהם אפשר להשתמש כדי לפתור שגיאות בפריסה.
- מוצגים פלטים כמו מזהי URI של שירותים, שבהם אפשר להשתמש כדי ליצור אינטראקציה עם המשאבים שנפרסו.
כדי להרחיב את המדריך למתחילים הזה, קראו את המאמר עדכון תבנית של אפליקציה ופריסה מחדש.
CLI של gcloud
תארו את האפליקציה כדי לזהות את תפקידי ה-IAM שנדרשים לחשבון השירות לפריסה.
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,projectParameters)'יוצרים חשבון שירות חדש כדי לפרוס את האפליקציה.
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"מוסיפים לחשבון השירות את התפקידים הנדרשים לפרויקט הפריסה.
#!/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."מוסיפים לחשבון השירות את התפקידים הנדרשים בפרויקט הניהול.
#!/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."מזהים את מספר פרויקט הניהול.
gcloud projects describe MANAGEMENT_PROJECT_ID \ --format="value(projectNumber)"מוסיפים קישור למדיניות 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"מעדכנים את האפליקציה כדי להשתמש בחשבון השירות.
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נותנים למשתמש הרשאת 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.תצוגה מקדימה של האפליקציה:
יצירת התצוגה המקדימה נמשכת כמה דקות.
gcloud design-center spaces applications preview quickstart-three-tier-test \ --location=us-central1 \ --space=SPACE \ --project=MANAGEMENT_PROJECT_IDפורסים את האפליקציה.
gcloud design-center spaces applications deploy quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --asyncמזהים את מזהה הפעולה.
הפריסה נמשכת כמה דקות. עוקבים אחרי סטטוס הפריסה.
gcloud design-center operations describe operation-OPERATION_ID \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDבסיום הפריסה, מזהים את הפרמטרים של פלט האפליקציה.
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 כדי לצפות בנתוני הטלמטריה של האפליקציה ולעקוב אחרי התקינות והביצועים שלה:
-
במסוף Google Cloud , נכנסים לדף Application monitoring:
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.
בכלי לבחירת פרויקטים במסוף Google Cloud , בוחרים את הפרויקט לניהול.
במאמר הצגת נתוני טלמטריה של אפליקציות מוסבר איך משתמשים במרכזי הבקרה המוגדרים מראש ואיך בודקים את נתוני הטלמטריה.
ב-Cloud Hub אתם יכולים גם לקבל מידע נוסף על תקינות וביצועים, כולל פריסות שנכשלו ופריסות שאפשר לעדכן, מידע על אירועים ב- Google Cloud שמשפיעים על האפליקציות שלכם, ושירותים שקרובים למגבלות המכסות שלהם.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט ב- Google Cloud יחד עם המשאבים.
מחיקת האפליקציה שנפרסה
בתפריט הניווט, לוחצים על אפליקציות.
בטבלה, לוחצים על בדיקה מהירה של שלוש רמות.
לוחצים על פעולות ובוחרים באפשרות מחיקת האפליקציה.
בשדה Delete, מזינים
quickstart-three-tier-test.לוחצים על Delete.
המערכת מוחקת את האפליקציה, כולל:
- פרטי האפליקציה יוסרו מ-App Design Center.
- האפליקציה הבסיסית ב-App Hub נמחקת.
- המשאבים הבסיסיים נמחקים.
אופציונלי: מחיקת הפרויקט
כדי למחוק את פרויקט הפריסה שיצרתם בקטע לפני שמתחילים:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- בהודעה שמופיעה, מקלידים את מזהה הפרויקט ולוחצים על Shut down.
המאמרים הבאים
- איך משנים את הארכיטקטורה על ידי עדכון תבנית ופריסה מחדש
- סקירה כללית של App Design Center, כולל מושגי ליבה ויתרונות.
- ליצור תבניות באמצעות שפה טבעית עם העזרה של Gemini.
- שכפול והתאמה אישית של ארכיטקטורות של תבניות במאמר התחלה מהירה: התאמה אישית ופריסה של תבנית Google.
- להגדיר הגדרות משלכם באמצעות עיצוב תבניות של אפליקציות.