Mengonfigurasi sandbox untuk tugas

Sandbox Cloud Run menyediakan lingkungan yang cepat, aman, dan terisolasi untuk mengeksekusi kode agen, melakukan transformasi data, dan menjalankan skrip dengan aman dalam tugas yang ada. Sandbox sangat dioptimalkan untuk latensi dan berjalan dalam instance yang sama dengan penampung Anda, yang berbagi CPU dan memori yang dialokasikan.

Halaman ini menjelaskan cara mengonfigurasi sandbox di penampung Anda. Untuk mengetahui detail tentang penulisan kode untuk berinteraksi dengan sandbox menggunakan CLI, lihat Eksekusi kode di Cloud Run.

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. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  4. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  6. Instal dan lakukan inisialisasi gcloud CLI.
  7. Buat tugas Cloud Run.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi tugas Cloud Run, minta administrator Anda untuk memberi Anda peran IAM berikut:

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika tugas Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.

Mengaktifkan sandbox

Untuk mengaktifkan sandbox di tugas Cloud Run, gunakan Google Cloud CLI atau konfigurasi YAML:

gcloud

Untuk membuat atau memperbarui tugas, tentukan flag --sandbox-launcher:

  • Untuk membuat tugas, jalankan perintah berikut:

    gcloud beta run jobs create JOB --image IMAGE_URL --sandbox-launcher

    Ganti kode berikut:

    • JOB: nama tugas Cloud Run Anda.
    • IMAGE_URL: referensi ke image container—misalnya, us-docker.pkg.dev/cloudrun/container/job:latest
  • Untuk memperbarui pekerjaan yang ada, jalankan perintah berikut:

    gcloud beta run jobs update JOB --sandbox-launcher

YAML

  1. Jika Anda membuat tugas baru, lewati langkah ini. Jika Anda memperbarui tugas yang ada, download konfigurasi YAML-nya:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Perbarui file YAML Anda untuk menyertakan atribut sandboxLauncher yang ditetapkan ke true di dalam konfigurasi container Anda:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - name: CONTAINER
                image: IMAGE_URL
                sandboxLauncher: true
    

    Ganti kode berikut:

    • JOB: nama tugas Cloud Run Anda.
    • CONTAINER: nama container Anda.
    • IMAGE_URL: referensi ke image container—misalnya, us-docker.pkg.dev/cloudrun/container/job:latest
  3. Buat atau perbarui tugas menggunakan perintah berikut:

    gcloud run jobs replace job.yaml

    Perintah gcloud run jobs replace secara default akan menggunakan file job.yaml jika ada.

Sandbox berbagi CPU dan memori yang dialokasikan ke host container. Pastikan batas CPU dan memori container utama Anda dapat mengakomodasi aplikasi Anda dan sandbox aktif yang Anda jalankan secara bersamaan.

Menonaktifkan sandbox

Untuk menonaktifkan kemampuan meluncurkan sandbox di tugas Anda, gunakan Google Cloud CLI atau konfigurasi YAML:

gcloud

Perbarui tugas menggunakan tanda --no-sandbox-launcher dengan menjalankan perintah berikut:

gcloud beta run jobs update JOB --no-sandbox-launcher

Ganti JOB dengan nama tugas Anda.

YAML

  1. Jika Anda membuat tugas baru, lewati langkah ini. Jika Anda memperbarui tugas yang ada, download konfigurasi YAML-nya:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Perbarui file YAML Anda untuk menghapus atribut sandboxLauncher di dalam konfigurasi container Anda:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - name: CONTAINER
                image: IMAGE_URL
    

    Ganti kode berikut:

    • JOB: nama tugas Cloud Run Anda.
    • CONTAINER: nama container Anda.
    • IMAGE_URL: referensi ke image container—misalnya, us-docker.pkg.dev/cloudrun/container/job:latest
  3. Buat atau perbarui tugas menggunakan perintah berikut:

    gcloud run jobs replace job.yaml

    Perintah gcloud run jobs replace secara default akan menggunakan file job.yaml jika ada.

Melihat setelan sandbox

Untuk melihat setelan sandbox saat ini untuk tugas Cloud Run Anda:

Konsol

  1. Di konsol Google Cloud , buka halaman Tugas Cloud Run:

    Buka tugas Cloud Run

  2. Klik tugas untuk membuka halaman Detail tugas.

  3. Dari tab History, klik ID tugas yang dijalankan dari daftar.

  4. Di tab Containers, temukan setelan Peluncur sandbox untuk melihat apakah container sandbox diaktifkan atau dinonaktifkan.

gcloud

  1. Gunakan perintah berikut:

    gcloud run jobs executions describe EXECUTION_NAME --format yaml

    Ganti EXECUTION_NAME dengan nama eksekusi tugas.

  2. Untuk memverifikasi bahwa container sandbox diaktifkan, temukan atribut sandboxLauncher: true dalam konfigurasi yang ditampilkan.

Untuk menjalankan kode yang tidak tepercaya di sandbox dari tugas Anda, lihat Eksekusi kode di Cloud Run.