Menghubungkan VM TPU ke bucket Cloud Storage

Halaman ini memperkenalkan Cloud Storage sebagai opsi untuk menyimpan data dan output pelatihan machine learning Anda, serta menjelaskan cara memberikan akses VM TPU 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 untuk TPU dan membuat instance VM TPU, ikuti petunjuk di: Google Cloud

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

Menulis data ke Cloud Storage

Konsol

  1. Buka halaman Cloud Storage di Google Cloud konsol.

    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.

Memberikan akses VM TPU ke Cloud Storage

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

Mengotorisasi akun layanan terlampir

Cara yang direkomendasikan untuk mengotorisasi akun layanan terlampir adalah dengan menggunakan daftar kontrol akses (ACL) yang 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 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 Permissions.

  4. Pilih Grant access untuk menambahkan izin baru dan ketik nama akun layanan lengkap di kotak edit New principals.

  5. Jika Anda membaca dari bucket ini, Anda harus mengotorisasi akun layanan terlampir untuk membaca dari resource. Lakukan hal ini dengan memberikan peran Storage Legacy > Storage Legacy Bucket Reader ke akun layanan.

  6. Jika Anda menulis ke bucket ini, Anda harus mengotorisasi akun layanan terlampir untuk menulis ke resource. Lakukan hal ini dengan memberikan peran Storage Legacy > Storage Legacy Bucket Writer ke 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 terlampir ke 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 terlampir ke 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 Penyimpanan Identity Access Management (IAM) ke akun layanan yang terlampir ke VM TPU.

  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 Roles.

  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 operasi Cloud Storage FUSE dipetakan 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, instance tersebut telah berhasil dihapus.

  4. Jalankan perintah berikut untuk menghapus bucket Cloud Storage dan kontennya, 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