Configura il networking e l'accesso a Cloud TPU

In questa pagina viene descritto come impostare configurazioni personalizzate di rete e accesso Cloud TPU, tra cui:

  • Specifica di una rete e di una subnet personalizzate
  • Abilitazione dell'accesso SSH alle TPU
  • Collegamento di un account di servizio personalizzato alla TPU
  • Abilitazione 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 istruzioni, consulta Configurazione dell'ambiente Cloud TPU.

Specifica una rete e una subnet personalizzate

Facoltativamente, puoi specificare la rete e la subnet da utilizzare per la TPU. Se non specificata, la TPU sarà 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 ulteriori informazioni, consulta Creare e gestire un VPC reti.

  2. Crea una subnet 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 ulteriori informazioni, consulta Creare e gestire un VPC reti.

  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 il token Flag --network e --subnetwork per la tua 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 subnet in una chiamata curl, aggiungi il token 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.17.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
    
  4. Abilitare metodi SSH personalizzati per la tua rete e una subnet.

Abilita l'accesso SSH alle TPU

Per connetterti alle TPU tramite SSH, devi abilitare gli indirizzi IP esterni per le TPU, oppure abilita Accesso privato Google per a cui sono connesse le VM TPU.

Abilita indirizzi IP esterni

Quando crei una TPU, Gli indirizzi IP vengono creati per impostazione predefinita.

Se non vuoi creare indirizzi IP esterni per le TPU, abilita i IP:

gcloud

Utilizza il flag --internal-ips durante la creazione di una TPU:

$ 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.17.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

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 sull'attivazione Accesso privato Google, consulta Configurare Accesso privato Google.

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

Collega un account di servizio personalizzato

A ogni VM TPU è associato un account di servizio che utilizza per effettuare richieste API per conto tuo. Le VM TPU usano questo account di servizio per chiamare Cloud TPU API e accedere a Cloud Storage e ad altri servizi. Per impostazione predefinita, la VM TPU utilizza il servizio Compute Engine predefinito Google Cloud.

L'account di servizio deve essere definito nello stesso progetto Google Cloud in cui per creare la VM TPU. Gli account di servizio personalizzati utilizzati per le VM TPU devono avere il token TPU Visualizzatore per chiamare la Cloud TPU tramite Google Cloud CLI o tramite l'API Compute Engine. Se il codice in esecuzione sulla VM TPU chiama altri servizi Google Cloud, devono disporre dei ruoli necessari per accedere a questi servizi.

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

Utilizza i comandi seguenti 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.17.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.17.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

Abilita metodi SSH personalizzati

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

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