Bermigrasi dari notebook terkelola ke instance Vertex AI Workbench

Halaman ini menjelaskan cara melakukan migrasi dari instance notebook terkelola ke instance Vertex AI Workbench. Anda dapat bermigrasi menggunakan alat migrasi Vertex AI Workbench atau memigrasikan data dan file instance secara manual.

Ringkasan alat migrasi

Vertex AI Workbench menyediakan alat migrasi untuk bermigrasi dari instance notebook terkelola ke instance Vertex AI Workbench.

Alat migrasi membuat instance Vertex AI Workbench dengan konfigurasi yang mirip dengan instance notebook terkelola yang ingin Anda migrasikan. Misalnya, alat migrasi membuat instance yang memiliki jenis mesin yang sama atau serupa, konfigurasi jaringan, setelan penonaktifan tidak ada aktivitas, dan spesifikasi lainnya. Kemudian, file di disk data instance notebook terkelola akan disalin ke instance Vertex AI Workbench.

Vertex AI Workbench tidak menghapus atau mengubah instance notebook terkelola, sehingga Anda dapat terus menggunakannya setelah migrasi. Jika Anda tidak memerlukan instance notebook terkelola lagi, hapus instance tersebut untuk menghindari biaya lebih lanjut untuk instance tersebut.

Penagihan

Jika instance notebook terkelola Anda menggunakan Persistent Disk Ekstrem, migrasi Anda akan dikenai biaya untuk operasi I/O. Lihat "IOPS yang disediakan ekstrem" di bagian harga Persistent Disk dan Hyperdisk dari harga Disk.

Setelah migrasi, instance notebook terkelola masih ada dan menghasilkan biaya seperti sebelumnya. Jika Anda tidak memerlukan instance notebook terkelola lagi, hapus instance untuk menghindari biaya lebih lanjut untuk instance tersebut.

Perilaku alat migrasi default

Alat migrasi Vertex AI Workbench mencoba memigrasikan instance notebook terkelola ke instance Vertex AI Workbench dengan spesifikasi yang cocok. Jika spesifikasi dalam instance notebook terkelola tidak tersedia di instance Vertex AI Workbench, Vertex AI Workbench akan menggunakan spesifikasi default jika memungkinkan. Jika tidak dapat memigrasikan spesifikasi instance notebook terkelola, alat migrasi tidak akan memigrasikan instance tersebut.

Tabel berikut mencantumkan beberapa perilaku migrasi default utama untuk alat migrasi.

Kategori Spesifikasi notebook terkelola Hasil migrasi
OS Versi Ubuntu apa pun Debian 11
Semua versi Debian Debian 11
Framework Versi CUDA apa pun CUDA 11.3
Semua versi Python Python 3.10
Versi PyTorch apa pun PyTorch 1.13
Versi TensorFlow apa pun TensorFlow 2.11
Semua versi R Tidak dimigrasikan; lihat Menambahkan lingkungan kondensasi
Versi PySpark lokal apa pun Tidak dimigrasikan; lihat Menambahkan lingkungan kondensasi
Versi XGBoost apa pun Tidak dimigrasikan; lihat Menambahkan lingkungan kondensasi
Semua versi Kaggle Python Tidak dimigrasikan; lihat Menambahkan lingkungan kondensasi
Versi Jax apa saja Tidak dimigrasikan; lihat Menambahkan lingkungan kondensasi
Versi Apache Beam apa pun Tidak dimigrasikan; lihat Menambahkan lingkungan kondensasi
Machine type Jenis mesin yang didukung Jenis mesin yang sama
Jenis mesin yang tidak didukung e2-standard-4
Akselerator Akselerator yang didukung Akselerator yang identik
Akselerator yang tidak didukung Migrasi tidak mencakup akselerator
Setelan Penonaktifan saat tidak ada aktivitas Dimigrasikan
Hapus ke sampah Dimigrasikan
nbconvert Dimigrasikan
Mendownload file Dimigrasikan
Akses terminal Dimigrasikan
Lainnya Izin Identity and Access Management Dimigrasikan, meskipun izin baru mungkin diperlukan untuk menggunakan instance Vertex AI Workbench
Mode akses Dimigrasikan; instance yang menggunakan mode akses JupyterLab pengguna tunggal harus menentukan opsi serviceAccount
Jaringan Dimigrasikan; instance yang menggunakan Virtual Private Cloud yang dikelola Google harus menentukan opsi network dan subnet
Skrip pasca-startup Saat menggunakan Konsol Google Cloud, instance akan dimigrasikan tanpa skrip pasca-startup; untuk memigrasikan instance dengan skrip pasca-startup, gunakan Google Cloud CLI atau REST API untuk menentukan opsi PostStartupScriptOption
Hub Dataproc Tidak dimigrasikan; harus melakukan migrasi secara manual

Menentukan opsi

Bagian berikut menjelaskan kasus yang mengharuskan Anda menentukan opsi untuk memigrasikan instance notebook terkelola ke instance Vertex AI Workbench.

Instance yang menggunakan mode akses pengguna tunggal

Instance notebook terkelola yang menggunakan mode akses pengguna tunggal harus dimigrasikan ke instance dengan opsi serviceAccount yang ditentukan. Instance Vertex AI Workbench yang Anda migrasikan untuk membatasi akses ke JupyterLab untuk satu pengguna, tetapi menggunakan akun layanan untuk berinteraksi dengan layanan dan API Google Cloud.

Instance yang menggunakan VPC yang dikelola Google

Instance notebook terkelola yang menggunakan VPC yang dikelola Google harus dimigrasikan ke instance dengan opsi network dan subnet yang ditentukan. Opsi untuk menggunakan VPC yang dikelola Google tidak didukung di instance Vertex AI Workbench, sehingga Anda harus menentukan jaringan yang berbeda.

Instance yang menggunakan skrip pasca-startup

Instance notebook terkelola yang menggunakan skrip pasca-startup harus dimigrasikan ke instance dengan opsi PostStartupScriptOption yang ditentukan. Gunakan opsi ini untuk menunjukkan apakah Anda ingin melewati atau menjalankan kembali skrip pasca-startup di instance Vertex AI Workbench yang baru.

Penentuan opsi PostStartupScriptOption tidak didukung di Konsol Google Cloud. Untuk menentukan opsi PostStartupScriptOption saat memigrasikan instance notebook terkelola, Anda harus menggunakan Google Cloud CLI atau REST API.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Enable the Notebooks API.

    Enable the API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  7. Enable the Notebooks API.

    Enable the API

  8. Buat instance notebook terkelola, jika Anda belum membuatnya.

Peran yang diperlukan

Untuk memastikan bahwa akun pengguna Anda memiliki izin yang diperlukan untuk memigrasikan instance notebook terkelola ke instance Vertex AI Workbench, minta administrator untuk memberikan peran IAM Notebooks Runner (roles/notebooks.runner) ke akun pengguna Anda pada project tersebut. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran bawaan ini berisi izin yang diperlukan untuk memigrasikan instance notebook terkelola ke instance Vertex AI Workbench. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk memigrasikan instance notebook terkelola ke instance Vertex AI Workbench:

  • notebooks.runtimes.create
  • notebooks.runtimes.get

Administrator Anda mungkin juga dapat memberi akun pengguna izin ini dengan peran khusus atau peran standar lainnya.

Pemeriksaan pra-migrasi

Sebelum melakukan migrasi, periksa kelayakan migrasi instance notebook terkelola Anda dengan mencantumkan instance Anda dan memeriksa output untuk menemukan peringatan atau error migrasi.

Membuat daftar instance

Untuk mencantumkan instance notebook terkelola yang belum dimigrasikan, gunakan metode projects.locations.runtimes.list dengan filter migrated:false. Anda dapat mencantumkannya menggunakan gcloud CLI atau REST API:

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • PROJECT_ID: ID project Anda.
  • LOCATION: Region tempat instance notebook terkelola berada, atau gunakan - untuk mencantumkan instance dari semua region

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud notebooks runtimes list --project=PROJECT_ID \
    --location=LOCATION --filter=migrated:false --format=default

Windows (PowerShell)

