Conecta una TPU a una red de VPC compartida

En esta guía, se explica cómo configurar las Cloud TPU que usan una red de VPC compartida administrada de manera central. En este documento, se supone que conoces las VPC y que creaste una VPC compartida. Si deseas obtener más información para crear y administrar redes de VPC compartida, consulta Crea y modifica redes de VPC compartida.

Configura un proyecto host de VPC

Debes otorgar permisos a la cuenta de servicio de TPU en tu proyecto de servicio para administrar recursos en el proyecto host. Para ello, usa el rol "Agente de VPC compartida para TPU" (roles/tpu.xpnAgent). Ejecuta los siguientes comandos de gcloud para otorgar esta vinculación de rol.

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

Crea una VM de TPU conectada a una red de VPC compartida

Primero, determina qué tipos y versiones de aceleradores están disponibles en la zona

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

Cuando creas tu TPU, conectas una VM de TPU a una red de VPC compartida. Especifica tu VPC compartida con la etiqueta --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

Puedes verificar que tu VM de TPU esté conectada a tu VPC compartida con el comando gcloud describe:

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

La respuesta incluye la red a la que está conectada tu VM de 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

Borra la VM de TPU

Cuando termines de usar la VM de TPU, asegúrate de borrarla.

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