חיבור מכונות וירטואליות של TPU לקטגוריות של Cloud Storage

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

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

כדי לגשת לקטגוריה של Cloud Storage, צריך חשבון שירות שמצורף למכונה וירטואלית של TPU. אם לא מציינים חשבון שירות כשיוצרים מכונה וירטואלית של TPU, המערכת משתמשת בחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine.

כדי להגדיר Google Cloud פרויקט ל-TPU וליצור מכונה וירטואלית של TPU, פועלים לפי ההוראות במאמרים הבאים:

  1. להגדיר Google Cloud פרויקט ל-TPU.
  2. יצירת מכונת TPU וירטואלית באמצעות Compute Engine

כתיבת נתונים ל-Cloud Storage

המסוף

  1. נכנסים לדף Cloud Storage במסוף Google Cloud .

    כניסה לדף Cloud Storage

  2. יוצרים קטגוריה חדשה ומציינים את האפשרויות הבאות:

    • שם ייחודי שתבחרו.
    • סוג האחסון (storage class) שמוגדר כברירת מחדל: Standard
    • מיקום: האזור שבו יצרתם את ה-TPU VM. מידע נוסף על אזורים ועל זמינות של TPU זמין במאמר אזורים ותחומים של TPU.

CLI

  1. משתמשים בפקודה gcloud storage buckets create כדי ליצור קטגוריה של Cloud Storage:

    gcloud storage buckets create gs://BUCKET_NAME --location REGION
    

    מחליפים את ה-placeholders הבאים:

    • BUCKET_NAME הוא שם הקטגוריה שרוצים ליצור.
    • REGION הוא האזור שבו יצרתם את מכונת ה-TPU הווירטואלית. מידע נוסף על אזורים ועל זמינות של TPU זמין במאמר אזורים ותחומים של TPU.
  2. כדי לכתוב קבצים לקטגוריה של Cloud Storage, משתמשים בפקודה gcloud storage cp:

    gcloud storage cp -r LOCAL_DATA_DIR gs://BUCKET_NAME
    

    מחליפים את ה-placeholders הבאים:

    • LOCAL_DATA_DIR הוא נתיב מקומי לנתונים. לדוגמה: $HOME/your-data
    • BUCKET_NAME הוא שם הקטגוריה שרוצים לכתוב אליה.

הענקת גישה למכונה וירטואלית של TPU ל-Cloud Storage

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

אישור חשבון השירות המצורף

הדרך המומלצת להעניק הרשאה לחשבון השירות המצורף היא באמצעות רשימות של בקרת גישה (ACL) עם הרשאות מפורטות. אפשר גם להעניק הרשאות רחבות יותר באמצעות הרשאות IAM.

שימוש ברשימות ACL בפירוט מדויק למכונות וירטואליות של TPU (מומלץ)

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

המסוף

  1. נכנסים לדף Cloud Storage Browser כדי לראות את הקטגוריות שבבעלותכם.

    כניסה לדף Cloud Storage browser

  2. בוחרים את הדלי שרוצים לשנות את רשימת ה-ACL שלו.

  3. לוחצים על הכרטיסייה Permissions (הרשאות).

  4. לוחצים על Grant access (מתן גישה) כדי להוסיף הרשאה חדשה, ומקלידים את השם המלא של חשבון השירות בתיבת העריכה New principals (חשבונות משתמש חדשים).

  5. אם אתם קוראים מהקטגוריה הזו, אתם צריכים לתת לחשבון השירות המצורף הרשאה לקרוא מהמשאב. כדי לעשות את זה, מקצים לחשבון השירות את התפקיד Storage Legacy > Storage Legacy Bucket Reader.

  6. אם אתם כותבים לקטגוריה הזו, אתם צריכים לתת לחשבון השירות המצורף הרשאה לכתוב למשאב. כדי לעשות את זה, מקצים לחשבון השירות את התפקיד Storage Legacy > Storage Legacy Bucket Writer.

