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

  1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. 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:

    1. Di konsol Google Cloud , buka halaman Runtime templates Colab Enterprise.

      Buka Template Runtime

    2. Klik  New template.

      Dialog Create new runtime template akan muncul.

    3. Di bagian Runtime basics, masukkan Display name.

    4. Di menu Region, pilih region tempat Anda ingin template runtime.

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

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

    7. Di bagian Networking and security, pastikan Enable end-user credentials dipilih.

    8. Selesaikan sisa dialog, lalu klik Buat.

      Template runtime Anda akan muncul dalam daftar di tab Runtime templates.

    gcloud

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

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

    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:

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

    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
    Jika berhasil, isi respons berisi instance Operation.

    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:

    1. Di konsol Google Cloud , buka halaman Runtime templates Colab Enterprise.

      Buka Template Runtime

    2. Klik  New template.

      Dialog Create new runtime template akan muncul.

    3. Di bagian Runtime basics, masukkan Display name.

    4. Di menu Region, pilih region tempat Anda ingin template runtime.

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

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

    7. Untuk menambahkan variabel lingkungan, klik  Tambahkan variabel lingkungan, lalu masukkan pasangan Kunci dan Nilai. Untuk menambahkan variabel lingkungan lainnya, ulangi langkah ini.

    8. Di bagian Networking and security, pastikan Enable end-user credentials dipilih.

    9. Selesaikan sisa dialog, lalu klik Buat.

      Template runtime Anda akan muncul dalam daftar di tab Runtime templates.

    gcloud

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

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

    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:

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

    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
    Jika berhasil, isi respons berisi instance Operation.

    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:

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

    Langkah berikutnya