איך Cloud Shell עובד

‫Cloud Shell מקצה מכונה וירטואלית ב-Compute Engine שמריצה מערכת הפעלה מבוססת-Debian Linux לשימוש זמני. המכונה הווירטואלית הזו נמצאת בבעלות של Google Cloudומנוהלת על ידה, ולכן היא לא תופיע באף אחד מהפרויקטים של Google Cloud .

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

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

אחסון בדיסק אחסון מתמיד (persistent disk)

‫Cloud Shell מקצה 5GB של אחסון בדיסק מתמיד בחינם, שמוטמע כספרייה $HOME במכונה הווירטואלית. נפח האחסון הזה הוא לכל משתמש, והוא זמין בכל הפרויקטים. בניגוד למופע עצמו, האחסון הזה לא נמחק אחרי תקופה של חוסר פעילות. כל הקבצים שמאוחסנים בספריית הבית, כולל תוכנות מותקנות, סקריפטים וקבצי הגדרות אישיות כמו .bashrc ו-.vimrc, נשמרים בין הפעלות. הספרייה $HOME פרטית ומשתמשים אחרים לא יכולים לגשת אליה.

כשמשתמשים ב-Cloud Shell, אי אפשר להגדיל את נפח האחסון של דיסק מתמשך. כדי לשלוט טוב יותר בשימור האחסון ולקבל יותר נפח אחסון, אפשר להשתמש ב-Cloud Workstations.

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

הרשאה

כשמבצעים קריאה ל-Google Cloud API או משתמשים בכלי של שורת הפקודה שדורש פרטי כניסה (כמו Google Cloud CLI) עם Cloud Shell בפעם הראשונה, Cloud Shell מבקש הרשאה. לוחצים על הרשאה כדי לאפשר לכלי להשתמש בפרטי הכניסה שלכם כדי לבצע קריאות.

פרטים נוספים מופיעים במאמר מתן הרשאה באמצעות Cloud Shell.

משתני סביבה שהוגדרו מראש

כשמפעילים את Cloud Shell, הפרויקט הפעיל במסוף Google Cloud מועבר להגדרות gcloud בתוך Cloud Shell, כך שאפשר להשתמש בו באופן מיידי. ‫GOOGLE_CLOUD_PROJECT, משתנה הסביבה שמשמש את התמיכה בספריית Application Default Credentials להגדרת מזהה הפרויקט, מוגדר גם להצביע על הפרויקט הפעיל במסוף Google Cloud . משתנה הסביבה WEB_HOST מצביע על שם המארח של מכונת Cloud Shell הווירטואלית, שאפשר להשתמש בו כדי לשלוח בקשות HTTPS לסביבה.

בחירת אזור

‫Cloud Shell מפוזר באופן גלובלי בין כמהGoogle Cloud אזורים. כשמתחברים ל-Cloud Shell בפעם הראשונה, המערכת מקצה לכם באופן אוטומטי את האזור הזמין הקרוב ביותר. אי אפשר לבחור אזור, ואם Cloud Shell לא בוחר את האזור הכי קרוב, הוא מנסה להעביר את המכונה הווירטואלית של Cloud Shell לאזור קרוב יותר כשהיא לא בשימוש.

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

curl metadata/computeMetadata/v1/instance/zone

השקת תמונות

קובץ האימג' של הקונטיינר של Cloud Shell מתעדכן מדי שבוע כדי שהכלים שכלולים בו יהיו עדכניים. כלומר, ב-Cloud Shell תמיד מותקנות הגרסאות העדכניות של gcloud CLI, ‏ Docker וכלי עזר אחרים.

משתמש Root

כשמגדירים סשן של Cloud Shell, מקבלים חשבון משתמש רגיל ב-Unix עם שם משתמש שמבוסס על כתובת האימייל. עם הגישה הזו, יש לכם הרשאות מלאות של root במכונה הווירטואלית שהוקצתה לכם, ואתם יכולים אפילו להריץ פקודות sudo, אם צריך.

כלים זמינים

במכונה הווירטואלית של Cloud Shell מותקנים מראש הכלים הבאים:

סוג כלי
מפרשי פקודות של Linux bash
sh
כלי עזר ל-Linux כלי מערכת רגילים של Debian
ה-CLI של gcloud והכלים App Engine SDK
Google Cloud CLI כולל gcloud CLI
gsutil ל-Cloud Storage
עורכי טקסט ‫Emacs
Vim
Nano
כלים לבנייה וליצירת חבילות התקנה Gradle
Helm
Make
Maven
Bazel
npm
nvm
pip
uv
Composer
כלים לבקרת מקור Git
Mercurial
כלים נוספים ‫Docker
iPython
MySQL client
gRPC compiler
TensorFlow
Terraform

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

שפות

המכונה הווירטואלית של Cloud Shell מספקת תמיכה מותקנת מראש בשפות הבאות:

שפה גרסה
Java ‫JRE/JDK 17 (OpenJDK)
המשך הועלו לאחרונה
Python ‫3.12
Node.js LTS
Ruby ‫3.2
PHP 8.3
‎.NET Core ערכות SDK בגרסאות 6.0,‏ 7.0 ו-8.0

גרסת ברירת המחדל של סביבת Java היא 17. כדי לשנות את הגרסה של JRE ו-JDK בסשן הנוכחי של Cloud Shell לגרסה 1.11, מזינים את הפקודה הבאה בשורת הפקודה של Cloud Shell:

sudo update-java-alternatives -s java-1.11.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

כדי לשנות ל-21:

sudo update-java-alternatives -s java-1.21.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64

כדי לחזור לגרסה 17:

sudo update-java-alternatives -s java-1.17.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/jre

מצב בטוח

אם יש בעיה בקבצים .bashrc או .tmux.conf, ‏ Cloud Shell נסגר מיד אחרי החיבור. במצב בטוח, המערכת מפעילה מחדש את מופע Cloud Shell ומבצעת כניסה כמשתמש root, כך שאפשר לתקן בעיות בקבצים.

כדי לפתוח את Cloud Shell במצב בטוח:

  • מצרפים את cloudshellsafemode=true לכתובת ה-URL.
  • ב-Cloud Shell, לוחצים על , לוחצים על Safe Mode (מצב בטוח) ואז על Restart (הפעלה מחדש).

כדי למחוק באופן סופי את כל הקבצים בספריית הבית ולשחזר את ספריית הבית של Cloud Shell למצב נקי, אפשר לאפס את מכונת ה-VM של Cloud Shell.