Vertex AI יוצר notebook מאובטח בניהול משתמשים

1. מבוא

מכונות notebook בניהול משתמשים של Vertex AI Workbench מאפשרות ליצור ולנהל מכונות וירטואליות (VM) של למידה עמוקה (VM) שנארזות מראש באמצעות JupyterLab.

מכונות notebook בניהול המשתמשים כוללות חבילה מותקנת מראש של חבילות למידה עמוקה (Deep Learning), כולל תמיכה ב-frameworks של TensorFlow ו-PyTorch. אפשר להגדיר מכונות עם מעבד (CPU) בלבד או מכונות שתומכות ב-GPU.

מה תפַתחו

המדריך הזה מתאר את תהליך הפריסה של notebook מאובטח בניהול משתמש שמבוסס על שיטות מומלצות של Networking ואבטחה. השלבים הבאים מעורבים:

  1. יצירת VPC
  2. יצירת Cloud Router ו-Cloud NAT
  3. הגדרת מכונת ה-notebook עם הגדרות האבטחה המתאימות

המדריך הזה מספק הוראות מפורטות לכל שלב. הוא כולל גם טיפים ושיטות מומלצות לאבטחת notebooks בניהול המשתמשים. איור 1 ממחיש את הפריסה באמצעות VPC עצמאי.

איור 1

2292244ba0b11f71.png

מה תלמדו

  • איך לקבוע אם VPC משותף של אדם עצמאי מתאים לארגון שלכם
  • איך יוצרים VPC עצמאי
  • איך יוצרים Cloud Router ו-Cloud NAT
  • איך ליצור notebook בניהול משתמש
  • איך לגשת ל-notebook שמנוהל על ידי משתמש
  • איך לעקוב אחר תקינות notebook בניהול משתמש
  • איך יוצרים ומפעילים לוח זמנים של מכונה

למה תזדקק?

  • פרויקט ב-Google Cloud

להרשאות של IAM

2. רשת VPC

אפשר לחשוב על רשת VPC באותו אופן כמו רשת פיזית, מלבד העובדה שהיא הופכת וירטואלית ב-Google Cloud. רשת VPC היא משאב גלובלי שמורכב מרשתות משנה אזוריות. ב-Google Cloud יש רשתות VPC מבודדות אחת מהשנייה באופן לוגי.

VPC עצמאי

איור 2 הוא דוגמה ל-VPC גלובלי עצמאי שמורכב מתת-רשת אזורית (us-central1) בנוסף ל-Cloud Router ו-Cloud NAT שמשמשים כדי לאפשר ל-notebook בניהול המשתמש ליצור קישוריות לאינטרנט באופן מאובטח.

איור 2

2292244ba0b11f71.png

VPC משותף

ה-VPC המשותף מאפשר לייצא רשתות משנה מרשת VPC בפרויקט מארח אל פרויקטים של שירותים באותו ארגון. הפרויקט המארח מכיל משאבי רישות שמשותפים עם פרויקט השירות, כמו רשתות משנה, Cloud nat וכללי חומת אש. פרויקט השירות מכיל משאבים ברמת האפליקציה שמשתמשים במשאבי רשתות בפרויקט המארח.

איור 3 הוא איור של VPC משותף גלובלי, שבו תשתית הרשת והאבטחה פרוסה בפרויקט המארח, בזמן שעומסי העבודה פרוסים בפרויקט השירות.

איור 3

1354a9323c8e5787.png

גרסה עצמאית לעומת VPC משותף

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

השיטה המומלצת לשימוש ב-VPC במדריך הזה

  • כדי לגשת ל-notebook, צריך להפעיל את Cloud NAT.
  • להפעיל גישה פרטית ל-Google כשיוצרים רשתות משנה.
  • אפשר ליצור כללים מרשמים לחומת אש כדי לצמצם תנועה לא רצויה.למשל, לא להשתמש ב- 0.0.0.0/0 tcp במקום להגדיר את רשתות המשנה או כתובות ה-IP המדויקות של המארחים.
  • אפשר להשתמש בכללי מדיניות חומת האש כדי להעמיק את ההיקף של כללי תעבורת נתונים נכנסת (ingress), למשל מיקומים גיאוגרפיים, רשימות של מודיעין איומים, שמות של דומיינים מקור וכו'.