gcloud notebooks runtimes list --project=PROJECT_ID `
    --location=LOCATION --filter=migrated:false --format=default

Windows (cmd.exe)

gcloud notebooks runtimes list --project=PROJECT_ID ^
    --location=LOCATION --filter=migrated:false --format=default

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: ID project Anda.
  • LOCATION: Region tempat instance notebook terkelola berada, atau gunakan - untuk mencantumkan instance dari semua region

Metode HTTP dan URL:

GET http://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?filter=migrated:false

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"http://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?filter=migrated:false"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "http://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?filter=migrated:false" | Select-Object -Expand Content

Memeriksa output peringatan atau error

Jika peringatan atau error migrasi terdeteksi, output metode projects.locations.runtimes.list akan menyertakan informasi ini.

Peringatan muncul saat komponen tertentu dalam konfigurasi instance notebook terkelola tidak akan dimigrasikan ke spesifikasi yang sama dalam instance Vertex AI Workbench. Misalnya, jika instance notebook terkelola Anda menggunakan akselerator yang tidak didukung, peringatan akan muncul dalam output. Dalam hal ini, instance dimigrasikan tanpa akselerator apa pun. Anda dapat menambahkan akselerator setelah migrasi. Tinjau peringatan di output, pertimbangkan perilaku default alat migrasi, dan nilai apakah alat migrasi dapat diterima untuk migrasi Anda.

Satu atau beberapa error dalam output berarti Anda tidak dapat memigrasikan instance notebook terkelola menggunakan alat migrasi. Anda harus memigrasikan instance secara manual.

Untuk informasi selengkapnya tentang peringatan dan error migrasi, lihat peringatan dan error dalam dokumentasi RuntimeMigrationEligibility.

Bermigrasi menggunakan alat migrasi

Anda dapat memigrasikan instance notebook terkelola menggunakan Konsol Google Cloud, gcloud CLI, atau REST API.

Konsol

  1. Di Konsol Google Cloud, buka halaman Managed notebooks.

    Buka Notebook terkelola

  2. Klik tombol Migrasikan. Halaman Migrasikan notebook terkelola ke instance akan terbuka.

  3. Untuk memigrasikan instance yang tidak memerlukan opsi yang ditentukan, klik tab Ready, pilih instance yang ingin dimigrasikan, lalu klik Migrate.

  4. Untuk memigrasikan instance yang memerlukan opsi yang ditentukan, klik tab Needs input, pilih instance yang ingin dimigrasikan, lalu klik Migrate.

    1. Dalam dialog Provide input for migration, tentukan jaringan dan akun layanan yang akan digunakan untuk instance Vertex AI Workbench baru yang Anda pilih.

    2. Klik Submit.

  5. Setelah migrasi selesai, buka halaman Instances untuk melihat instance Vertex AI Workbench baru Anda.

    Buka Instance

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • PROJECT_ID: ID project Anda.
  • LOCATION: Region tempat instance notebook terkelola Anda berada
  • RUNTIME_ID: ID instance notebook terkelola
  • NETWORK: Opsional: Jaringan tujuan migrasi instance
  • SUBNET: Opsional: Subnet tujuan migrasi instance
  • SERVICE_ACCOUNT: Opsional: Alamat email akun layanan yang ingin Anda gunakan
  • POST_STARTUP_SCRIPT_OPTION: Opsional: Salah satu opsi skrip pasca-startup

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud notebooks runtimes migrate RUNTIME_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    --network=NETWORK \
    --subnet=SUBNET \
    --service-account=SERVICE_ACCOUNT \
    --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION

Windows (PowerShell)

gcloud notebooks runtimes migrate RUNTIME_ID `
    --project=PROJECT_ID `
    --location=LOCATION `
    --network=NETWORK `
    --subnet=SUBNET `
    --service-account=SERVICE_ACCOUNT `
    --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION

Windows (cmd.exe)

gcloud notebooks runtimes migrate RUNTIME_ID ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --network=NETWORK ^
    --subnet=SUBNET ^
    --service-account=SERVICE_ACCOUNT ^
    --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: ID project Anda.
  • LOCATION: Region tempat instance notebook terkelola Anda berada
  • RUNTIME_ID: ID instance notebook terkelola
  • NETWORK: Opsional: Jaringan tujuan migrasi instance
  • SUBNET: Opsional: Subnet tujuan migrasi instance
  • SERVICE_ACCOUNT: Opsional: Alamat email akun layanan yang ingin Anda gunakan
  • POST_STARTUP_SCRIPT_OPTION: Opsional: Salah satu opsi skrip pasca-startup

Metode HTTP dan URL:

POST http://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes/RUNTIME_ID:migrate

Isi JSON permintaan:

{
  "network": NETWORK,
  "subnet": SUBNET,
  "serviceAccount": SERVICE_ACCOUNT_EMAIL_ADDRESS,
  "postStartupScriptOption": (POST_STARTUP_SCRIPT_OPTION)
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes/RUNTIME_ID:migrate"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "http://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes/RUNTIME_ID:migrate" | Select-Object -Expand Content

Migrasikan secara manual

Untuk memigrasikan instance Anda ke instance Vertex AI Workbench secara manual, pertimbangkan untuk menggunakan metode berikut:

  • Menggunakan Cloud Storage dan terminal: Salin data dan file Anda ke Cloud Storage, lalu ke instance lain menggunakan terminal.

  • Menggunakan GitHub: Salin data dan file Anda ke repositori GitHub dengan menggunakan ekstensi Git untuk JupyterLab.

Panduan ini menjelaskan cara memigrasikan data dan file menggunakan Cloud Storage dan terminal.

Persyaratan

Anda harus memiliki akses terminal ke instance notebook terkelola. Akses terminal ditetapkan secara manual saat Anda membuat instance. Setelan akses terminal tidak dapat diubah setelah instance dibuat.

Bermigrasi secara manual dengan menggunakan Cloud Storage dan terminal

Untuk memigrasikan data dan file ke instance Vertex AI Workbench yang baru menggunakan Cloud Storage dan terminal, lakukan langkah berikut.

  1. Buat bucket Cloud Storage di project yang sama di tempat instance notebook terkelola Anda berada.

  2. Dalam project yang sama, Buat instance Vertex AI Workbench sebagai tujuan migrasi data Anda. Saat Anda membuat instance ini:

    • Aktifkan akses terminal.
    • Tentukan jenis mesin, jaringan, dan karakteristik lainnya agar sesuai dengan kebutuhan Anda.
  3. Di antarmuka instance notebook terkelola Anda di JupyterLab, pilih File > New > Terminal untuk membuka jendela terminal.

  4. Gunakan gsutil tool untuk menyalin data pengguna Anda ke bucket Cloud Storage. Contoh perintah berikut menyalin semua file dari direktori /home/jupyter/ instance ke direktori dalam bucket Cloud Storage.

    gsutil cp -R /home/jupyter/* gs://BUCKET_NAMEPATH
    

    Ganti kode berikut:

    • BUCKET_NAME: Nama bucket Cloud Storage Anda
    • PATH: Jalur ke direktori tempat Anda ingin menyalin file, misalnya: /copy/jupyter/
  5. Di antarmuka JupyterLab instance Vertex AI Workbench yang baru, pilih File > New > Terminal untuk membuka jendela terminal.

  6. Gunakan gsutil tool untuk menyalin data Anda ke instance baru. Contoh perintah berikut menyalin semua file dari direktori Cloud Storage ke direktori /home/jupyter/ instance baru Anda.

    gsutil cp gs://BUCKET_NAMEPATH* /home/jupyter/
    

Konfirmasi migrasi

Setelah migrasi, instance notebook terkelola asli akan terus berfungsi seperti sebelumnya. Sebelum menghapus instance yang asli, pastikan migrasi berhasil.

Menghapus instance notebook terkelola

Jika Anda tidak memerlukan instance notebook terkelola yang menjadi asal migrasi, hapus instance tersebut untuk menghindari biaya lebih lanjut untuk instance tersebut.

  1. Di Konsol Google Cloud, buka halaman Managed notebooks.

    Buka Notebook terkelola

  2. Pilih instance yang ingin Anda hapus.

  3. Klik  Delete. (Bergantung pada ukuran jendela, tombol Delete mungkin ada di menu opsi  .)

  4. Untuk mengonfirmasi, klik Delete.

Memecahkan masalah

Untuk menemukan metode guna mendiagnosis dan menyelesaikan masalah migrasi, lihat Memecahkan Masalah Vertex AI Workbench.

Langkah selanjutnya