יצירה ואימות של תבנית
במדריך למתחילים הזה מוסבר איך ליצור ולפרוס תבנית של אפליקציית אינטרנט בת שלוש שכבות, שכוללת רכיבי frontend, backend ומסד נתונים. בתמונה הבאה מוצג אזור העיצוב, שכולל את רכיבי האפליקציה והחיבורים.
אתם מעצבים את התבנית באמצעות אחת מהאפשרויות הבאות:
- בד הציור לעיצוב ב-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.
התבנית מכילה שלושה רכיבים. הקשרים בין הרכיבים מוצגים באזור העריכה.
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
לוחצים על עריכת עיצוב האפליקציה.
מוצג הדף יצירת תבנית חדשה.
מזינים את פרטי התבנית הבאים:
בשדה 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 לשימוש כחלק הקדמי של האתר.
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 לשימוש כבק-אנד.
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
יצירת טיוטה של אפליקציה
קנבס העיצוב
באזור העיצוב, לוחצים על
Configure an app (הגדרת אפליקציה).לוחצים על
Create new application (יצירת אפליקציה חדשה) ופועלים לפי השלבים הבאים:בשדה שם מזינים
quickstart-three-tier-test.בשדה שם מוצג, מזינים
Quickstart three-tier test.ברשימה אזור, בוחרים באפשרות
us-central1 (Iowa).ברשימה סביבה, בוחרים באפשרות
Test.ברשימה Criticality, בוחרים באפשרות
Low.באזור היקף, ברשימה היקף האפליקציה, בוחרים באפשרות
Regional.
לוחצים על יצירת אפליקציה.
המערכת יוצרת טיוטה של האפליקציה.
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
הגדרת רכיבים
קנבס העיצוב
באזור העיצוב, לוחצים על cloud-run-1 ומבצעים את הפעולות הבאות באזור Configuration:
מהרשימה Project ID, בוחרים את פרויקט הצאצא שיצרתם בקטע לפני שמתחילים. המשאב ייפרס בפרויקט הזה.
בשדה שם השירות מזינים
frontend-service.לוחצים על Save.
באזור העיצוב, לוחצים על cloud-run-2 ומבצעים את הפעולות הבאות באזור Configuration:
מהרשימה Project ID, בוחרים את פרויקט הצאצא שיצרתם בקטע לפני שמתחילים. המשאב ייפרס בפרויקט הזה.
בשדה שם השירות מזינים
backend-service.לוחצים על Save.
באזור העיצוב, לוחצים על sql-postgresql-1 ומבצעים את הפעולות הבאות באזור Configuration:
מהרשימה Project ID, בוחרים את פרויקט הצאצא שיצרתם בקטע לפני שמתחילים. המשאב ייפרס בפרויקט הזה.
בשדה שם מזינים
database-postgresql.ברשימה Database Version (גרסת מסד הנתונים), בוחרים באפשרות
POSTGRES_15.ברשימה הנפתחת אזור, בוחרים באפשרות
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
פריסת האפליקציה
קנבס העיצוב
לוחצים על
פריסה .באזור Select a service account, מבצעים את הפעולות הבאות:
לוחצים על יצירת חשבון שירות חדש.
לוחצים על המשך.
לוחצים על פריסה.
אחרי כמה דקות, המערכת פורסת את האפליקציה ויוצרת משאבים בפרויקט. המערכת מציגה את הפרטים הבאים:
- קישור למרכז האפליקציות, שבו אפשר לראות את פרטי המשאבים שנפרסו, כולל קישורים ללוחות בקרה של המעקב.
- קישורים ליומנים של 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 \ --space=SPACE \ --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 כדי לראות את נתוני הטלמטריה של האפליקציה ולעקוב אחרי התקינות והביצועים שלה:
-
נכנסים לדף Application monitoring במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
מכלי לבחירת פרויקטים של המסוף Google Cloud , בוחרים את פרויקט הניהול.
הוראות מפורטות לשימוש בלוחות הבקרה המוגדרים מראש ולעיון בנתוני הטלמטריה זמינות במאמר הצגת טלמטריה של אפליקציות.
בנוסף, תוכלו לקבל מידע נוסף על הבריאות והביצועים ב-Cloud Hub, כולל מידע על פריסות שאפשר לעדכן, על פריסות שנכשלו, על Google Cloud אירועים שמשפיעים על האפליקציות שלכם ועל שירותים שמתקרבים למגבלות המכסה שלהם.
הסרת המשאבים
כדי לא לצבור חיובים בחשבון על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט יחד עם המשאבים. Google Cloud Google Cloud
מחיקת האפליקציה שנפרסה
בתפריט הניווט, לוחצים על אפליקציות.
בטבלה, לוחצים על Quickstart three-tier web app (הפעלה מהירה של אפליקציית אינטרנט תלת-שכבתית).
לוחצים על פעולות ובוחרים באפשרות מחיקת האפליקציה.
בשדה מחיקה, מזינים
Quickstart three-tier web app.לוחצים על Delete.
המערכת מוחקת את האפליקציה, כולל:
- פרטי האפליקציה מוסרים מ-App Design Center.
- אפליקציית מרכז האפליקציות הבסיסית נמחקת.
- המשאבים הבסיסיים נמחקים.
אופציונלי: מחיקת הפרויקט
כדי למחוק את פרויקט הצאצא שיצרתם בקטע לפני שמתחילים, פועלים לפי השלבים הבאים:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- בתיבת ההנחיה, מקלידים את מזהה הפרויקט ולוחצים על Shut down.
המאמרים הבאים
- איך מעדכנים תבנית ומפרסים אותה מחדש
- כדאי לעיין בסקירה הכללית של App Design Center כדי להבין את מושגי הליבה והיתרונות.
- אפשר לבנות תבניות באמצעות שפה טבעית בעזרת Gemini.
- כדי להתחיל לעבוד עם ארכיטקטורות שהוגדרו מראש, אפשר לבנות על תבניות של Google.
- אפשר להגדיר הגדרות משלכם על ידי עיצוב תבניות של אפליקציות.