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 connessione di un host TPU a un VPC condiviso dipende dall'architettura TPU (VM TPU o nodo TPU) che utilizzi. Per ulteriori informazioni sulle architetture TPU, consulta l'articolo relativo all'architettura del sistema TPU.

Connetti una VM TPU a una rete VPC condivisa

Configura un progetto host VPC

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

gcloud projects add-iam-policy-binding \
--member=serviceAccount:service-your-service-project-number@gcp-sa-tpu.iam.gserviceaccount.com \
--role=roles/tpu.xpnAgent \
--project host-project-id

Crea una VM TPU connessa a una rete VPC condivisa

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

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

Puoi connettere una VM TPU a una rete VPC condivisa quando crei la 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 accelerator-version \
--project your-service-project-id

Puoi verificare che la VM TPU sia connessa al VPC condiviso utilizzando il comando gcloud alpha compute tpus tpu-vm describe:

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

La risposta include la rete a cui è collegata la VM TPU:

acceleratorType: v3-8
apiVersion: V2_ALPHA1
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

Connessione di un nodo TPU a un VPC condiviso

Configura l'accesso privato ai servizi

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

  1. Abilita l'API Service Networking utilizzando il seguente comando dell'interfaccia a riga di comando di Google Cloud. Questa operazione deve essere eseguita una sola volta per ogni progetto Cloud Platform.

    gcloud services enable servicenetworking.googleapis.com
    
  2. Assegna un intervallo di indirizzi riservati da utilizzare per il networking di servizi. Il valore di prefix-length deve essere al massimo di 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
    

Connettere un nodo TPU a una rete VPC condivisa

Puoi connettere 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.10.0 \
  --machine-type=n1-standard-1 \
  --accelerator-type=v3-8 \
  --network=network-name \
  --use-service-networking=true

Recuperare informazioni su un nodo TPU specifico

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

La risposta contiene le seguenti informazioni:

FIELD                                VALUE
Compute Engine Instance IP Address:  00.000.0.000
Compute Engine Created:              2022-06-17T15:53:00.256-07:00
Compute Engine Machine Type:         https://www.googleapis.com/compute/v1/projects/your-project/zones/us-central1-b/machineTypes/n1-standard-1
TPU Accelerator Type:                v3-8
TPU IP Address:                      00.000.000.00
TPU TF Version:                      2.8.0
TPU Service Account:                 service-00000000000@cloud-tpu.iam.gserviceaccount.com
TPU Created:                         2022-06-17T22:52:58.806015133Z
TPU State:                           READY
TPU Health:                          HEALTHY
TPU Preemptible:

Elimina il peering VPC

È possibile scollegare una connessione in peering utilizzando l'API Compute Network. Queste chiamate devono essere effettuate nei progetti host con VPC condiviso.

  1. Elenca tutti i peering VPC.

    $ gcloud compute networks peerings list --network=network-name
    
  2. Eliminare un peering VPC.

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