3. שיטות מומלצות ליצירת notebook

שינוי גודל המכונות

  • עצירה ו/או מחיקה של מופעים שלא נמצאים בשימוש
  • שימוש במופע ראשוני קטן יותר ואיטרציה עם נתוני דגימה קטנים יותר
  • הרחבת מכונות לפי הצורך
  • ניסוי עם מערכי נתונים קטנים יותר

בחירת סוגי המכונות הנכונים

  • מכונות וירטואליות שעברו אופטימיזציה לעלויות
  • ניצול טוב יותר של משאבי החומרה כדי להוזיל את העלויות
  • חיסכון של עד 31% בהשוואה ל-N1
  • חיסכון נוסף (20-50%) עבור התחייבות לשנה או ל-3 שנים
  • הגדלת גודל המכונה או הוספת מעבדי GPU יכולים לעזור בשיפור הביצועים והתגברות על שגיאות של מגבלות זיכרון

תזמון של כיבוי מכונות

  • כיבוי מופעים כשהם לא פעילים (תשלום רק על אחסון בדיסק)
  • תזמון של כיבוי והפעלה אוטומטית של מכונות וירטואליות של notebook בשעות מסוימות

מעקב אחרי סטטוס התקינות של notebook

שיקולי אבטחה

אלה שיקולי האבטחה המומלצים ליצירת notebook בניהול משתמשים:

  • בחירה באפשרות 'משתמש יחיד בלבד' גישה ל-notebook. אם המשתמש שצוין הוא לא היוצר של המכונה, צריך להקצות למשתמש שצוין את התפקיד 'משתמש בחשבון שירות' בחשבון השירות של המכונה.
  • משביתים את האפשרויות הבאות:
  • גישה לרמה הבסיסית (root)
  • nbconvert
  • הורדת קובץ מממשק המשתמש של JupyterLab
  • ייעשה שימוש ב-Cloud NAT במקום להקצות כתובת IP חיצונית ל-notebook שמנוהל על ידי המשתמש.
  • בוחרים את אפשרויות המחשוב הבאות:
  • הפעלה מאובטחת
  • מודול פלטפורמה מהימנה (vTPM)
  • מעקב אחרי תקינות

4. לפני שמתחילים

צריך לעדכן את הפרויקט כך שיתמוך במדריך הזה

המדריך הזה משתמש ב-$variables כדי לעזור בהטמעת ההגדרות של gcloud ב-Cloud Shell.

Inside Cloud Shell מבצעים את הפעולות הבאות:

gcloud config list project
gcloud config set project [your-project-name]
projectid=your-project-name
echo $projectid

5. הגדרת VPC

יצירת ה-VPC העצמאי

Inside Cloud Shell מבצעים את הפעולות הבאות:

gcloud compute networks create securevertex-vpc --project=$projectid --subnet-mode=custom

יצירת רשת משנה של notebook בניהול המשתמש

Inside Cloud Shell מבצעים את הפעולות הבאות:

gcloud compute networks subnets create securevertex-subnet-a --project=$projectid --range=10.10.10.0/28 --network=securevertex-vpc --region=us-central1 --enable-private-ip-google-access

הגדרת Cloud Router ו-NAT

נעשה שימוש ב-Cloud NAT במדריך להורדת חבילות תוכנה של notebook, כי למכונה של notebook שמנוהלת על ידי המשתמש אין כתובת IP חיצונית. ב-Cloud NAT יש גם יכולות של תעבורת נתונים יוצאת (egress NAT), כלומר שמארחי אינטרנט לא יכולים ליזום תקשורת עם notebook שמנוהל על ידי משתמש, ולכן הוא מאובטח יותר.

יוצרים את הנתב האזורי בענן בתוך Cloud Shell.

gcloud compute routers create cloud-router-us-central1 --network securevertex-vpc --region us-central1

ב-Inside Cloud Shell, יוצרים את שער Cloud nat האזורי.

gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1 --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

6. יצירה של קטגוריית אחסון

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

יוצרים קטגוריה של Cloud Storage ומחליפים את BUCKET_NAME בשם ייחודי גלובלי מועדף עליך.