CLI

  1. אם אתם קוראים מהקטגוריה הזו, צריך לתת הרשאת קריאה לחשבון השירות המצורף:

     gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectViewer
    

    מחליפים את ה-placeholders הבאים:

    • BUCKET_NAME הוא שם הקטגוריה שרוצים לקרוא ממנה.
    • SERVICE_ACCOUNT הוא השם של חשבון השירות שמחובר ל-TPU VM.
  2. אם אתם כותבים לקטגוריה הזו, צריך לתת הרשאת כתיבה לחשבון השירות המצורף:

     gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectCreator
    

    מחליפים את ה-placeholders הבאים:

    • BUCKET_NAME הוא שם הקטגוריה שרוצים לכתוב אליה.
    • SERVICE_ACCOUNT הוא השם של חשבון השירות שמחובר ל-TPU VM.

שימוש בהרשאות IAM במכונת TPU וירטואלית (חלופה)

אם רוצים לתת הרשאות רחבות יותר במקום לתת גישה לכל קטגוריה בנפרד, אפשר לתת לחשבון השירות שמצורף למכונה הווירטואלית של TPU את התפקיד Storage Admin (אדמין אחסון) בניהול זהויות והרשאות גישה (IAM).

  1. כניסה לדף IAM

  2. לוחצים על הלחצן Grant access כדי להוסיף חשבונות משתמש לפרויקט.

  3. מזינים את השם של חשבון השירות המצורף בשדה Principals.

  4. לוחצים על הרשימה הנפתחת תפקידים.

  5. מפעילים את התפקידים הבאים:

    • Project > Viewer

    • אחסון > אדמין לניהול נפח האחסון

Cloud Storage FUSE

‫Cloud Storage FUSE מאפשר לטעון קטגוריות של Cloud Storage ולגשת אליהן כמערכות קבצים מקומיות. כך אפליקציות יכולות לקרוא ולכתוב אובייקטים בקטגוריה שלכם באמצעות סמנטיקה סטנדרטית של מערכת קבצים.

במאמרי העזרה של Cloud Storage FUSE מוסבר איך Cloud Storage FUSE פועל ומתואר איך פעולות של Cloud Storage FUSE ממופות לפעולות של Cloud Storage. מידע נוסף על השימוש ב-Cloud Storage FUSE, כמו הוראות להתקנת gcsfuse CLI ולטעינת קטגוריות, זמין ב-GitHub.

הסרת המשאבים

  1. אם עדיין לא עשיתם זאת, מתנתקים מה-TPU VM:

    exit
    
  2. ב-Cloud Shell או במסוף, מוחקים את מכונת ה-TPU הווירטואלית:

    gcloud compute instances delete TPU_NAME --zone=ZONE
    

    מחליפים את ה-placeholders הבאים:

    • TPU_NAME: השם של מכונת ה-TPU הווירטואלית שיצרתם.
    • ZONE: האזור שבו נוצרה מכונת ה-TPU.
  3. מריצים את הפקודה gcloud compute instances list כדי לוודא שה-VM נמחק. יכול להיות שיחלפו כמה דקות עד שהפריט יימחק.

    gcloud compute instances list --zone=ZONE
    

    מחליפים את ZONE בתחום שבו נוצרה מכונת ה-TPU הווירטואלית.

    אם התגובה לא כוללת את מופע ה-TPU, סימן שהוא נמחק בהצלחה.

  4. כדי למחוק את הקטגוריה של Cloud Storage ואת התוכן שלה, מריצים את הפקודה הבאה ומחליפים את BUCKET_NAME בשם של הקטגוריה שיצרתם:

    gcloud storage rm --recursive gs://BUCKET_NAME
    

    מחליפים את ה-placeholders הבאים:

    • BUCKET_NAME: שם הקטגוריה שרוצים למחוק.

המאמרים הבאים