Sandbox Cloud Run menyediakan lingkungan yang cepat, aman, dan terisolasi untuk menjalankan alur kerja agen dalam kumpulan worker Anda, menjalankan payload yang tidak tepercaya, dan menangani peristiwa secara terpisah. 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
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Instal dan lakukan inisialisasi gcloud CLI.
- Deploy kumpulan worker Cloud Run .
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengonfigurasi dan men-deploy kumpulan worker Cloud Run, minta administrator Anda untuk memberikan peran IAM berikut:
- Developer Cloud Run (
roles/run.developer) di kumpulan worker Cloud Run - Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di identitas layanan
Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika kumpulan worker 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
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Untuk mengaktifkan sandbox di kumpulan worker Cloud Run, gunakan Google Cloud CLI atau konfigurasi YAML:
gcloud
Untuk men-deploy atau memperbarui kumpulan worker, tentukan flag --sandbox-launcher:
Untuk men-deploy kumpulan worker baru, jalankan perintah berikut:
gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --sandbox-launcher
Ganti kode berikut:
- WORKER_POOL: nama kumpulan worker Cloud Run Anda.
IMAGE_URL: referensi ke image container yang berisi kumpulan worker, sepertius-docker.pkg.dev/cloudrun/container/worker-pool:latest
Untuk memperbarui kumpulan worker yang ada, jalankan perintah berikut:
gcloud beta run worker-pools update WORKER_POOL --sandbox-launcher
YAML
Jika Anda membuat kumpulan worker baru, lewati langkah ini. Jika Anda memperbarui kumpulan worker yang ada, download konfigurasi YAML-nya:
gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
Perbarui file YAML Anda untuk menyertakan atribut
sandboxLauncheryang ditetapkan ketruedi dalam konfigurasi container Anda:apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL annotations: run.googleapis.com/launch-stage: BETA spec: template: spec: containers: - name: CONTAINER image: IMAGE_URL sandboxLauncher: trueGanti kode berikut:
- WORKER_POOL: nama kumpulan worker Cloud Run Anda.
- CONTAINER: nama container Anda.
IMAGE_URL: referensi ke image container yang berisi kumpulan worker, sepertius-docker.pkg.dev/cloudrun/container/worker-pool:latest
Buat atau perbarui kumpulan worker menggunakan perintah berikut:
gcloud run worker-pools replace worker-pool.yaml
Perintah
gcloud run worker-pools replacesecara default menggunakan fileworker-pool.yamljika ada.
Sandbox berbagi CPU dan memori yang dialokasikan ke container host. 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 kumpulan worker Anda, gunakan Google Cloud CLI atau konfigurasi YAML:
gcloud
Perbarui kumpulan worker menggunakan flag --no-sandbox-launcher dengan menjalankan perintah berikut:
gcloud beta run worker-pools update WORKER_POOL --no-sandbox-launcher
Ganti WORKER_POOL dengan nama kumpulan worker Anda.
YAML
Jika Anda membuat kumpulan worker baru, lewati langkah ini. Jika Anda memperbarui kumpulan worker yang ada, download konfigurasi YAML-nya:
gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
Perbarui file YAML Anda untuk menghapus atribut
sandboxLauncherdi dalam konfigurasi container Anda:apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL spec: template: spec: containers: - name: CONTAINER image: IMAGE_URLGanti kode berikut:
- WORKER_POOL: nama kumpulan worker Cloud Run Anda.
- CONTAINER: nama container Anda.
IMAGE_URL: referensi ke image container yang berisi kumpulan worker, sepertius-docker.pkg.dev/cloudrun/container/worker-pool:latest
Buat atau perbarui kumpulan worker menggunakan perintah berikut:
gcloud run worker-pools replace worker-pool.yaml
Perintah
gcloud run worker-pools replacesecara default menggunakan fileworker-pool.yamljika ada.
Melihat setelan sandbox
Untuk melihat setelan sandbox saat ini untuk kumpulan worker Cloud Run Anda:
Konsol
Di Google Cloud konsol, buka halaman Kumpulan worker Cloud Run:
Klik kumpulan worker untuk membuka halaman Detail kumpulan worker.
Klik tab Revisi.
Di tab Container, temukan setelan Peluncur sandbox untuk melihat apakah container sandbox diaktifkan atau dinonaktifkan.
gcloud
Gunakan perintah berikut:
gcloud run worker-pools describe WORKER_POOL
Ganti WORKER_POOL dengan nama kumpulan worker Anda.
Untuk memverifikasi bahwa container sandbox diaktifkan, temukan atribut
sandboxLauncher: truedalam konfigurasi yang ditampilkan.
Untuk menjalankan kode yang tidak tepercaya di sandbox dari kumpulan worker Anda, lihat Eksekusi kode di Cloud Run.