Verbindung mit Cloud Storage-Buckets herstellen
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 Cloud TPU Zugriff auf die Datenobjekte in Cloud Storage gewähren.
Hinweis
Sie benötigen ein Cloud TPU-Dienstkonto, um auf einen Cloud Storage-Bucket zugreifen zu können.
Erstellen Sie ein Cloud TPU-Dienstkonto für Ihr Projekt.
gcloud beta services identity create --service tpu.googleapis.com --project project-id
Der Befehl gibt ein Cloud TPU-Dienstkonto im folgenden Format zurück:
service-project-number@cloud-tpu.iam.gserviceaccount.com
Folgen Sie den Cloud TPU-Kurzanleitungen oder der Anleitung unter TPU-Ressourcen verwalten, um Ihr Google Cloud -Projekt zu konfigurieren und die Cloud TPU-VM und die TPU-Ressourcen zu erstellen.
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 Cloud TPU 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 region
Dabei gilt:
region ist die Region, in der Sie die Cloud TPU erstellt haben. Weitere Informationen zu Regionen und zur TPU-Verfügbarkeit finden Sie unter TPU-Regionen und ‑Zonen.
bucket-name ist der Name des Buckets, den Sie erstellen möchten.
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-name
Dabei ist local-data-dir ein lokaler Pfad zu Ihren Daten. Beispiel:
$HOME/your-data
Cloud TPU Zugriff auf Cloud Storage gewähren
Ihre Cloud TPU benötigt Lese- und Schreibzugriff auf Ihre Cloud Storage-Objekte. Dazu müssen Sie den erforderlichen Zugriff auf das Cloud TPU-Dienstkonto gewähren, das von der Cloud TPU verwendet wird. In den folgenden Abschnitten wird beschrieben, wie Sie das Cloud TPU-Dienstkonto finden und den erforderlichen Zugriff gewähren.
Cloud TPU-Dienstkonto autorisieren
Die empfohlene Methode zum Autorisieren des Cloud TPU-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 Cloud TPU verwenden (empfohlen)
Wenn Sie Trainingsdaten in Cloud Storage speichern, benötigt das Cloud TPU-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 TPU-Dienstkonto zum Lesen von Daten aus der Ressource autorisieren. Gewähren Sie dem Dienstkonto dazu die Rolle
Storage Legacy > Storage Legacy Bucket Reader
.Wenn Sie Daten in diesen Bucket schreiben, müssen Sie das TPU-Dienstkonto zum Schreiben von Daten in die Ressource autorisieren. Gewähren Sie dem Dienstkonto dazu die Rolle
Storage Legacy > Storage Legacy Bucket Writer
.
Befehlszeile
Wenn Sie Daten aus diesem Bucket lesen, müssen Sie dem Cloud TPU-Dienstkonto die Leseberechtigung erteilen:
gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectViewer
Wenn Sie Daten in diesen Bucket schreiben, müssen Sie dem Cloud TPU-Dienstkonto die Schreibberechtigung erteilen:
gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectCreator
IAM-Berechtigungen für Cloud TPU verwenden (Alternative)
Wenn Sie umfassendere Berechtigungen erteilen möchten, statt explizit den Zugriff auf die einzelnen Buckets zu gewähren, können Sie dem Cloud TPU-Dienstkonto die IAM-Rolle (Identity and Access Management) „Storage-Administrator“ zuweisen.
Klicken Sie auf die Schaltfläche Zugriff gewähren, um dem Projekt Hauptkonten hinzuzufügen.
Geben Sie die Namen des Cloud TPU-Dienstkontos in das Textfeld 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 Cloud TPU, sofern noch nicht geschehen:
(vm)$ exit
Löschen Sie die Cloud TPU in Ihrer Cloud Shell:
gcloud compute tpus tpu-vm delete tpu-name --zone=zone
Prüfen Sie, ob die VM gelöscht wurde. Führen Sie dazu
gcloud compute tpus tpu-vm list
aus. Der Löschvorgang kann einige Minuten dauern.gcloud compute tpus tpu-vm list --zone=zone
Eine Antwort wie die folgende zeigt, dass Ihre Instanzen erfolgreich gelöscht wurden.
Listed 0 items
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-name
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.