Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Conecta un nodo TPU a una red de VPC compartida

La forma en la que conectas un host de TPU a una VPC compartida depende de la arquitectura de TPU (VM de TPU o nodo TPU) que usas. Para obtener más información sobre las arquitecturas de TPU, consulta Arquitectura del sistema de TPU.

Conecta una VM de TPU a una red de VPC compartida

Configura un proyecto host de VPC

Cuando usas la arquitectura de VM de TPU, debes otorgar a la cuenta de servicio de TPU en tu proyecto de servicio permisos para administrar recursos en el proyecto host. Para ello, usa la función “Agente de VPC compartida de TPU” (roles/tpu.xpnAgent). Ejecuta los siguientes comandos de gcloud para otorgar esta vinculación de función.

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

Conecta una VM de TPU a una red de VPC compartida cuando creas tu TPU. 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 runtime-version \
--project your-service-project-id

Puedes verificar que la VM de TPU esté conectada a la VPC compartida con el comando gcloud compute tpus tpu-vm describe:

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

La respuesta incluye la red a la que está conectado la 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 \

Conecta un nodo TPU a una VPC compartida

Configura el acceso privado a los servicios

Antes de usar nodos TPU con VPC compartidas, debes establecer una conexión de acceso privado a los servicios.

  1. Habilita la API de Service Networking con el siguiente comando de Google Cloud CLI. Esto solo se debe hacer una vez por proyecto de Cloud Platform.

    gcloud services enable servicenetworking.googleapis.com
    
  2. Asigna un rango de direcciones reservadas para que lo use la Service Networking. El valor de prefix-length debe ser 24 o menor. Por ejemplo:

    gcloud compute addresses create sn-range-1 --global \
    --addresses=10.110.0.0 \
    --prefix-length=16 \
    --purpose=VPC_PEERING \
    --network=network-name
  3. Establece una conexión de acceso a servicios privados

    $ gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \
    --ranges=sn-range-1 \
    --network=network-name
    
  4. Verifica que se haya creado el intercambio de tráfico de VPC. Con el siguiente comando, se enumeran todos los intercambios de tráfico de VPC para la red especificada.

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

Conecta un nodo TPU con una red de VPC compartida

Conectas un nodo TPU a una red de VPC compartida cuando creas la TPU. Especifica tu VPC compartida con la etiqueta --network:

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

Recuperar información acerca de un nodo TPU específico

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

La respuesta contiene la siguiente información:

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

Borra el nodo de TPU

Cuando termines con el nodo TPU, asegúrate de borrarlo.

$ gcloud compute tpus execution-groups delete tpu-name \
  --zone=zone
### Borra el intercambio de tráfico entre VPC Se puede desconectar una conexión de intercambio de tráfico mediante la API de redes de procesamiento. Estas llamadas deben realizarse en proyectos host de VPC compartida. 1. Enumera todos los intercambios de tráfico de VPC para encontrar el nombre del intercambio de tráfico que se borrará.
   $ gcloud compute networks peerings list --network=network-name
   
  1. Borra un intercambio de tráfico de VPC.

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