Netzwerk und Zugriff auf die Cloud TPU konfigurieren

Auf dieser Seite wird beschrieben, wie Sie benutzerdefinierte Netzwerk- und Zugriffskonfigurationen für Ihre Cloud TPU, einschließlich:

  • Benutzerdefiniertes Netzwerk und Subnetzwerk angeben
  • SSH-Zugriff auf TPUs aktivieren
  • Benutzerdefiniertes Dienstkonto an Ihre TPU anhängen
  • Benutzerdefinierte SSH-Methoden aktivieren

Vorbereitung

Bevor Sie diese Verfahren ausführen, müssen Sie die Google Cloud CLI installieren, Ein Google Cloud-Projekt und aktivieren die Cloud TPU API. Eine Anleitung dazu finden Sie Siehe Cloud TPU-Umgebung einrichten

Benutzerdefiniertes Netzwerk und Subnetzwerk angeben

Sie können optional das Netzwerk und das Subnetzwerk angeben, das für die TPU verwendet werden soll. Wenn die nicht angegeben ist, befindet sich die TPU im default-Netzwerk. Das Subnetzwerk muss sich in derselben Region wie die Zone befinden, in der die TPU ausgeführt wird.

  1. Erstellen Sie ein Netzwerk, das einem der folgenden gültigen Formate entspricht:

    • 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}

    Weitere Informationen finden Sie unter VPC erstellen und verwalten Netzwerken

  2. Erstellen Sie ein Subnetzwerk, das einem der folgenden gültigen Formate entspricht:

    • 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}

    Weitere Informationen finden Sie unter VPC erstellen und verwalten Netzwerken

  3. Erstellen Sie die TPU und geben Sie das benutzerdefinierte Netzwerk und Subnetzwerk an:

    gcloud

    Fügen Sie zum Angeben des Netzwerks und Subnetzwerks mit der gcloud-Befehlszeile den Parameter Die Flags --network und --subnetwork an Ihre Anfrage zum Erstellen:

        $ 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

    Um das Netzwerk und das Subnetzwerk in einem curl-Aufruf anzugeben, fügen Sie den Parameter network und subnetwork im Anfragetext:

        $ 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. Aktivieren Sie benutzerdefinierte SSH-Methoden für Ihr Netzwerk und Subnetzwerk.

SSH-Zugriff auf TPUs aktivieren

Wenn Sie über SSH eine Verbindung zu TPUs herstellen möchten, müssen Sie entweder externe IP-Adressen aktivieren für die TPUs oder aktivieren Sie Privater Google-Zugriff für die Subnetzwerk, mit dem die TPU-VMs verbunden sind.

Externe IP-Adressen aktivieren

Wenn Sie eine TPU erstellen, werden externe IP-Adressen werden standardmäßig erstellt.

Wenn Sie keine externen IP-Adressen für Ihre TPUs erstellen möchten, aktivieren Sie interne IP-Adressen. IP-Adressen:

gcloud

Verwenden Sie beim Erstellen einer TPU das Flag --internal-ips:

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

curl

Legen Sie im Anfragetext das Feld enable_external_ips auf false fest:

$ 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

Privaten Google-Zugriff aktivieren

TPUs, die keine externen IP-Adressen haben, können mit dem privater Google-Zugriff Folgendes tun: auf Google APIs und Google-Dienste zugreifen. Weitere Informationen zum Aktivieren Privater Google-Zugriff, siehe Konfigurieren Privater Google-Zugriff.

Nachdem Sie den privater Google-Zugriff konfiguriert haben, stellen Sie eine Verbindung zur VM her mit SSH.

Benutzerdefiniertes Dienstkonto anhängen

Jede TPU-VM ist mit einem Dienstkonto verknüpft, das für API-Anfragen verwendet wird. in Ihrem Namen. TPU-VMs verwenden dieses Dienstkonto für den Aufruf von Cloud TPU APIs verwenden und auf Cloud Storage und andere Dienste zugreifen Standardmäßig hat Ihre TPU-VM verwendet den Compute Engine-Standarddienst Konto.

Das Dienstkonto muss in dem Google Cloud-Projekt definiert sein, in dem Sie Erstellen Sie die TPU-VM. Benutzerdefinierte Dienstkonten für TPU-VMs müssen die TPU haben Viewer-Rolle zum Aufrufen der Cloud TPU der API erstellen. Wenn der auf der TPU-VM ausgeführte Code andere Google Cloud-Dienste aufruft, die für den Zugriff auf diese Dienste erforderlich sind.

Weitere Informationen zu Dienstkonten finden Sie unter Dienstkonten.

Verwenden Sie die folgenden Befehle, um ein benutzerdefiniertes Dienstkonto anzugeben.

gcloud

Verwenden Sie beim Erstellen einer TPU das Flag --service-account:

$ 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

Legen Sie das Feld service_account im Anfragetext fest:

$ 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

Benutzerdefinierte SSH-Methoden aktivieren

Das Standardnetzwerk ermöglicht SSH-Zugriff auf alle TPU-VMs. Wenn Sie ein anderes Netzwerk als das Standardnetzwerk verwenden oder die Standardeinstellungen ändern, müssen Sie den SSH-Zugriff explizit aktivieren, indem Sie eine Firewallregel hinzufügen:

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