Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Connettere un nodo TPU a una rete VPC condivisa

La modalità di connessione di un host TPU a un VPC condiviso dipende dall'architettura TPU (VM TPU o nodo TPU) che stai utilizzando. Per ulteriori informazioni sulle architetture TPU, consulta la pagina relativa all'architettura di sistema delle TPU.

Connetti una VM TPU a una rete VPC condivisa

Configura un progetto host VPC

Quando utilizzi l'architettura di VM TPU, devi concedere all'account di servizio TPU nel tuo progetto di servizio le autorizzazioni per gestire le risorse nel progetto host. Per farlo, utilizza il ruolo "Agente VPC condiviso TPU" (roles/tpu.xpnAgent). Esegui i comandi gcloud seguenti per concedere questa associazione dei ruoli.

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 TPU connessa a una rete VPC condivisa

Determinare innanzitutto i tipi di acceleratore e le versioni disponibili nella zona

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

Connetti una VM TPU a una rete VPC condivisa quando crei la tua TPU. Specifica il VPC condiviso utilizzando il 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

Per verificare che la VM TPU sia connessa al tuo VPC condiviso, utilizza il comando gcloud compute tpus tpu-vm describe:

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

La risposta include la rete a cui è collegata la tua VM 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

Elimina la VM TPU

Una volta terminata la VM TPU, assicurati di eliminarla.

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

Connessione di un nodo TPU a un VPC condiviso

Configura l'accesso privato ai servizi

Prima di utilizzare i nodi TPU con VPC condivisi, devi stabilire una connessione di accesso privato ai servizi.

  1. Abilita l'API Service Networking utilizzando il seguente comando Google Cloud CLI. Questa operazione deve essere eseguita una sola volta per progetto Cloud Platform.

    gcloud services enable servicenetworking.googleapis.com
    
  2. Alloca un intervallo di indirizzi riservati da utilizzare per Networking dei servizi. Il valore di prefix-length deve essere inferiore a 24. Ad esempio:

    gcloud compute addresses create sn-range-1 --global \
    --addresses=10.110.0.0 \
    --prefix-length=16 \
    --purpose=VPC_PEERING \
    --network=network-name
  3. Stabilisci una connessione di accesso privato ai servizi.

    $ gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \
    --ranges=sn-range-1 \
    --network=network-name
    
  4. Verifica che il peering VPC sia stato creato. Il comando seguente elenca tutti i peering VPC per la rete specificata.

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

Connetti un nodo TPU a una rete VPC condivisa

Connetti un nodo TPU a una rete VPC condivisa quando crei la TPU. Specifica il VPC condiviso utilizzando il tag --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

Recuperare informazioni su un nodo TPU specifico

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

La risposta contiene le seguenti informazioni:

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

Elimina il nodo TPU

Una volta completato il nodo TPU, assicurati di eliminarlo.

$ gcloud compute tpus execution-groups delete tpu-name \
  --zone=zone
### Elimina il peering VPC Puoi disconnettere una connessione in peering utilizzando l'API Compute Networking. Queste chiamate devono essere effettuate nei progetti host del VPC condiviso. 1. Elenca tutti i peering VPC per trovare il nome del peering da eliminare.
   $ gcloud compute networks peerings list --network=network-name
   
  1. Eliminare un peering VPC.

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