מדריך למתחילים: פיתוח ופריסה של אפליקציית אינטרנט ב-PHP ב-Cloud Run
בשיעור הזה נסביר איך להשתמש בפקודה אחת כדי ליצור ולפרוס אפליקציית אינטרנט Hello World מדוגמת קוד ל- Cloud de Confianceבאמצעות Cloud Run.
אם פועלים לפי השלבים במדריך למתחילים הזה, Cloud Run יוצר בשבילכם באופן אוטומטי קובץ Dockerfile כשפורסים מקוד מקור.
לפני שמתחילים
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Cloud de Confiance פרויקט.
התפקידים שנדרשים כדי לבחור או ליצור פרויקט
- בחירת פרויקט: כדי לבחור פרויקט לא נדרש תפקיד IAM ספציפי – אתם יכולים לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Cloud de Confiance פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Cloud de Confiance שיוצרים. -
בוחרים את הפרויקט שיצרתם: Cloud de Confiance
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Cloud de Confiance .
-
אם משתמשים בפרויקט קיים, מוודאים שיש את ההרשאות הנדרשות כדי להשלים את ההדרכה. אם משתמשים בפרויקט חדש, לא צריך לוודא כי כבר יש את ההרשאות הנדרשות.
- כדי להגדיר את פרויקט ברירת המחדל לשירות Cloud Run:
מחליפים את PROJECT_ID במזהה הפרויקט ב- Cloud de Confiance by S3NS .gcloud config set project PROJECT_ID
אם אתם כפופים למדיניות ארגונית של הגבלה לפי דומיין שמגבילה הפעלות לא מאומתות של הפרויקט, תצטרכו לגשת לשירות הפרוס שלכם כמו שמתואר בקטע בדיקת שירותים פרטיים.
-
מפעילים את Cloud Run Admin API ואת Cloud Build APIs, אם הם עדיין לא מופעלים:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable run.googleapis.com
cloudbuild.googleapis.com אחרי שמפעילים את Cloud Run Admin API, נוצר באופן אוטומטי חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine.
- אפשר לעיין במחירון של Cloud Run או להשתמש במחשבון התמחור כדי לקבל הערכה של העלויות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להשלמת המדריך הזה, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- אדמין ב-Cloud Run (
roles/run.admin) בפרויקט - Cloud Run Source Developer (
roles/run.sourceDeveloper) on the project - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות השירות - Logs Viewer (
roles/logging.viewer) on the project
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
נותנים לחשבון השירות ב-Cloud Build גישה לפרויקט
כברירת מחדל, Cloud Build משתמש בחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine בתור חשבון השירות שמוגדר כברירת מחדל ב-Cloud Build כדי ליצור את קוד המקור ואת המשאב של Cloud Run, אלא אם משנים את ההתנהגות הזו.
כדי ש-Cloud Build יוכל ליצור את המקורות, צריך להקצות לחשבון השירות של Cloud Build את התפקיד Cloud Run Builder (roles/run.builder) בפרויקט:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_EMAIL_ADDRESS \ --role=roles/run.builder
מחליפים את PROJECT_ID במזהה הפרויקט ב- Cloud de Confianceואת SERVICE_ACCOUNT_EMAIL_ADDRESS בכתובת האימייל של חשבון השירות של Cloud Build. אם אתם משתמשים בחשבון השירות שמוגדר כברירת מחדל של Compute Engine כחשבון השירות של Cloud Build, אתם צריכים להשתמש בפורמט הבא עבור כתובת האימייל בחשבון השירות:
PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com
מחליפים את PROJECT_NUMBER במספר הפרויקט ב- Cloud de Confiance.
הוראות מפורטות לאיתור מזהה הפרויקט ומספר הפרויקט זמינות במאמר יצירה וניהול של פרויקטים.
לוקח כמה דקות עד שמתבצעת הפצה של הרשאת התפקיד Cloud Run builder.
כתיבת האפליקציה לדוגמה
כדי לכתוב אפליקציה ב-PHP:
יוצרים ספרייה חדשה בשם
helloworld-phpועוברים אליה:mkdir helloworld-php cd helloworld-phpיוצרים קובץ בשם
index.phpומדביקים בו את הקוד הבא:הקוד הזה מגיב לבקשות עם הודעת הפתיחה 'Hello World'. הטיפול ב-HTTP מתבצע על ידי שרת אינטרנט של Apache במאגר.
יוצרים קובץ חדש בשם
Dockerfileבאותה ספרייה שבה נמצאים קובצי המקור. קובץ ה-Dockerfile של PHP מפעיל שרת אינטרנט של Apache שמקשיב ליציאה שמוגדרת על ידי משתנה הסביבהPORT:מוסיפים
.dockerignoreקובץ החרגה כדי להחריג קבצים מקובץ אימג' של קונטיינר.
האפליקציה מוכנה לפריסה.
פריסה מקוד המקור ל-Cloud Run
האפשרות 'פריסה ממקור' יוצרת באופן אוטומטי קובץ אימג' של קונטיינר מקוד המקור ופורסת אותו.
כדי לפרוס מקוד המקור:
בתיקיית קוד המקור, מפעילים את הפקודה הבאה כדי לפרוס את התיקייה הנוכחית:
gcloud run deploy --source .
כשמופיעה בקשה להזין את שם השירות, לוחצים על Enter כדי לאשר את שם ברירת המחדל, לדוגמה
helloworld.אם תתבקשו להפעיל ממשקי API נוספים בפרויקט, למשל Artifact Registry API, תצטרכו להגיב בהקשה על
y.כשמוצגת בקשה לבחור אזור: בוחרים את האזור הרצוי, לדוגמה
europe-west1.אם מוצגת בקשה ליצור מאגר באזור שצוין, משיבים על ידי לחיצה על
y.אם מופיעה בקשה allow public access: משיבים
y. יכול להיות שההנחיה הזו לא תוצג אם יש מדיניות ארגונית להגבלת דומיין שמונעת את הצגתה. פרטים נוספים זמינים בקטע לפני שמתחילים.
אחר כך מחכים כמה רגעים עד שהפריסה תסתיים. אם הפעולה בוצעה ללא שגיאות, כתובת ה-URL של השירות מוצגת בשורת הפקודה.
פותחים את כתובת ה-URL של השירות בדפדפן אינטרנט כדי להיכנס לשירות שפרסתם.
מיקומי Cloud Run
Cloud Run הוא שירות אזורי, כלומר התשתית שמריצה את שירותי Cloud Run ממוקמת באזור ספציפי ומנוהלת על ידי Google כך שתהיה זמינה באופן יתירתי בכל האזורים בתוך אותו אזור.
הקריטריונים העיקריים לבחירת האזור שבו יפעלו שירותי Cloud Run הם זמן האחזור, הזמינות או העמידות שנדרשים לכם.
בדרך כלל אפשר לבחור את האזור הקרוב ביותר למשתמשים, אבל כדאי לקחת בחשבון את המיקום של מוצרים Cloud de Confiance
אחרים שבהם נעשה שימוש בשירות Cloud Run.
השימוש במוצרים של Cloud de Confiance Google Cloud יחד בכמה מיקומים יכול להשפיע על זמן האחזור ועל העלות של השירות.
אפשר להשתמש ב-Cloud Run באזורים הבאים:
בכפוף לתמחור ברמה 1
asia-east1(טייוואן)-
asia-northeast1(טוקיו) -
asia-northeast2(אוסקה) -
asia-south1(מומבאי, הודו) -
asia-southeast3(בנגקוק) -
europe-north1(פינלנד)רמה נמוכה של CO2
europe-north2(שטוקהולם)רמה נמוכה של CO2
europe-southwest1(מדריד)רמה נמוכה של CO2
-
europe-west1(בלגיה)רמה נמוכה של CO2
europe-west4(הולנד)רמה נמוכה של CO2
europe-west8(מילאנו)רמה נמוכה של CO2
europe-west9(פריז)רמה נמוכה של CO2
-
me-west1(תל אביב) northamerica-south1(מקסיקו)us-central1(אייווה)רמה נמוכה של CO2
us-east1(קרוליינה הדרומית)us-east4(צפון וירג'יניה)us-east5(קולומבוס)us-south1(דאלאס)רמה נמוכה של CO2
-
us-west1(אורגון)רמה נמוכה של CO2
בכפוף לתמחור ברמה 2
africa-south1(יוהנסבורג)asia-east2(הונג קונג)asia-northeast3(סיאול, דרום קוריאה)asia-southeast1(סינגפור)asia-southeast2(ג'קרטה)asia-south2(דלהי, הודו)-
australia-southeast1(סידני) australia-southeast2(מלבורן)europe-central2(ורשה, פולין)רמה נמוכה של CO2
europe-west10(ברלין)europe-west12(טורינו)רמה נמוכה של CO2
-
europe-west2(לונדון, בריטניה)רמה נמוכה של CO2
-
europe-west3(פרנקפורט, גרמניה) europe-west6(ציריך, שווייץ)רמה נמוכה של CO2
-
me-central1(דוחה) me-central2(דמאם)northamerica-northeast1(מונטריאול)רמה נמוכה של CO2
northamerica-northeast2(טורונטו)רמה נמוכה של CO2
-
southamerica-east1(סאו פאולו, ברזיל)רמה נמוכה של CO2
southamerica-west1(סנטיאגו, צ'ילה)רמה נמוכה של CO2
-
us-west2(לוס אנג'לס) -
us-west3(סולט לייק סיטי) -
us-west4(לאס וגאס)
אם כבר יצרתם שירות Cloud Run, אתם יכולים לראות את האזור במרכז הבקרה של Cloud Run במסוףCloud de Confiance .
הסרת המשאבים
כדי להימנע מחיובים נוספים בחשבון Cloud de Confiance by S3NS , מוחקים את כל המשאבים שהצבתם באמצעות ההפעלה המהירה הזו.
מחיקת המאגר
ב-Cloud Run לא מחייבים אתכם כשהשירות שפרסתם לא בשימוש. עם זאת, יכול להיות שעדיין תחויבו על אחסון קובץ האימג' של הקונטיינר ב-Artifact Registry. כדי למחוק מאגרי Artifact Registry, פועלים לפי השלבים במאמר מחיקת מאגרים במסמכי התיעוד של Artifact Registry.
מחיקת השירות
שירותי Cloud Run לא צוברים עלויות עד שהם מקבלים בקשות. כדי למחוק את שירות Cloud Run, מבצעים את אחד מהשלבים הבאים:
המסוף
כדי למחוק שירות:
נכנסים לדף Services של Cloud Run במסוף Cloud de Confiance by S3NS :
ברשימת השירותים, מאתרים את השירות שרוצים למחוק ולוחצים על תיבת הסימון שלו כדי לבחור אותו.
לוחצים על Delete. כל הגרסאות של השירות יימחקו.
gcloud
כדי למחוק שירות, מריצים את הפקודה הבאה:
gcloud run services delete SERVICE --region REGION
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE: שם השירות.
- REGION: Cloud de Confiance האזור של השירות.
מחיקת פרויקט הבדיקה
כשמוחקים את הפרויקט ב- Cloud de Confiance , החיוב על כל המשאבים באותו פרויקט נפסק. כדי לשחרר את כל Cloud de Confiance by S3NS המשאבים בפרויקט, פועלים לפי השלבים הבאים:
כדי למחוק Cloud de Confiance פרויקט:
gcloud projects delete PROJECT_ID
המאמרים הבאים
מידע נוסף על בניית מאגר תגים ממקור קוד ודחיפה למאגר זמין במאמרים הבאים: