Menghubungkan TPU ke jaringan VPC bersama

Cara Anda menghubungkan host TPU ke VPC Bersama bergantung pada arsitektur TPU (TPU VM atau TPU Node) yang Anda gunakan. Untuk mengetahui informasi selengkapnya tentang arsitektur TPU, lihat Arsitektur Sistem TPU.

Menghubungkan VM TPU ke Jaringan VPC Bersama

Mengonfigurasi project host VPC

Saat menggunakan arsitektur VM TPU, Anda perlu memberikan Akun Layanan TPU dalam izin project layanan untuk mengelola resource di project host. Anda melakukan hal ini menggunakan peran "Agen VPC Bersama TPU" (roles/tpu.xpnAgent). Jalankan perintah gcloud berikut untuk memberikan binding peran ini.

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

Buat VM TPU yang terhubung ke Jaringan VPC Bersama

Pertama, tentukan jenis dan versi akselerator yang tersedia di zona tersebut

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

Anda menghubungkan VM TPU ke jaringan VPC bersama saat membuat TPU. Tentukan VPC bersama Anda menggunakan tag --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 runtime-version \
--project your-service-project-id

Anda dapat memverifikasi bahwa VM TPU sudah terhubung ke VPC bersama menggunakan perintah gcloud compute tpus tpu-vm describe:

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

Respons mencakup jaringan tempat TPU VM Anda terpasang:

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

Menghapus VM TPU

Setelah selesai dengan VM TPU, pastikan Anda menghapusnya.

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

Menghubungkan Node TPU ke VPC Bersama

Mengonfigurasi Akses Layanan Pribadi

Sebelum menggunakan Node TPU dengan VPC Bersama, Anda perlu membuat koneksi akses layanan pribadi.

  1. Aktifkan Service Networking API menggunakan perintah Google Cloud CLI berikut. Langkah ini hanya perlu dilakukan sekali per Project Cloud Platform.

    gcloud services enable servicenetworking.googleapis.com
    
  2. Mengalokasikan rentang alamat IP yang dicadangkan untuk digunakan oleh Service Networking. prefix-length harus berukuran 24 atau kurang. Contoh:

    gcloud compute addresses create sn-range-1 --global \
    --addresses=10.110.0.0 \
    --prefix-length=16 \
    --purpose=VPC_PEERING \
    --network=network-name
  3. Membuat koneksi akses layanan pribadi.

    $ gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \
    --ranges=sn-range-1 \
    --network=network-name
    
  4. Pastikan peering VPC telah dibuat. Perintah berikut mencantumkan semua peering VPC untuk jaringan yang ditentukan.

    gcloud services vpc-peerings list --network=network-name
    

Menghubungkan Node TPU dengan Jaringan VPC Bersama

Anda menghubungkan Node TPU ke jaringan VPC bersama saat membuat TPU. Tentukan VPC bersama Anda menggunakan tag --network:

$ gcloud compute tpus execution-groups create \
  --name=tpu-name \
  --zone=zone \
  --tf-version=2.12.0 \
  --machine-type=n1-standard-1 \
  --accelerator-type=v3-8 \
  --network=network-name

Mengambil informasi tentang Node TPU tertentu

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

Respons berisi informasi berikut:

acceleratorType: v3-8
apiVersion: V1
cidrBlock: 00.0.000.000/29
createTime: '2022-11-30T18:59:20.655858097Z'
health: HEALTHY
ipAddress: 00.000.0.000
name: projects/ml-writers/locations/us-central1-a/nodes/mikegre-vcp
network: global/networks/mikegre-vpc
networkEndpoints:
- ipAddress: 00.0.000.000
  port: 8470
port: '8470'
schedulingConfig: {}
serviceAccount: service-00000000000@cloud-tpu.iam.gserviceaccount.com
state: READY
tensorflowVersion: 2.10.0

Menghapus Node TPU

Setelah selesai melakukan Node TPU, pastikan untuk menghapusnya.

$ gcloud compute tpus execution-groups delete tpu-name \
  --zone=zone
### Menghapus peering VPC Koneksi peering dapat diputuskan sambungannya menggunakan API jaringan komputasi. Panggilan ini harus dilakukan di project host VPC Bersama. 1. Mencantumkan semua peering VPC untuk menemukan nama peering yang akan dihapus.
   $ gcloud compute networks peerings list --network=network-name
   
  1. Menghapus peering VPC.

    $ gcloud compute networks peerings delete peering-name --network=network-name