יוצרים קטגוריית אחסון ייחודית בתוך Cloud Shell.

gsutil mb -l us-central1 -b on gs://BUCKET_NAME

אחסון של ‘BUCKET_NAME' משך שיעור ה-Lab

BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME

7. יצירת סקריפט לאחר ההפעלה של פוסט

כדי להפעיל את ההורדה של חבילות ה-AI הגנרטיבי, יוצרים סקריפט פוסט-הפעלה ב-Cloud Shell באמצעות vi או nano Editor ושומרים אותו בתור poststartup.sh.

#! /bin/bash
echo "Current user: id" >> /tmp/notebook_config.log 2>&1
echo "Changing dir to /home/jupyter" >> /tmp/notebook_config.log 2>&1
cd /home/jupyter
echo "Cloning generative-ai from github" >> /tmp/notebook_config.log 2>&1
su - jupyter -c "git clone https://github.com/GoogleCloudPlatform/generative-ai.git" >> /tmp/notebook_config.log 2>&1
echo "Current user: id" >> /tmp/notebook_config.log 2>&1
echo "Installing python packages" >> /tmp/notebook_config.log 2&1
su - jupyter -c "pip install --upgrade --no-warn-conflicts --no-warn-script-location --user \
     google-cloud-bigquery \
     google-cloud-pipeline-components \
     google-cloud-aiplatform \
     seaborn \
     kfp" >> /tmp/notebook_config.log 2>&1

דוגמה:

vpc_admin@cloudshell$ more poststartup.sh 
#! /bin/bash
echo "Current user: id" >> /tmp/notebook_config.log 2>&1
echo "Changing dir to /home/jupyter" >> /tmp/notebook_config.log 2>&1
cd /home/jupyter
echo "Cloning generative-ai from github" >> /tmp/notebook_config.log 2>&1
su - jupyter -c "git clone https://github.com/GoogleCloudPlatform/generative-ai.git" >> /tmp/notebook_config.log 2>&1
echo "Current user: id" >> /tmp/notebook_config.log 2>&1
echo "Installing python packages" >> /tmp/notebook_config.log 2&1
su - jupyter -c "pip install --upgrade --no-warn-conflicts --no-warn-script-location --user \
     google-cloud-bigquery \
     google-cloud-pipeline-components \
     google-cloud-aiplatform \
     seaborn \
     kfp" >> /tmp/notebook_config.log 2>&1

העלאת הסקריפט לאחר ההפעלה לקטגוריית האחסון מ-Cloud Shell באמצעות gsutil

gsutil cp poststartup.sh gs://$BUCKET_NAME

8. יצירה של חשבון שירות

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

כדי להמשיך, צריך את Service Account API.

יוצרים את חשבון השירות ב-Inside Cloud Shell.

gcloud iam service-accounts create user-managed-notebook-sa \
    --display-name="user-managed-notebook-sa"

ב-Inside Cloud Shell, מעדכנים את חשבון השירות עם התפקיד Storage Object Viewer

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/storage.objectViewer"

ב-Inside Cloud Shell, מעדכנים את חשבון השירות עם התפקיד Vertex AI User

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"

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

gcloud iam service-accounts list

דוגמה:

$ gcloud iam service-accounts list
DISPLAY NAME: user-managed-notebook-sa
EMAIL: user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com
DISABLED: False

9. יצירת notebook מאובטח בניהול המשתמש

מכונה של notebooks בניהול משתמשים היא מכונה וירטואלית של למידה עמוקה (Deep Learning), שבה מותקנות מראש הספריות העדכניות ביותר של למידת מכונה ומדעי הנתונים. אפשר גם לכלול מעבדי GPU של Nvidia לשיפור שיפור המהירות באמצעות חומרה.

הפעלת ממשקי API לצרכנים

את Notebooks API

