Menghubungkan VM TPU ke Bucket Cloud Storage

Halaman ini memperkenalkan Cloud Storage sebagai opsi untuk menyimpan data machine learning dan output pelatihan Anda, serta menjelaskan cara memberi VM TPU Anda akses ke objek data di Cloud Storage.

Sebelum memulai

Anda memerlukan akun layanan yang terlampir ke VM TPU untuk mengakses bucket Cloud Storage. Jika Anda tidak menentukan akun layanan saat membuat VM TPU, VM tersebut akan menggunakan akun layanan default Compute Engine.

Untuk menyiapkan project Google Cloud untuk TPU dan membuat instance VM TPU, ikuti petunjuk di:

  1. Siapkan Google Cloud project untuk TPU.
  2. Membuat instance TPU VM menggunakan Compute Engine

Menulis data ke Cloud Storage

Konsol

  1. Buka halaman Cloud Storage di konsol Google Cloud .

    Buka halaman Cloud Storage

  2. Buat bucket baru, dengan menentukan opsi berikut:

    • Nama unik pilihan Anda.
    • Kelas penyimpanan default: Standard
    • Lokasi: Region tempat Anda membuat VM TPU. Untuk mengetahui informasi selengkapnya tentang region dan ketersediaan TPU, lihat Region dan zona TPU.

CLI

  1. Gunakan perintah gcloud storage buckets create untuk membuat bucket Cloud Storage:

    gcloud storage buckets create gs://BUCKET_NAME --location REGION
    

    Ganti placeholder berikut:

    • BUCKET_NAME adalah nama bucket yang ingin Anda buat.
    • REGION adalah region tempat Anda membuat VM TPU. Untuk mengetahui informasi selengkapnya tentang region dan ketersediaan TPU, lihat Region dan zona TPU.
  2. Gunakan perintah gcloud storage cp untuk menulis file ke bucket Cloud Storage:

    gcloud storage cp -r LOCAL_DATA_DIR gs://BUCKET_NAME
    

    Ganti placeholder berikut:

    • LOCAL_DATA_DIR adalah jalur lokal ke data Anda. Contoh: $HOME/your-data
    • BUCKET_NAME adalah nama bucket yang ingin Anda tulis.

Memberi VM TPU Anda akses ke Cloud Storage

Anda harus memberi VM TPU Anda akses baca dan tulis ke objek Cloud Storage Anda. Untuk melakukannya, Anda harus memberikan akses yang diperlukan ke akun layanan yang terlampir ke VM TPU Anda. Bagian berikut menunjukkan cara menemukan akun layanan yang terlampir dan memberikan akses yang diperlukan.

Memberikan otorisasi akun layanan terlampir

Cara yang direkomendasikan untuk memberi otorisasi akun layanan yang dilampirkan adalah dengan menggunakan daftar kontrol akses (ACL) dengan hak akses terperinci. Anda juga dapat memberikan izin yang lebih luas menggunakan izin IAM.

Menggunakan ACL terperinci untuk VM TPU (Direkomendasikan)

Jika Anda menyimpan data pelatihan di Cloud Storage, akun layanan yang terlampir memerlukan izin baca dan tulis di bucket.

Konsol

  1. Buka halaman browser Cloud Storage untuk melihat bucket yang Anda miliki.

    Buka browser Cloud Storage

  2. Pilih bucket yang ACL-nya ingin Anda ubah.

  3. Pilih tab Izin.

  4. Pilih Beri akses untuk menambahkan izin baru dan ketik nama lengkap akun layanan di kotak edit Principal baru.

  5. Jika Anda membaca dari bucket ini, Anda harus mengizinkan akun layanan yang dilampirkan untuk membaca dari resource. Lakukan hal ini dengan memberikan peran Storage Legacy > Storage Legacy Bucket Reader kepada akun layanan.

  6. Jika Anda menulis ke bucket ini, Anda harus mengizinkan akun layanan terlampir untuk menulis ke resource. Lakukan hal ini dengan memberikan peran Storage Legacy > Storage Legacy Bucket Writer kepada akun layanan.

CLI

  1. Jika Anda membaca dari bucket ini, berikan izin baca untuk akun layanan terlampir:

     gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectViewer
    

    Ganti placeholder berikut:

    • BUCKET_NAME adalah nama bucket yang ingin Anda baca.
    • SERVICE_ACCOUNT adalah nama akun layanan yang terpasang di VM TPU Anda.
  2. Jika Anda menulis ke bucket ini, berikan izin tulis untuk akun layanan terlampir:

     gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectCreator
    

    Ganti placeholder berikut:

    • BUCKET_NAME adalah nama bucket yang ingin Anda tulis.
    • SERVICE_ACCOUNT adalah nama akun layanan yang terpasang di VM TPU Anda.

Menggunakan izin IAM untuk VM TPU (Alternatif)

Jika ingin memberikan izin yang lebih luas, bukan memberikan akses ke setiap bucket secara eksplisit, Anda dapat memberikan peran Admin Storage Identity Access Management (IAM) ke akun layanan yang terlampir ke VM TPU Anda.

  1. Buka IAM

  2. Klik tombol Grant access untuk menambahkan akun utama ke project.

  3. Masukkan nama akun layanan terlampir di kolom Principals.

  4. Klik menu drop-down Peran.

  5. Aktifkan peran berikut:

    • Project > Viewer

    • Storage > Storage Admin

Cloud Storage FUSE

Dengan Cloud Storage FUSE, Anda dapat memasang dan mengakses bucket Cloud Storage sebagai sistem file lokal. Hal ini memungkinkan aplikasi membaca dan menulis objek di bucket Anda menggunakan semantik sistem file standar.

Lihat dokumentasi Cloud Storage FUSE untuk mengetahui detail tentang cara kerja Cloud Storage FUSE dan deskripsi tentang cara pemetaan operasi Cloud Storage FUSE ke operasi Cloud Storage. Anda dapat menemukan informasi tambahan tentang cara menggunakan Cloud Storage FUSE, seperti cara menginstal CLI gcsfuse dan memasang bucket di GitHub.

Pembersihan

  1. Putuskan koneksi dari VM TPU, jika Anda belum melakukannya:

    exit
    
  2. Di Cloud Shell atau terminal, hapus VM TPU:

    gcloud compute instances delete TPU_NAME --zone=ZONE
    

    Ganti placeholder berikut:

    • TPU_NAME: Nama VM TPU yang Anda buat.
    • ZONE: Zona tempat VM TPU dibuat.
  3. Verifikasi bahwa VM telah dihapus dengan menjalankan gcloud compute instances list. Penghapusan mungkin memerlukan waktu beberapa menit.

    gcloud compute instances list --zone=ZONE
    

    Ganti ZONE dengan zona tempat VM TPU dibuat.

    Jika respons tidak mencantumkan instance TPU Anda, berarti instance tersebut telah berhasil dihapus.

  4. Jalankan perintah berikut untuk menghapus bucket Cloud Storage dan isinya, dengan mengganti BUCKET_NAME dengan nama bucket yang Anda buat:

    gcloud storage rm --recursive gs://BUCKET_NAME
    

    Ganti placeholder berikut:

    • BUCKET_NAME: Nama bucket yang ingin Anda hapus.

Langkah berikutnya