יצירת תהליך עבודה באמצעות Terraform
במדריך למתחילים הזה נסביר איך ליצור, לפרוס ולהפעיל את זרימת העבודה הראשונה באמצעות Terraform. Terraform הוא כלי מסוג תשתית כקוד (IaC) שמאפשר ליצור, לשנות ולשפר בצורה חזויה את תשתית הענן באמצעות קוד. כאן מוסבר איך משתמשים ב-Terraform כדי לספק תשתית ב- Google Cloud.
במדריך למתחילים הזה, תהליך העבודה לדוגמה שולח בקשה ל-API ציבורי ואז מחזיר את התגובה של ה-API.
תצטרכו לבצע את הפעולות הבאות:
- מפעילים את Workflows API באמצעות Terraform.
- יוצרים חשבון שירות לתהליך העבודה באמצעות Terraform.
- להגדיר ולפרוס תהליך עבודה באמצעות Terraform.
- מריצים את תהליך העבודה באמצעות Google Cloud CLI.
לפני שמתחילים
יכול להיות שהגבלות אבטחה שהוגדרו בארגון שלכם ימנעו מכם להשלים את השלבים הבאים. מידע לפתרון בעיות זמין במאמר פיתוח אפליקציות בסביבה מוגבלת. Google Cloud
שימו לב ש-Terraform כבר משולב ב-Cloud Shell. אם אתם צריכים להתקין את Terraform, תוכלו לעיין במסמכי התיעוד של HashiCorp Terraform.
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
-
אם משתמשים בפרויקט קיים, מוודאים שיש את ההרשאות הנדרשות כדי להשלים את ההדרכה. אם משתמשים בפרויקט חדש, לא צריך לוודא כי כבר יש את ההרשאות הנדרשות.
מפעילים את ממשקי Cloud Resource Manager, Identity and Access Management (IAM) ו-Service Usage:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com serviceusage.googleapis.com -
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
-
אם משתמשים בפרויקט קיים, מוודאים שיש את ההרשאות הנדרשות כדי להשלים את ההדרכה. אם משתמשים בפרויקט חדש, לא צריך לוודא כי כבר יש את ההרשאות הנדרשות.
מפעילים את ממשקי Cloud Resource Manager, Identity and Access Management (IAM) ו-Service Usage:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com serviceusage.googleapis.com
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לביצוע ההפעלה המהירה הזו, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- אדמין IAM בפרויקט (
roles/resourcemanager.projectIamAdmin) - אדמין בחשבון שירות (
roles/iam.serviceAccountAdmin) - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) - אדמין ב-Workflows (
roles/workflows.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת קובץ תצורה של Terraform
יוצרים קובץ תצורה של Terraform בשם main.tf וכוללים בו את המשאבים של ספק Google ל-Terraform שבהם נעשה שימוש במדריך למתחילים הזה.
שימו לב שאפשר להשתמש באינטרפולציה כדי להחליף משתנים, מאפייני משאבים ופונקציות קריאה.
יצירת ספרייה:
mkdir terraformעוברים לספרייה
terraform:cd terraform
מוסיפים קובץ חדש,
main.tf, לספרייה:nano main.tfמוסיפים את המשאבים הבאים לקובץ
main.tf:מקצים את מזהה הפרויקט:
provider "google" { project = "PROJECT_ID" }
מחליפים את
PROJECT_IDבמזהה הפרויקט.מפעילים את Workflows API:
יוצרים חשבון שירות לתהליך העבודה:
מגדירים את תהליך העבודה באמצעות משאב
google_workflows_workflow:הארגומנטים הבאים משמשים בתהליך העבודה לדוגמה:
-
name: השם של תהליך העבודה. -
region: המיקום של תהליך העבודה. -
description: תיאור של תהליך העבודה. -
service_account: כתובת האימייל או המזהה הייחודי של חשבון השירות שמשויך לגרסה האחרונה של תהליך העבודה. חשבון השירות הזה מייצג את הזהות של תהליך העבודה וקובע אילו הרשאות יש לתהליך העבודה. אם לא מציינים חשבון שירות במהלך יצירת תהליך העבודה, תהליך העבודה משתמש בחשבון השירות שמוגדר כברירת מחדל של Compute Engine לזהות שלו. מידע נוסף זמין במאמר בנושא הענקת הרשאה לזרימת עבודה לגשת למשאבים ב- Google Cloud . -
labels: רשימה של צמדי מפתח/ערך של תוויות להקצאה לזרימת העבודה הזו, שיעזרו לכם לארגן את המופעים שלכם ב- Google Cloud . מידע נוסף זמין במאמר מהן תוויות? -
user_env_vars: משתני סביבה שהוגדרו על ידי המשתמש ומשויכים לגרסה הזו של תהליך העבודה. מידע נוסף זמין במאמר בנושא שימוש במשתני סביבה. -
source_contents: קוד Workflows להרצה. מידע על מגבלת גודל הקובץ מופיע במאמר בנושא מגבלות של משאבים.
ארגומנטים אופציונליים אחרים כוללים את האפשרויות הבאות:
crypto_key_name: מזהה המשאב של מפתח Cloud Key Management Service בפורמט הבא:projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
מידע נוסף מופיע במאמר בנושא שימוש במפתחות הצפנה בניהול הלקוח.
call_log_level: רמת הרישום ביומן שתחול על שיחות ותגובות לשיחות במהלך ההרצות של תהליך העבודה הזה. הערכים שאפשר לבחור הם:CALL_LOG_LEVEL_UNSPECIFIEDLOG_ALL_CALLSLOG_ERRORS_ONLYLOG_NONE
מידע נוסף זמין במאמר בנושא רישום שיחות ביומן.
project: מזהה הפרויקט שאליו שייך המשאב. אם לא מציינים פרויקט, המערכת משתמשת בפרויקט של הספק.
name_prefix: יוצר שם ייחודי שמתחיל בקידומת שצוינה. אם לא מציינים ערך למאפיינים האלה, נבחר ערך אקראי לשם.name
יצירה והפעלה של תהליך העבודה
פורסים את משאבי Terraform כדי ליצור את תהליך העבודה, ואז מריצים את תהליך העבודה.
מאתחלים את Terraform בספרייה:
terraform initמוודאים שהשינויים שאתם מציעים באמצעות Terraform תואמים לתוכנית הצפויה:
terraform planאפשר להתעלם מההערה לגבי אי שימוש באפשרות
-out.יוצרים את תהליך העבודה:
terraform applyבהנחיה Enter a value (הזנת ערך), מקלידים
yesכדי להמשיך ביצירת המשאבים.בודקים שנוצר תהליך עבודה:
gcloud workflows list --location us-central1
הפלט אמור להיראות כך:
NAME STATE REVISION_ID UPDATE_TIME projects/project-name/locations/us-central1/workflows/sample-workflow ACTIVE 000001-f9a 2024-02-24T13:38:58.353765906Z
אפשר גם להפעיל את תהליך העבודה:
gcloud workflows execute sample-workflow
הסרת המשאבים
כדי לא לצבור חיובים בחשבון על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט יחד עם המשאבים. Google Cloud Google Cloud
- מוחקים את כל המשאבים שיצרתם באמצעות Terraform:
terraform destroy - מחיקת תהליך העבודה שיצרתם:
כשמוצגת השאלה אם אתם רוצים להמשיך, מזיניםgcloud workflows delete sample-workflow
y. - אפשר גם למחוק את הפרויקט Google Cloud כדי להימנע מחיובים. אם מוחקים את הפרויקט ב- Google Cloud , החיוב על כל המשאבים שנעשה בהם שימוש באותו פרויקט יופסק.
כדי למחוק Google Cloud פרויקט:
gcloud projects delete PROJECT_ID
המאמרים הבאים
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-06-17 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["התוכן קשה להבנה","hardToUnderstand","thumb-down"],["שגיאות בקוד לדוגמה או במידע","incorrectInformationOrSampleCode","thumb-down"],["חסרים לי פרטים או דוגמאות","missingTheInformationSamplesINeed","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2026-06-17 (שעון UTC)."],[],[]]-