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.
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
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
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 Parameternetwork
undsubnetwork
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
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