TPU-VMs mit Cloud Storage-Buckets verbinden
Auf dieser Seite wird Cloud Storage als eine Option zum Speichern Ihrer Daten für maschinelles Lernen und der Trainingsausgabe vorgestellt. Außerdem wird beschrieben, wie Sie Ihrer TPU-VM Zugriff auf die Datenobjekte in Cloud Storage gewähren.
Hinweis
Sie benötigen ein Dienstkonto, das an Ihre TPU-VM angehängt ist, um auf einen Cloud Storage-Bucket zugreifen zu können. Wenn Sie beim Erstellen einer TPU-VM kein Dienstkonto angeben, wird das Compute Engine-Standarddienstkonto verwendet.
Informationen zum Einrichten eines Google Cloud Projekts für TPUs und zum Erstellen einer TPU-VM-Instanz finden Sie unter:
Daten in Cloud Storage schreiben
Console
Rufen Sie in der Google Cloud Console die Seite „Cloud Storage“ auf.
Erstellen Sie durch die Angabe der folgenden Optionen einen neuen Bucket:
- Eindeutiger Name Ihrer Wahl
- Standard-Speicherklasse:
Standard - Standort: Die Region, in der Sie die TPU-VM erstellt haben. Weitere Informationen zu Regionen und zur TPU-Verfügbarkeit finden Sie unter TPU-Regionen und ‑Zonen.
Befehlszeile
Verwenden Sie den Befehl
gcloud storage buckets create, um einen Cloud Storage-Bucket zu erstellen:gcloud storage buckets create gs://BUCKET_NAME --location REGIONErsetzen Sie die folgenden Platzhalter:
- BUCKET_NAME ist der Name des Buckets, den Sie erstellen möchten.
- REGION ist die Region, in der Sie die TPU-VM erstellt haben. Weitere Informationen zu Regionen und zur TPU-Verfügbarkeit finden Sie unter TPU-Regionen und ‑Zonen.
Verwenden Sie den Befehl
gcloud storage cp, um Dateien in den Cloud Storage-Bucket zu schreiben:gcloud storage cp -r LOCAL_DATA_DIR gs://BUCKET_NAMEErsetzen Sie die folgenden Platzhalter:
- LOCAL_DATA_DIR ist ein lokaler Pfad zu Ihren Daten. Beispiel: $HOME/your-data
- BUCKET_NAME ist der Name des Buckets, in den Sie schreiben möchten.
TPU-VM Zugriff auf Cloud Storage gewähren
Ihre TPU-VM benötigt Lese- und Schreibzugriff auf Ihre Cloud Storage-Objekte. Dazu müssen Sie dem Dienstkonto, das an Ihre TPU-VM angehängt ist, den erforderlichen Zugriff gewähren. In den folgenden Abschnitten wird beschrieben, wie Sie das angehängte Dienstkonto finden und den erforderlichen Zugriff gewähren.
Angehängtes Dienstkonto autorisieren
Die empfohlene Methode zum Autorisieren des angehängten Dienstkontos ist die Verwendung von detaillierten Access Control Lists (ACLs). Sie können auch mit IAM umfassendere Berechtigungen gewähren.
Fein abgestimmte ACLs für TPU-VM verwenden (empfohlen)
Wenn Sie Trainingsdaten in Cloud Storage speichern, benötigt das angehängte Dienstkonto Lese- und Schreibberechtigungen für den Bucket.
Console
Wechseln Sie zur Cloud Storage-Browserseite, um die Buckets anzuzeigen, deren Inhaber Sie sind.
Wählen Sie den Bucket aus, dessen ACL Sie ändern möchten.
Wählen Sie den Tab Berechtigungen aus.
Wählen Sie Zugriff gewähren aus, um eine neue Berechtigung hinzuzufügen, und geben Sie den vollständigen Dienstkontonamen in das Bearbeitungsfeld Neue Hauptkonten ein.
Wenn Sie Daten aus diesem Bucket lesen, müssen Sie das angehängte Dienstkonto zum Lesen von Daten aus der Ressource autorisieren. Gewähren Sie dem Dienst konto dazu die
Storage Legacy > Storage Legacy Bucket ReaderRolle.Wenn Sie Daten in diesen Bucket schreiben, müssen Sie das angehängte Dienstkonto zum Schreiben von Daten in die Ressource autorisieren. Gewähren Sie dem Dienst konto dazu die
Storage Legacy > Storage Legacy Bucket WriterRolle.
CLI
Wenn Sie Daten aus diesem Bucket lesen, müssen Sie dem angehängten Dienstkonto die Leseberechtigung erteilen:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectViewerErsetzen Sie die folgenden Platzhalter:
- BUCKET_NAME ist der Name des Buckets, aus dem Sie lesen möchten.
- SERVICE_ACCOUNT ist der Name des Dienstkontos, das an Ihre TPU-VM angehängt ist.
Wenn Sie Daten in diesen Bucket schreiben, müssen Sie dem angehängten Dienstkonto die Schreibberechtigung erteilen:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectCreatorErsetzen Sie die folgenden Platzhalter:
- BUCKET_NAME ist der Name des Buckets, in den Sie schreiben möchten.
- SERVICE_ACCOUNT ist der Name des Dienstkontos, das an Ihre TPU-VM angehängt ist.
IAM-Berechtigungen für TPU-VM verwenden (Alternative)
Wenn Sie umfassendere Berechtigungen erteilen möchten, statt explizit den Zugriff auf die einzelnen Buckets zu gewähren, können Sie dem Dienstkonto, das an Ihre TPU-VM angehängt ist, die IAM-Rolle (Identity and Access Management) „Storage-Administrator“ zuweisen.
Klicken Sie auf den Button Zugriff gewähren , um dem Projekt Hauptkonten hinzuzufügen.
Geben Sie den Namen des angehängten Dienstkontos in das Feld Hauptkonten ein.
Klicken Sie auf die Drop-down-Liste Rollen.
Aktivieren Sie die folgenden Rollen:
Projekt > Betrachter
Storage > Storage-Administrator
Cloud Storage FUSE
Mit Cloud Storage FUSE können Sie Cloud Storage-Buckets als lokale Dateisysteme bereitstellen und darauf zugreifen. Auf diese Weise können Anwendungen mithilfe der Standardsemantik des Dateisystems Objekte aus Ihrem Bucket lesen und in Ihren Bucket schreiben.
Weitere Informationen zur Funktionsweise von Cloud Storage FUSE und zur Zuordnung von Cloud Storage FUSE-Vorgängen zu Cloud Storage-Vorgängen finden Sie in der Cloud Storage FUSE-Dokumentation. Weitere Informationen zur Verwendung von
Cloud Storage FUSE, z. B. zur Installation der gcsfuse-CLI und zur Bereitstellung von Buckets, finden Sie auf
GitHub.
Bereinigen
Trennen Sie die Verbindung zur TPU-VM, sofern noch nicht geschehen:
exitLöschen Sie die TPU-VM in Cloud Shell oder im Terminal:
gcloud compute instances delete TPU_NAME --zone=ZONEErsetzen Sie die folgenden Platzhalter:
- TPU_NAME: Der Name der TPU-VM, die Sie erstellt haben.
- ZONE: Die Zone, in der die TPU-VM erstellt wurde.
Prüfen Sie, ob die VM gelöscht wurde. Führen Sie dazu
gcloud compute instances listaus. Der Löschvorgang kann einige Minuten dauern.gcloud compute instances list --zone=ZONEErsetzen Sie ZONE durch die Zone, in der die TPU-VM erstellt wurde.
Wenn die Antwort Ihre TPU-Instanz nicht enthält, wurde sie erfolgreich gelöscht.
Führen Sie den folgenden Befehl aus, um den Cloud Storage-Bucket und seinen Inhalt zu löschen. Ersetzen Sie dabei BUCKET_NAME durch den Namen des Buckets, den Sie erstellt haben:
gcloud storage rm --recursive gs://BUCKET_NAMEErsetzen Sie die folgenden Platzhalter:
- BUCKET_NAME: Der Name des Buckets, den Sie löschen möchten.
Nächste Schritte
- Weitere Informationen zum Erstellen von Cloud Storage-Buckets und zum Schreiben von Daten in diese Buckets finden Sie unter Bucket erstellen.
- Weitere Informationen zu Dienstkonten finden Sie in der Authentifizierungsübersicht.