יצירת ה-notebook בניהול המשתמש

  1. עוברים אל Workbench
  2. בוחרים באפשרות 'notebooks בניהול המשתמש' ואז בוחרים באפשרות 'יצירת notebook'. הדף Create a user-managed notebook ייפתח.
  3. אם מחברת קיימת פרוסה, בוחרים 'notebooks בניהול המשתמש' ← 'New Notebook' ← 'התאמה אישית'.
  4. בדף Create a user-managed notebook (יצירה של notebook בניהול משתמש), בקטע Details (פרטים), מזינים את המידע הבא לגבי המכונה החדשה:
  • Name (שם): נותנים שם למכונה החדשה.
  • Region ו-Zone: המדריך ישתמש באזור us-central1 ובתחום us-central1-a

לוחצים על המשך.

  1. בקטע סביבה, מספקים את הפרטים הבאים:
  • מערכת הפעלה: בוחרים את מערכת ההפעלה שבה רוצים להשתמש.
  • בוחרים את הסביבה שבה רוצים להשתמש.
  • Version (גרסה): בוחרים את הגרסה שבה רוצים להשתמש.
  • סקריפט לאחר ההפעלה (אופציונלי,יש להשתמש בסקריפט של ה-AI הגנרטיבי שנוצר קודם לכן) בוחרים באפשרות 'עיון' כדי לבחור סקריפט שיופעל אחרי שהמכונה תתחיל.
  • מטא-נתונים: אופציונלי: מספקים מפתחות של מטא-נתונים בהתאמה אישית עבור המכונה.

לוחצים על המשך.

  1. בקטע Machine type, מספקים את הפרטים הבאים:
  • סוג המכונה: בוחרים את מספר המעבדים ואת כמות ה-RAM למכונה החדשה. מערכת Vertex AI Workbench מספקת הערכת עלויות חודשיות לכל סוג מכונה שבוחרים.
  • סוג ה-GPU: בוחרים את סוג ה-GPU ואת מספר יחידות ה-GPU למכונה החדשה. למידע על יחידות ה-GPU השונות, עיינו במאמר מעבדי GPU ב-Compute Engine.
  • בוחרים את תיבת הסימון 'התקנת מנהל התקן NVIDIA GPU באופן אוטומטי עבורי'.

VM מוגן

  • הפעלת הפעלה מאובטחת
  • הפעלת vTPM
  • הפעלת מעקב אחר תקינות

לוחצים על המשך.

  1. בקטע Disks (דיסקים), מציינים את הפרטים הבאים:
  • דיסקים: אופציונלי: כדי לשנות את הגדרות ברירת המחדל לאתחול או לדיסק נתונים, בוחרים את סוג דיסק האתחול, גודל דיסק האתחול ב-GB, סוג דיסק הנתונים וגודל אחסון הנתונים ב-GB שרוצים. מידע נוסף על סוגי דיסקים זמין במאמר אפשרויות אחסון.
  • מחיקה לאשפה: אופציונלי: מסמנים את התיבה הזו כדי להשתמש בהתנהגות ברירת המחדל של האשפה במערכת ההפעלה. אם משתמשים בהתנהגות האשפה המוגדרת כברירת מחדל, ניתן לשחזר קבצים שנמחקו באמצעות ממשק המשתמש של JupyterLab, אבל הקבצים המחוקים האלו כן תופסים מקום בכונן.
  • גיבוי: אופציונלי: כדי לסנכרן מיקום ב-Cloud Storage עם דיסק הנתונים של המכונה, בוחרים באפשרות Browse (עיון) ומציינים את המיקום של Cloud Storage. למידע על עלויות האחסון, ראו תמחור של Cloud Storage.
  • הצפנה: מפתח הצפנה בניהול Google

לוחצים על המשך.

  1. בקטע Networking, מציינים את הפרטים הבאים:
  • Networking: בוחרים באפשרות 'רשתות' בפרויקט הזה או באפשרות 'רשתות ששותפו איתי'. אם אתם משתמשים ב-VPC משותף בפרויקט המארח, עליכם להקצות גם את התפקיד Compute Network User (roles/compute.networkUser) ל-Notebooks Service Agent מפרויקט השירות.
  • בשדה 'רשת', בוחרים את הרשת הרצויה. המדריך משתמש ברשת securevertex-vpc. אפשר לבחור רשת VPC, כל עוד ברשת מופעלת גישה פרטית ל-Google או שיש לה גישה לאינטרנט. בשדה 'רשת משנה', בוחרים את רשת המשנה הרצויה, במדריך שבו משתמשים ברשת המשנה securevertex-subnet-a.
  • ביטול הבחירה בהקצאת כתובת IP חיצונית
  • בוחרים באפשרות 'אישור גישה לשרת proxy'

