באמצעות Cloud Shell אתם יכולים לנהל את המשאבים של Google Cloud ולפתח אפליקציות ישירות מהדפדפן, בלי להתקין כלים מקומיים. כשמתחילים סשן, Cloud Shell מקצה מכונה וירטואלית זמנית ב-Compute Engine שמריצה Linux מבוסס-Debian. המכונה הווירטואלית הזו נמצאת בבעלות ובניהול שלGoogle Cloud , ולכן היא לא מופיעה בפרויקטים של Google Cloud .
Google Cloud מקצה מכונות של Cloud Shell לכל משתמש ולכל סשן. המכונה נשארת כל עוד הסשן ב-Cloud Shell פעיל. אחרי שעה של חוסר פעילות, הסשן מסתיים והמכונה הווירטואלית שלו נמחקת. מידע נוסף על מכסות השימוש זמין במדריך המגבלות.
בממשק ברירת המחדל של Cloud Shell, מוקצית לכם מכונה וירטואלית זמנית שהוגדרה מראש, והסביבה שבה אתם עובדים היא קונטיינר של Docker שפועל במכונה הווירטואלית הזו. אתם יכולים גם להתאים אישית את הסביבה באופן אוטומטי בזמן ההפעלה של המכונה הווירטואלית, כדי לוודא שהמכונה של Cloud Shell כוללת את הכלים המועדפים עליכם.
אחסון בדיסק מתמיד (persistent disk)
ב-Cloud Shell מוקצים 5GB של אחסון בדיסק מתמיד (persistent disk) בחינם, שמוגדר כספרייה $HOME במכונה הווירטואלית. נפח האחסון הזה הוא לכל משתמש וזמין בכל הפרויקטים. בניגוד למכונה עצמה, האחסון הזה לא נסגר אחרי זמן קצוב של חוסר פעילות. כל הקבצים שאתם מאחסנים בספריית הבית, כולל תוכנות מותקנות, סקריפטים וקובצי תצורה של המשתמש כמו .bashrc ו-.vimrc, נשמרים בין הסשנים. הספרייה $HOME היא פרטית ומשתמשים אחרים לא יכולים לגשת אליה.
כשמשתמשים ב-Cloud Shell, אי אפשר להרחיב את נפח האחסון של Persistent Disk. כדי לשלוט טוב יותר בנפח האחסון ולקבל יותר מקום, אתם יכולים להשתמש ב-Cloud Workstations.
ב-Cloud Shell יש גם מצב זמני, שבו אפשר להשתמש ב-Cloud Shell בלי אחסון בדיסק מתמיד. בפרופיל זמני, זמני האתחול מהירים יותר, אבל כל הקבצים שנוצרים בסשן אובדים בסיום הסשן.
הרשאה
בפעם הראשונה שאתם מבצעים קריאה ל-Google Cloud API או משתמשים בכלי של שורת הפקודה שדורש פרטי כניסה (כמו Google Cloud CLI) באמצעות Cloud Shell, תתבקשו לתת הרשאה ב-Cloud Shell. לוחצים על Authorize כדי לאפשר לכלי להשתמש בפרטי הכניסה שלכם לביצוע קריאות.
לפרטים נוספים, קראו את המאמר מתן הרשאה באמצעות 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 תמיד יש את הגרסאות העדכניות של ה-CLI של gcloud, של Docker ושל כלים אחרים.
משתמש Root
כשמגדירים סשן ב-Cloud Shell, מקבלים חשבון משתמש רגיל ב-Unix עם שם משתמש שמבוסס על כתובת האימייל שלכם. עם הגישה הזו, יש לכם הרשאות בסיס מלאות במכונה הווירטואלית שהוקצתה לכם, ואתם יכולים אפילו להריץ פקודות sudo, אם צריך.
באילו כלים אפשר להשתמש
במכונה הווירטואלית של Cloud Shell מותקנים מראש הכלים הבאים:
| סוג | כלי |
|---|---|
| מפרשי מעטפת של Linux |
bash sh |
| כלי שירות של Linux | כלי מערכת סטנדרטיים של Debian |
| ה-CLI של gcloud וכלים | Google Cloud CLI, כולל ה-CLI של gcloud |
| כלים לעריכת טקסט |
Emacs Vim Nano |
| כלים ליצירה ולאריזה |
Gradle Helm Make Maven Bazel npm nvm pip uv Composer |
| כלים לבקרת מקורות |
Git Mercurial |
| כלים נוספים |
Docker iPython MySQL client gRPC compiler TensorFlow |
אפשר להתקין חבילות תוכנה נוספות במכונה הווירטואלית, אבל ההתקנה לא תישמר אחרי שהמכונה תפסיק לפעול, אלא אם תתקינו את התוכנה בספרייה $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. כדי לשנות את הסשן הנוכחי של Cloud Shell כך שישתמש בגרסה 1.11 של JRE ו-JDK, מזינים את הפקודה הבאה בשורת הפקודה של 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 למצב נקי, אפשר לאפס את המכונה הווירטואלית של Cloud Shell.