חיבור TPU לרשת VPC משותפת

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

הגדרת פרויקט מארח של VPC

צריך לתת לחשבון השירות של TPU בפרויקט השירות הרשאות לניהול משאבים בפרויקט המארח. כדי לעשות את זה, צריך להשתמש בתפקיד 'סוכן TPU ב-VPC משותף' (roles/tpu.xpnAgent). מריצים את הפקודות הבאות של gcloud כדי להעניק את קישור התפקיד הזה.

gcloud projects add-iam-policy-binding host-project-id \
--member=serviceAccount:service-your-service-project-number@gcp-sa-tpu.iam.gserviceaccount.com \
--role=roles/tpu.xpnAgent

יצירת מכונת TPU וירטואלית שמחוברת לרשת VPC משותפת

קודם כול צריך לקבוע אילו סוגים וגרסאות של מאיצים זמינים באזור.

gcloud compute tpus accelerator-types list --zone zone
gcloud compute tpus versions list --zone zone

כשיוצרים TPU, מחברים את ה-TPU VM לרשת VPC משותפת. מציינים את ה-VPC המשותף באמצעות התג --network:

gcloud compute tpus tpu-vm create tpu-name \
   --zone zone \
   --accelerator-type accelerator-type \
   --network projects/host-project-id/global/networks/host-network \
   --version tpu-image-version \
   --project your-service-project-id

כדי לוודא ש-TPU VM מחובר ל-VPC משותף, משתמשים בפקודה gcloud describe:

$ gcloud compute tpus tpu-vm describe tpu-name --zone zone

התשובה כוללת את הרשת שאליה מחוברת מכונת ה-TPU הווירטואלית:

acceleratorType: v3-8
apiVersion: V2
cidrBlock: 10.128.0.0/20
createTime: '2022-06-17T21:32:13.859274143Z'
health: HEALTHY
id: '0000000000000000000'
name: projects/my-project/locations/us-central1-b/nodes/my-tpu
networkConfig:
  enableExternalIps: true
  network: projects/my-project/global/networks/default
  subnetwork: projects/my-project/regions/us-central1/subnetworks/default
networkEndpoints:
- accessConfig:
    externalIp: 000.000.000.000
  ipAddress: 10.128.0.104
  port: 8470
runtimeVersion: tpu-vm-tf-2.8.0
schedulingConfig: {}
serviceAccount:
  email: 00000000000-compute@developer.gserviceaccount.com
  scope:
  - https://www.googleapis.com/auth/devstorage.read_write
  - https://www.googleapis.com/auth/logging.write
  - https://www.googleapis.com/auth/service.management
  - https://www.googleapis.com/auth/servicecontrol
  - https://www.googleapis.com/auth/cloud-platform
  - https://www.googleapis.com/auth/pubsub
shieldedInstanceConfig: {}
state: READY

מחיקת ה-TPU VM

כשמסיימים להשתמש במכונת ה-TPU הווירטואלית, חשוב למחוק אותה.

gcloud compute tpus tpu-vm delete tpu-name --zone zone