לוחצים על המשך.

81bb7dbe31fbf587.png

  1. בקטע IAM ואבטחה, מספקים את הפרטים הבאים:
  • בוחרים באפשרות משתמש יחיד, ואז, בשדה 'כתובת האימייל של המשתמש', מזינים את חשבון המשתמש שרוצים להעניק לו גישה. אם המשתמש שצוין הוא לא היוצר של המכונה, צריך להקצות למשתמש שצוין את התפקיד 'משתמש בחשבון שירות' בחשבון השירות של המכונה.
  • ביטול הבחירה באפשרות 'שימוש בחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine ב-VM כדי לקרוא ל-Google Cloud APIs'
  • מזינים את כתובת האימייל של חשבון השירות שנוצר. לדוגמה: user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com.

אפשרויות אבטחה

  • ביטול הבחירה של הפעלת הגישה לרמה הבסיסית (root) למכונה
  • ביטול הבחירה באפשרות 'הפעלה של nbconversion'
  • ביטול הבחירה באפשרות 'הפעלת הורדת קובץ' מממשק המשתמש של JupyterLab
  • הפעלת הטרמינל (ביטול הבחירה בסביבות ייצור)

לוחצים על המשך.

e19f3cd05a2c1b7f.png

  1. בקטע 'תקינות המערכת', מציינים את הפרטים הבאים

שדרוג הסביבה ותקינות המערכת

  • מסמנים את התיבה 'הפעלת שדרוג אוטומטי של הסביבה'.
  • בוחרים אם לשדרג את ה-notebook לפי שבוע או פעם בחודש.

בקטע 'תקינות המערכת' והדיווח, מסמנים את תיבות הסימון הבאות או מבטלים את הסימון שלהן:

  • הפעלת דוח תקינות המערכת
  • דיווח על מדדים מותאמים אישית ל-Cloud Monitoring
  • התקנת סוכן Cloud Monitoring

בוחרים באפשרות יצירה.

10. אימות

מערכת Vertex AI Workbench יוצרת מכונת notebooks בניהול משתמשים, על סמך המאפיינים שציינתם, ומפעילה את המכונה באופן אוטומטי. כשהמכונה מוכנה לשימוש, Vertex AI Workbench מפעיל קישור Open JupyterLab שמאפשר למשתמש הקצה גישה ל-notebook.

11. ניראות (observability)

לעקוב אחרי מדדי המערכת והאפליקציות באמצעות Monitoring

במכונות notebook בניהול משתמשים שבהן מותקן Monitoring, אתם יכולים לעקוב אחרי מדדי המערכת והאפליקציות באמצעות מסוף Google Cloud:

  1. במסוף Google Cloud, נכנסים לדף notebooks שמנוהלים על ידי משתמשים.
  2. לוחצים על שם המכונה שרוצים לראות את מדדי המערכת והאפליקציה שלו.
  3. בדף פרטי המחברת, לוחצים על הכרטיסייה 'מעקב'. בודקים את מדדי המערכת והאפליקציה של המכונה.

12. יצירת לוח זמנים של notebook

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

כדי להשתמש בלוחות זמנים של מכונות, צריך ליצור מדיניות משאבים שמפרטת את התנהגות ההתחלה והעצירה, ואז מצרפים את המדיניות למכונה וירטואלית אחת או יותר.

במדריך תלמדו איך ליצור לוח זמנים למכונה שיופעל ב-notebook בשעה 7:00 ותכבה אותו ב-18:00.

כדי ליצור את תזמון המכונה, נדרשת ההרשאה compute.instances.start ו-compute.instances.stop, ולכן מומלץ להשתמש בתפקיד בהתאמה אישית שהאדמין העניק לכם.

אחרי שיוצרים את התפקיד בהתאמה אישית, הוא יוקצה לחשבון השירות שמשמש כברירת מחדל ב-Compute Engine בפרויקט. כך תזמון המכונה יתחיל ויפסיקו את ה-notebook.

יצירת תפקיד בהתאמה אישית

