Menggunakan skrip pasca-startup
Panduan ini menjelaskan cara menggunakan skrip pasca-startup dengan Colab Enterprise. Panduan ini juga menjelaskan cara menyetel variabel lingkungan untuk digunakan dengan skrip pasca-startup.
Ringkasan
Anda dapat menggunakan skrip pasca-startup untuk melakukan tugas setelah proses startup runtime Colab Enterprise Anda. Misalnya, Anda dapat menggunakan skrip pasca-startup untuk menginstal paket tertentu atau membuat perubahan tertentu pada VM runtime Anda.
Untuk menggunakan skrip pasca-startup di Colab Enterprise, Anda menentukan skrip pasca-startup saat membuat template runtime. Kemudian, saat Anda membuat runtime berdasarkan template runtime tersebut, skrip pasca-startup akan berjalan di akhir proses startup.
Lokasi skrip pasca-startup
URI skrip pasca-startup Anda dapat berupa salah satu dari berikut ini:
- URI Cloud Storage: Misalnya,
gs://BUCKET_NAME/SCRIPT_FILE_NAME
. Jika skrip pasca-startup Anda disimpan di Cloud Storage, Anda harus menggunakan runtime dengan kredensial pengguna akhir yang diaktifkan. Hal ini karena Colab Enterprise menggunakan kredensial pengguna Anda untuk mengakses bucket Cloud Storage. - URL HTTPS: Misalnya,
https://example.com/FOLDER_NAME/SCRIPT_FILE_NAME
. Penggunaan URL HTTPS tidak didukung saat membuat template runtime menggunakan konsol Google Cloud .
Perilaku skrip pasca-startup
Anda dapat menentukan perilaku skrip pasca-startup. Lihat tabel berikut:
Perilaku | Deskripsi |
---|---|
Jalankan sekali (`RUN_ONCE`) |
Default. Colab Enterprise menjalankan skrip pasca-startup hanya sekali, selama pembuatan runtime. |
Jalankan setiap kali dimulai (`RUN_EVERY_START`) |
Setelah setiap kali dimulai, Colab Enterprise akan menjalankan skrip pasca-startup. Misalnya, jika penonaktifan saat tidak ada aktivitas menghentikan runtime, Colab Enterprise akan menjalankan skrip pasca-startup lagi saat runtime dimulai ulang. |
Download dan jalankan setiap kali dimulai (`DOWNLOAD_AND_RUN_EVERY_START`) |
Setelah setiap kali dimulai, Colab Enterprise akan mendownload ulang skrip pasca-startup dari sumbernya, lalu menjalankan skrip. |
Variabel lingkungan
Anda dapat menentukan variabel lingkungan dalam template runtime, dan merujuk ke variabel tersebut dalam skrip pasca-startup.
Misalnya, Anda dapat menetapkan project kuota menggunakan
variabel lingkungan.
Anda dapat menetapkan project kuota ke project ID tertentu menggunakan
GOOGLE_CLOUD_QUOTA_PROJECT
, variabel umum yang digunakan di library klien Google Cloud.
Untuk menggunakan skrip pasca-startup dengan variabel lingkungan, lihat Membuat template runtime dengan skrip pasca-startup dan variabel lingkungan.
Melacak perubahan dan memulihkan skrip pasca-startup
Untuk melacak perubahan pada skrip pasca-startup dan mengaktifkan pemulihan versi skrip pasca-startup tertentu, simpan skrip pasca-startup Anda di bucket Cloud Storage dengan Pembuatan Versi Objek diaktifkan. Pembuatan Versi Objek mempertahankan objek yang dihapus sebagai objek berversi dan lama yang tetap dapat diakses di bucket Anda hingga dihapus secara eksplisit.
Untuk menentukan versi skrip pasca-startup, tambahkan
#GENERATION_NUMBER
ke URI skrip pasca-startup
saat Anda membuat template runtime, misalnya,
gs://BUCKET_NAME/FOLDER_NAME/FILE_NAME.py#GENERATION_NUMBER
.
Untuk mengetahui informasi selengkapnya tentang Pembuatan Versi Objek dan nomor generasi,
lihat Pembuatan Versi Objek.
Saat Anda menggunakan konsol Google Cloud untuk membuat template runtime, penentuan nomor generasi untuk skrip pasca-startup tidak didukung.
Sebelum memulai
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Di konsol Google Cloud , buka halaman Runtime templates Colab Enterprise.
-
Klik
New template.Dialog Create new runtime template akan muncul.
-
Di bagian Runtime basics, masukkan Display name.
-
Di menu Region, pilih region tempat Anda ingin template runtime.
-
Di bagian Lingkungan, di kolom Skrip pasca-startup, klik Jelajahi, lalu buka skrip pasca-startup yang ada di Cloud Storage. Untuk mengetahui informasi selengkapnya, lihat Lokasi skrip pasca-startup.
-
Di bagian URL skrip pasca-startup, pilih perilaku skrip pasca-startup Anda. Perilaku default adalah Jalankan sekali. Untuk mengetahui informasi selengkapnya, lihat Perilaku skrip pasca-startup.
-
Di bagian Networking and security, pastikan Enable end-user credentials dipilih.
-
Selesaikan sisa dialog, lalu klik Buat.
Template runtime Anda akan muncul dalam daftar di tab Runtime templates.
DISPLAY_NAME
: nama tampilan template runtime Anda.PROJECT_ID
: project ID Anda.REGION
: region tempat Anda menginginkan template runtime.POST_STARTUP_SCRIPT_URI
: URI untuk skrip pasca-startup Anda. Untuk mengetahui informasi selengkapnya, lihat Lokasi skrip pasca-startup.POST_STARTUP_SCRIPT_BEHAVIOR
: perilaku skrip post-startup. Lihat Perilaku skrip pasca-startup.REGION
: region tempat Anda menginginkan template runtime.PROJECT_ID
: project ID Anda.DISPLAY_NAME
: nama tampilan template runtime Anda.POST_STARTUP_SCRIPT_URI
: URI untuk skrip pasca-startup Anda. Untuk mengetahui informasi selengkapnya, lihat Lokasi skrip pasca-startup.POST_STARTUP_SCRIPT_BEHAVIOR
: perilaku skrip post-startup. Lihat Perilaku skrip pasca-startup.-
Di konsol Google Cloud , buka halaman Runtime templates Colab Enterprise.
-
Klik
New template.Dialog Create new runtime template akan muncul.
-
Di bagian Runtime basics, masukkan Display name.
-
Di menu Region, pilih region tempat Anda ingin template runtime.
-
Di bagian Lingkungan, di kolom Skrip pasca-startup, klik Jelajahi, lalu buka skrip pasca-startup yang ada di Cloud Storage. Untuk mengetahui informasi selengkapnya, lihat Lokasi skrip pasca-startup.
-
Di bagian URL skrip pasca-startup, pilih perilaku skrip pasca-startup Anda. Perilaku default adalah Jalankan sekali. Untuk mengetahui informasi selengkapnya, lihat Perilaku skrip pasca-startup.
-
Untuk menambahkan variabel lingkungan, klik
Tambahkan variabel lingkungan, lalu masukkan pasangan Kunci dan Nilai. Untuk menambahkan variabel lingkungan lainnya, ulangi langkah ini. -
Di bagian Networking and security, pastikan Enable end-user credentials dipilih.
-
Selesaikan sisa dialog, lalu klik Buat.
Template runtime Anda akan muncul dalam daftar di tab Runtime templates.
DISPLAY_NAME
: nama tampilan template runtime Anda.PROJECT_ID
: project ID Anda.REGION
: region tempat Anda menginginkan template runtime.POST_STARTUP_SCRIPT_URI
: URI untuk skrip pasca-startup Anda. Untuk mengetahui informasi selengkapnya, lihat Lokasi skrip pasca-startup.POST_STARTUP_SCRIPT_BEHAVIOR
: perilaku skrip post-startup. Lihat Perilaku skrip pasca-startup.ENV_VARIABLE_NAME
: nama variabel lingkungan yang akan ditetapkan untuk runtime Anda.ENV_VARIABLE_VALUE
: nilai variabel lingkungan yang akan ditetapkan untuk runtime Anda.REGION
: region tempat Anda menginginkan template runtime.PROJECT_ID
: project ID Anda.DISPLAY_NAME
: nama tampilan template runtime Anda.POST_STARTUP_SCRIPT_URI
: URI untuk skrip pasca-startup Anda. Untuk mengetahui informasi selengkapnya, lihat Lokasi skrip pasca-startup.POST_STARTUP_SCRIPT_BEHAVIOR
: perilaku skrip post-startup. Lihat Perilaku skrip pasca-startup.ENV_VARIABLE_NAME
: nama variabel lingkungan yang akan ditetapkan untuk runtime Anda.ENV_VARIABLE_VALUE
: nilai variabel lingkungan yang akan ditetapkan untuk runtime Anda.- Untuk membuat runtime berdasarkan template runtime yang menyertakan skrip pasca-startup, Anda harus menjadi pemilik dan pembuat template runtime tersebut.
- Penerusan variabel lingkungan melalui skrip pasca-startup tidak didukung. Anda harus menentukan variabel lingkungan dalam konfigurasi software seperti yang dijelaskan dalam panduan ini.
- Untuk menggunakan skrip pasca-startup yang berada di Cloud Storage, Anda harus menggunakan runtime dengan kredensial pengguna akhir yang diaktifkan dan kredensial pengguna Anda harus memiliki akses ke bucket Cloud Storage.
- Jika Anda menggunakan konsol Google Cloud untuk membuat template runtime, skrip pasca-startup harus berada di Cloud Storage. Skrip pasca-startup di lokasi lain tidak didukung saat membuat template runtime menggunakan konsol Google Cloud .
- Menentukan nomor generasi untuk skrip pasca-startup tidak didukung saat Anda menggunakan konsol Google Cloud untuk membuat template runtime.
- Buat runtime dan hubungkan ke runtime tersebut.
- Untuk mengelola runtime, lihat Mengelola runtime.
- Pelajari lebih lanjut runtime dan template runtime.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat template runtime di Colab Enterprise, minta administrator untuk memberi Anda peran IAM Colab Enterprise Admin (roles/aiplatform.colabEnterpriseAdmin
) di project tersebut.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Membuat template runtime yang menggunakan skrip pasca-startup
Untuk membuat template runtime yang menggunakan skrip post-startup, Anda dapat menggunakan Google Cloud console, Google Cloud CLI, atau REST API.
Konsol
Untuk membuat template runtime yang menggunakan skrip post-startup, lakukan hal berikut:
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" \ --project=PROJECT_ID \ --region=REGION \ --machine-type=e2-standard-4 \ --post-startup-script-url=POST_STARTUP_SCRIPT_URI \ --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR
Windows (PowerShell)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ` --project=PROJECT_ID ` --region=REGION ` --machine-type=e2-standard-4 ` --post-startup-script-url=POST_STARTUP_SCRIPT_URI ` --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR
Windows (cmd.exe)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ^ --project=PROJECT_ID ^ --region=REGION ^ --machine-type=e2-standard-4 ^ --post-startup-script-url=POST_STARTUP_SCRIPT_URI ^ --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR
Untuk mengetahui informasi selengkapnya tentang perintah untuk membuat template runtime dari command line, lihat dokumentasi gcloud CLI.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
Metode HTTP dan URL:
POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates
Isi JSON permintaan:
{ "displayName": "DISPLAY_NAME", "machineSpec": { "machineType": "e2-standard-4" }, softwareConfig: { postStartupScriptConfig: { postStartupScriptUrl: "POST_STARTUP_SCRIPT_URI", postStartupScriptBehavior: "POST_STARTUP_SCRIPT_BEHAVIOR" }, }, "networkSpec": { "enableInternetAccess": true } }
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 \
"https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates"
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 "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates" | Select-Object -Expand Content
Untuk mengetahui informasi selengkapnya, lihat dokumentasi REST API notebookRuntimeTemplates.create
.
Membuat runtime
Setelah membuat template runtime yang menggunakan skrip pasca-startup, buat runtime berdasarkan template runtime tersebut. Runtime dimulai, dan skrip pasca-startup berjalan sesuai dengan perilaku yang ditentukan. Lihat Membuat runtime.
Membuat template runtime dengan skrip pasca-startup dan variabel lingkungan
Untuk membuat template runtime yang menggunakan skrip pasca-startup dan variabel lingkungan, Anda dapat menggunakan Google Cloud konsol, Google Cloud CLI, atau REST API.
Konsol
Untuk membuat template runtime yang menggunakan skrip pasca-startup dan variabel lingkungan, lakukan hal berikut:
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" \ --project=PROJECT_ID \ --region=REGION \ --machine-type=e2-standard-4 \ --post-startup-script-url=POST_STARTUP_SCRIPT_URI \ --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR \ --set-env-vars=ENV_VARIABLE_NAME=ENV_VARIABLE_VALUE
Windows (PowerShell)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ` --project=PROJECT_ID ` --region=REGION ` --machine-type=e2-standard-4 ` --post-startup-script-url=POST_STARTUP_SCRIPT_URI ` --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR ` --set-env-vars=ENV_VARIABLE_NAME=ENV_VARIABLE_VALUE
Windows (cmd.exe)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ^ --project=PROJECT_ID ^ --region=REGION ^ --machine-type=e2-standard-4 ^ --post-startup-script-url=POST_STARTUP_SCRIPT_URI ^ --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR ^ --set-env-vars=ENV_VARIABLE_NAME=ENV_VARIABLE_VALUE
Untuk mengetahui informasi selengkapnya tentang perintah untuk membuat template runtime dari command line, lihat dokumentasi gcloud CLI.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
Metode HTTP dan URL:
POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates
Isi JSON permintaan:
{ "displayName": "DISPLAY_NAME", "machineSpec": { "machineType": "e2-standard-4" }, softwareConfig: { postStartupScriptConfig: { postStartupScriptUrl: "POST_STARTUP_SCRIPT_URI", postStartupScriptBehavior: "POST_STARTUP_SCRIPT_BEHAVIOR" }, "env": [ { "name": "ENV_VARIABLE_NAME", "value": "ENV_VARIABLE_VALUE" } ] }, "networkSpec": { "enableInternetAccess": true } }
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 \
"https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates"
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 "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates" | Select-Object -Expand Content
Untuk mengetahui informasi selengkapnya, lihat dokumentasi REST API notebookRuntimeTemplates.create
.
Membuat runtime
Setelah membuat template runtime yang menggunakan skrip pasca-startup, buat runtime berdasarkan template runtime tersebut. Runtime dimulai, dan skrip pasca-startup berjalan sesuai dengan perilaku yang ditentukan. Lihat Membuat runtime.
Batasan
Pertimbangkan batasan berikut saat menggunakan skrip pasca-startup dengan Colab Enterprise: