Mengonfigurasi sandbox untuk instance

Sandbox Cloud Run menyediakan lingkungan yang cepat, aman, dan terisolasi untuk menjalankan alat eksekusi kode yang tidak tepercaya atau software otomatisasi browser untuk agen yang dihosting di instance yang ada. Sandbox sangat dioptimalkan untuk latensi dan berjalan dalam instance yang sama dengan container Anda, serta berbagi CPU dan memori yang dialokasikan.

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

Sebelum memulai

  1. Sign in to your Google Cloud account. 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. Deploy instance Cloud Run instance.

Peran yang diperlukan

Guna mendapatkan izin yang Anda perlukan untuk mengonfigurasi dan men-deploy instance 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 instance 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 instance Cloud Run, gunakan Google Cloud CLI atau konfigurasi YAML:

gcloud

Untuk membuat atau mengupdate instance, tentukan flag --sandbox-launcher:

  • Untuk membuat instance baru, jalankan perintah berikut:

    gcloud beta run instances create INSTANCE --image IMAGE_URL --sandbox-launcher

    Ganti kode berikut:

    • INSTANCE: nama instance Cloud Run Anda.
    • IMAGE_URL: referensi ke image container, seperti us-docker.pkg.dev/cloudrun/container/hello:latest.
  • Untuk mengupdate instance yang ada, jalankan perintah berikut:

    gcloud beta run instances update INSTANCE --sandbox-launcher

YAML

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

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Update file YAML Anda untuk menyertakan atribut sandboxLauncher yang ditetapkan ke true di dalam konfigurasi container Anda:

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

    Ganti kode berikut:

    • INSTANCE: nama instance Cloud Run Anda.
    • CONTAINER: nama container Anda.
    • IMAGE_URL: referensi ke image container, seperti us-docker.pkg.dev/cloudrun/container/hello:latest.
  3. Buat atau update instance menggunakan perintah berikut:

    gcloud beta run instances replace instance.yaml

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

Menonaktifkan sandbox

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

gcloud

Update instance menggunakan flag --no-sandbox-launcher dengan menjalankan perintah berikut:

gcloud beta run instances update INSTANCE --no-sandbox-launcher

Ganti INSTANCE dengan nama instance Anda.

YAML

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

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Update file YAML Anda untuk menghapus atribut sandboxLauncher di dalam konfigurasi container Anda:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
    spec:
      containers:
      - name: CONTAINER
        image: IMAGE_URL
    

    Ganti kode berikut:

    • INSTANCE: nama instance Cloud Run Anda.
    • CONTAINER: nama container Anda.
    • IMAGE_URL: referensi ke image container, seperti us-docker.pkg.dev/cloudrun/container/hello:latest.
  3. Buat atau update instance menggunakan perintah berikut:

    gcloud beta run instances replace instance.yaml

Melihat setelan sandbox

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

gcloud

  1. Gunakan perintah berikut:

    gcloud beta run instances describe INSTANCE

    Ganti INSTANCE dengan nama instance Anda.

  2. Temukan atribut sandboxLauncher: true dalam konfigurasi yang ditampilkan.

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