ב-Inside Cloud Shell, יוצרים תפקיד מותאם אישית, VmScheduler, וכוללים את ההרשאות הנדרשות.

gcloud iam roles create Vm_Scheduler --project=$projectid \
    --title=vm-scheduler-notebooks \
    --permissions="compute.instances.start,compute.instances.stop" --stage=ga

תיאור התפקיד בהתאמה אישית מ-Cloud Shell.

gcloud iam roles describe Vm_Scheduler --project=$projectid

דוגמה:

$ gcloud iam roles describe Vm_Scheduler --project=$projectid
etag: BwX991B0_kg=
includedPermissions:
- compute.instances.start
- compute.instances.stop
name: projects/$projectid/roles/Vm_Scheduler
stage: GA
title: vm-scheduler-notebooks

עדכון חשבון השירות שמוגדר כברירת מחדל

בקטע הבא מצוין ותעדכן את חשבון השירות המוגדר כברירת מחדל שמכיל את הפורמט: PROJECT_NUMBER-compute@developer.gserviceaccount.com

מזהים את מספר הפרויקט הנוכחי ב-Cloud Shell.

gcloud projects list --filter=$projectid

מאחסנים ב-Cloud Shell את מספר הפרויקט כמשתנה.

project_number=your_project_number
echo $project_number

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

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:$project_number-compute@developer.gserviceaccount.com" --role="projects/$projectid/roles/Vm_Scheduler"

יצירת לוח הזמנים של המכונה

יוצרים ב-Cloud Shell את לוח הזמנים להתחלה ולסיום.

gcloud compute resource-policies create instance-schedule optimize-notebooks \
    --region=us-central1 \
    --vm-start-schedule='0 7 * * *' \
    --vm-stop-schedule='0 18 * * *' \
        --timezone=America/Chicago

ב-Cloud Shell, שומרים את שם ה-notebook.

gcloud compute instances list
notebook_vm=your_notebookvm_name
echo $notebook_vm

אפשר לצרף לוח זמנים של מכונה לכל מכונה וירטואלית קיימת שנמצאת באותו אזור שבו נמצא לוח הזמנים של המכונה.

משייכים את לוח הזמנים ב-Cloud Shell ל-notebook.

gcloud compute instances add-resource-policies $notebook_vm \
--resource-policies=optimize-notebooks \
--zone=us-central1-a

13. הסרת המשאבים

מוחקים את ה-notebook בניהול המשתמש מהמסוף, עוברים אל Vertex AI ← Workbench, בוחרים ומוחקים את ה-notebook.

מוחקים את רכיבי ה-VPC מ-Cloud Shell.

gcloud compute routers delete cloud-router-us-central1 --region=us-central1 --quiet

gcloud compute routers nats delete cloud-nat-us-central1 --region=us-central1 --router=cloud-router-us-central1 --quiet

gcloud compute instances remove-resource-policies $notebook_vm \
--resource-policies=optimize-notebooks \
--zone=us-central1-a --quiet

gcloud compute resource-policies delete optimize-notebooks --region=us-central1 --quiet

gcloud compute instances delete $notebook_vm --zone=us-central1-a --quiet

gcloud compute networks subnets delete securevertex-subnet-a --region=us-central1 --quiet 

gcloud iam service-accounts delete user-managed-notebook-sa@$projectid.iam.gserviceaccount.com --quiet 

gcloud projects remove-iam-policy-binding $projectid --member="serviceAccount:$project_number-compute@developer.gserviceaccount.com" --role="projects/$projectid/roles/Vm_Scheduler"

gcloud iam roles delete Vm_Scheduler --project=$projectid

gcloud compute networks delete securevertex-vpc --quiet 

14. מזל טוב

כל הכבוד! הצלחתם להגדיר ולאמת notebook מאובטח בניהול המשתמשים על ידי יצירת VPC עצמאי בהתאמה אישית באמצעות שיטות מומלצות של הקשחת אבטחה לקובצי notebook מנוהלים, והטמעתם לוח זמנים למכונות כדי לייעל את ההוצאות.

מה השלב הבא?

מעיינים בכמה מהמדריכים האלה...

המשך קריאה סרטונים

מסמכי עזר