Netzwerk und Zugriff auf Ihre Cloud TPU konfigurieren
Auf dieser Seite wird beschrieben, wie Sie benutzerdefinierte Netzwerk- und Zugriffskonfigurationen für Ihre Cloud TPU einrichten, darunter:
- Benutzerdefiniertes Netzwerk und Subnetzwerk angeben
- Interne IP-Adressen angeben
- SSH-Zugriff auf TPUs aktivieren
- Benutzerdefiniertes Dienstkonto an Ihre TPU anhängen
- Benutzerdefinierte SSH-Methoden aktivieren
Vorbereitung
Bevor Sie diese Schritte ausführen können, müssen Sie die Google Cloud CLI installieren, ein Google Cloud-Projekt erstellen und die Cloud TPU API aktivieren. Eine Anleitung finden Sie unter Cloud TPU-Umgebung einrichten.
Benutzerdefiniertes Netzwerk und Subnetzwerk angeben
Optional können Sie das Netzwerk und das Subnetzwerk angeben, das für die TPU verwendet werden soll. Wenn das Netzwerk nicht angegeben ist, befindet sich die TPU im Netzwerk default
. Das Subnetz muss sich in derselben Region wie die Zone befinden, in der die TPU ausgeführt wird.
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-Netzwerke erstellen und verwalten.
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-Netzwerke erstellen und verwalten.
Erstellen Sie die TPU und geben Sie das benutzerdefinierte Netzwerk und Subnetz an:
gcloud
Wenn Sie das Netzwerk und das Subnetzwerk mit der
gcloud
-Befehlszeile angeben möchten, fügen Sie der Erstellungsanfrage die Flags--network
und--subnetwork
hinzu:$ 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
Wenn Sie das Netzwerk und das Subnetzwerk in einem
curl
-Aufruf angeben möchten, fügen Sie dem Anfragetext die Feldernetwork
undsubnetwork
hinzu:$ 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
Interne IP-Adressen aktivieren
Wenn Sie eine TPU erstellen, werden standardmäßig für jede TPU-VM externe IP-Adressen erstellt.
Wenn Sie stattdessen interne IP-Adressen für Ihre TPU-VMs erstellen möchten, verwenden Sie beim Erstellen der TPU das Flag --internal-ips
.
gcloud
Wenn Sie Ressourcen in der Warteschlange verwenden:
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
Wenn Sie die API „Knoten erstellen“ verwenden:
$ gcloud compute tpus tpu-vm create TPU_NAME \ --zone=us-central2-b \ --accelerator-type=v4-8 \ --version=tpu_software_version \ --internal-ips
curl
Setzen Sie das Feld enable_external_ips
im Anfragetext auf false
:
$ 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
Benutzerdefinierte SSH-Methoden aktivieren
Wenn Sie über SSH eine Verbindung zu TPUs herstellen möchten, müssen Sie entweder externe IP-Adressen für die TPUs oder den privaten Google-Zugriff für das Subnetz aktivieren, mit dem die TPU-VMs verbunden sind.
Privaten Google-Zugriff aktivieren
TPUs ohne externe IP-Adressen können über den privater Google-Zugriff auf Google APIs und Dienste zugreifen. Weitere Informationen zum Aktivieren des privater Google-Zugriff finden Sie unter Privaten Google-Zugriff konfigurieren.
Nachdem Sie den privater Google-Zugriff konfiguriert haben, stellen Sie eine SSH-Verbindung zur VM her.
Benutzerdefiniertes Dienstkonto anhängen
Jede TPU-VM ist mit einem Dienstkonto verknüpft, mit dem API-Anfragen in Ihrem Namen gestellt werden. TPU-VMs verwenden dieses Dienstkonto, um Cloud TPU APIs aufzurufen und auf Cloud Storage und andere Dienste zuzugreifen. Standardmäßig verwendet Ihre TPU-VM das Compute Engine-Standarddienstkonto.
Das Dienstkonto muss in demselben Google Cloud-Projekt definiert sein, in dem Sie Ihre TPU-VM erstellen. Benutzerdefinierte Dienstkonten, die für TPU-VMs verwendet werden, müssen die Rolle TPU-Betrachter haben, um die Cloud TPU API aufzurufen. Wenn der auf Ihrer TPU-VM ausgeführte Code andere Google Cloud-Dienste aufruft, muss er die erforderlichen Rollen für den Zugriff auf diese Dienste haben.
Weitere Informationen zu Dienstkonten finden Sie unter Dienstkonten.
Mit den folgenden Befehlen können Sie ein benutzerdefiniertes Dienstkonto angeben.
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.18.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.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
Benutzerdefinierte SSH-Methoden aktivieren
Das Standardnetzwerk erlaubt den SSH-Zugriff auf alle TPU-VMs. Wenn Sie ein anderes Netzwerk als das Standardnetzwerk verwenden oder die Standardeinstellungen für das Netzwerk ändern, müssen Sie den SSH-Zugriff explizit durch Hinzufügen einer Firewallregel aktivieren:
$ gcloud compute tpus tpu-vm compute firewall-rules create \ --network=NETWORK allow-ssh \ --allow=tcp:22