Configura la rete e l'accesso alla tua Cloud TPU

Questa pagina descrive come configurare reti e accessi personalizzati per la tua Cloud TPU, tra cui:

  • Specifica di una rete e una subnet personalizzate
  • Specifica degli indirizzi IP interni
  • Attivazione dell'accesso SSH alle TPU
  • Collegamento di un account di servizio personalizzato alla TPU
  • Attivazione di metodi SSH personalizzati

Prerequisiti

Prima di eseguire queste procedure, devi installare Google Cloud CLI, creare un progetto Google Cloud e abilitare l'API Cloud TPU. Per le istruzioni, consulta Configurare l'ambiente Cloud TPU.

Specifica una rete e una subnet personalizzate

Facoltativamente, puoi specificare la rete e la subnet da utilizzare per la TPU. Se la rete non è specificata, la TPU si troverà nella rete default. La subnet deve trovarsi nella stessa regione della zona in cui viene eseguita la TPU.

  1. Crea una rete che corrisponda a uno dei seguenti formati validi:

    • https://www.googleapis.com/compute/{version}/projects/{proj-id}/global/networks/{network}
    • compute/{version}/projects/{proj-id}/global/networks/{network}
    • compute/{version}/projects/{proj-##}/global/networks/{network}
    • projects/{proj-id}/global/networks/{network}
    • projects/{proj-##}/global/networks/{network}
    • global/networks/{network}
    • {network}

    Per scoprire di più, consulta Creare e gestire reti VPC.

  2. Crea una sottorete che corrisponda a uno dei seguenti formati validi:

    • https://www.googleapis.com/compute/{version}/projects/{proj-id}/regions/{region}/subnetworks/{subnetwork}
    • compute/{version}/projects/{proj-id}/regions/{region}/subnetworks/{subnetwork}
    • compute/{version}/projects/{proj-##}/regions/{region}/subnetworks/{subnetwork}
    • projects/{proj-id}/regions/{region}/subnetworks/{subnetwork}
    • projects/{proj-##}/regions/{region}/subnetworks/{subnetwork}
    • regions/{region}/subnetworks/{subnetwork}
    • {subnetwork}

    Per scoprire di più, consulta Creare e gestire reti VPC.

  3. Crea la TPU specificando la rete e la subnet personalizzate:

    gcloud

    Per specificare la rete e la subnet utilizzando l'interfaccia a riga di comando gcloud, aggiungi i flag --network e --subnetwork alla richiesta di creazione:

        $ gcloud compute tpus tpu-vm create TPU_NAME \
            --zone=us-central2-b \
            --accelerator-type=v4-8 \
            --version=TPU_SOFTWARE_VERSION
            --network=NETWORK
            --subnetwork=SUBNETWORK

    curl

    Per specificare la rete e la sottorete in una chiamata curl, aggiungi i campi network e subnetwork al corpo della richiesta:

        $ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \
            runtime_version:'tpu-vm-tf-2.18.0-pjrt', \
            network_config: {network: 'NETWORK', subnetwork: 'SUBNETWORK', enable_external_ips: true}, \
            shielded_instance_config: { enable_secure_boot: true }}" \
            https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/us-central2-b/nodes?node_id=TPU_NAME

Attivare gli indirizzi IP interni

Quando crei una TPU, per impostazione predefinita vengono creati indirizzi IP esterni per ogni VM TPU.

Se vuoi creare indirizzi IP interni per le tue VM TPU, utilizza il flag --internal-ips quando crei la TPU.

gcloud

Se utilizzi risorse in coda:

gcloud compute tpus queued-resources create your-queued-resource-id \
  --node-id your-node-id \
  --project your-project \
  --zone us-central2-b \
  --accelerator-type v4-8 \
  --runtime-version tpu_software_version \
  --internal-ips

Se utilizzi l'API Create Node:

$ gcloud compute tpus tpu-vm create TPU_NAME \
    --zone=us-central2-b \
    --accelerator-type=v4-8 \
    --version=tpu_software_version \
    --internal-ips

curl

Imposta il campo enable_external_ips su false nel corpo della richiesta:

$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \
    runtime_version:'tpu-vm-tf-2.18.0-pjrt', \
    network_config: {enable_external_ips: false}, \
    shielded_instance_config: { enable_secure_boot: true }}" \
    https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/us-central2-b/nodes?node_id=TPU_NAME

Attivare i metodi SSH personalizzati

Per connetterti alle TPU utilizzando SSH, devi attivare gli indirizzi IP esterni per le TPU o attivare l'accesso privato Google per la sottorete a cui sono collegate le VM TPU.

Abilita l'accesso privato Google

Le TPU che non hanno indirizzi IP esterni possono utilizzare l'accesso privato Google per accedere alle API e ai servizi Google. Per ulteriori informazioni su come attivare l'accesso privato Google, consulta Configurare l'accesso privato Google.

Dopo aver configurato l'accesso privato Google, connettiti alla VM tramite SSH.

Collega un account di servizio personalizzato

Ogni VM TPU ha un account di servizio associato che utilizza per effettuare richieste API per tuo conto. Le VM TPU utilizzano questo account di servizio per chiamare le API Cloud TPU e accedere a Cloud Storage e ad altri servizi. Per impostazione predefinita, la VM TPU utilizza l'account di servizio Compute Engine predefinito.

L'account di servizio deve essere definito nello stesso progetto Google Cloud in cui crei la VM TPU. Gli account di servizio personalizzati utilizzati per le VM TPU devono avere il ruolo Visualizzatore TPU per chiamare l'API Cloud TPU. Se il codice in esecuzione nella VM TPU chiama altri servizi Google Cloud, deve avere i ruoli necessari per accedere a questi servizi.

Per ulteriori informazioni sugli account di servizio, consulta Account di servizio.

Utilizza i seguenti comandi per specificare un account di servizio personalizzato.

gcloud

Utilizza il flag --service-account durante la creazione di una TPU:

$ gcloud compute tpus tpu-vm create TPU_NAME \
    --zone=us-central2-b \
    --accelerator-type=TPU_TYPE \
    --version=tpu-vm-tf-2.18.0-pjrt \
    --service-account=SERVICE_ACCOUNT

curl

Imposta il campo service_account nel corpo della richiesta:

$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \
    runtime_version:'tpu-vm-tf-2.18.0-pjrt', \
    network_config: {enable_external_ips: true}, \
    shielded_instance_config: { enable_secure_boot: true }}" \
    service_account: {email: 'SERVICE_ACCOUNT'} \
    https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/us-central2-b/nodes?node_id=TPU_NAME

Attivare i metodi SSH personalizzati

La rete predefinita consente l'accesso SSH a tutte le VM TPU. Se utilizzi una rete diversa da quella predefinita o se modifichi le impostazioni di rete predefinite, devi attivare esplicitamente l'accesso SSH aggiungendo una regola firewall:

$ gcloud compute tpus tpu-vm compute firewall-rules create \
    --network=NETWORK allow-ssh \
    --allow=tcp:22