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

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

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

צריך לתת לחשבון השירות של TPU בפרויקט השירות הרשאות לניהול משאבים בפרויקט המארח. כדי לעשות את זה, צריך להשתמש בתפקיד TPU Shared VPC Agent (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 הווירטואלית

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

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