Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Container Apps Sandbox menyediakan lingkungan komputasi sementara yang cepat, aman, dengan kemampuan penangguhan dan resume bawaan. Kotak pasir adalah jenis sumber daya kelas satu (Microsoft.App/SandboxGroups) di Container Apps, bersama aplikasi, pekerjaan, dan sesi dinamis.
Important
Untuk mengelola dan membuat sandbox, Anda memerlukan peran Azure Container Apps SandboxGroup Data Owner. Tetapkan peran ini kepada semua pengguna yang membuat dan mengelola kotak pasir.
Membuat dan mengelola lingkungan kotak pasir
Anda dapat membuat dan mengelola kotak pasir di portal Sandboxes atau secara terprogram dengan menggunakan Azure Container Apps CLI atau SDK.
Karakteristik utama dari Container Apps Sandboxes
Mulai dalam hitungan subdetik: Lingkungan sandbox disiapkan dari pool yang sudah disiapkan sebelumnya agar hampir seketika tersedia.
Isolasi kuat: Setiap sandbox berjalan dalam batas keamanan terpisahnya sendiri, aman untuk eksekusi kode yang tidak tepercaya.
Skala ke nol: Anda tidak membayar biaya CPU atau memori saat sandbox dihentikan.
Scale-out: Layanan ini dapat meningkatkan kapasitas hingga ribuan sandbox secara bersamaan sesuai permintaan.
Dukungan gambar kontainer OCI: Gunakan gambar publik yang disertakan atau bawa gambar kontainer Anda sendiri sebagai sistem file akar kotak pasir.
Tangguhkan dan lanjutkan kembali: Ambil snapshot seluruh status, termasuk memori dan disk, lalu lanjutkan kembali nanti dengan waktu pemulihan kurang dari satu detik.
Kontrol siklus hidup: Anda dapat mengelola siklus hidup kotak pasir penuh, termasuk rekam jepret status, penyimpanan persisten, dan kebijakan jaringan (keluar dan masuk).
Kapan menggunakan kotak pasir
Gunakan kotak pasir saat Anda memerlukan lingkungan komputasi terisolasi dengan kontrol siklus hidup eksplisit, status persisten, atau akses yang dapat diprogram melalui SDK.
| Scenario | Gunakan kotak pasir? | Mengapa |
|---|---|---|
| Eksekusi kode AI dengan pelestarian status | Yes | Tangguhkan di antara tugas, lanjutkan kembali dengan konteks lengkap tetap utuh |
| Lingkungan pengembangan | Yes | Lingkungan sesuai permintaan dan dapat ditangguhkan yang mempertahankan status di seluruh sesi |
| Alur kerja agen | Yes | Memberi agen AI ruang kerja persisten dan terisolasi di seluruh batas tugas |
| Sesi pengguna interaktif | Yes | Setiap pengguna mendapatkan lingkungan komputasi terisolasi mereka sendiri |
| Komputasi multitenan yang aman | Yes | Isolasi yang kuat untuk menjalankan beban kerja yang tidak tepercaya dari beberapa penyewa |
| Beban kerja lonjakan | Yes | Skalakan dari nol hingga ribuan kotak pasir sesuai permintaan |
| Jalur Pemrosesan CI/CD | Yes | Lingkungan build dan pengujian sementara yang diskalakan menjadi nol saat tidak digunakan |
Pilih opsi komputasi Container Apps yang tepat
Gunakan tabel berikut untuk memilih jenis komputasi Container Apps yang sesuai dengan beban kerja Anda.
| Jenis komputasi | Paling cocok untuk | Lifecycle | State |
|---|---|---|---|
| Aplikasi | Layanan jangka panjang, API, aplikasi web | Berkelanjutan | Stateless (penyimpanan status eksternal) |
| Pekerjaan | Tugas yang berjalan hingga selesai, pemrosesan batch | Mulai → jalankan → selesai | Tanpa Negara |
| Sesi dinamis | Eksekusi kode terkelola, skrip buatan LLM | Dikelola oleh kumpulan sesi | Efemeral |
| Sandbox | Komputasi terisolasi yang dapat diprogram dengan kontrol siklus hidup | Anda dapat mengelola: membuat, menangguhkan, mengaktifkan kembali, menghapus | Stateful (rekam jepret, volume) |
Konsep Utama
Prerequisites
Untuk membuat atau mengelola sandbox, Anda memerlukan penetapan peran di Azure Container Apps SandboxGroup Data Owner. Tanpa peran ini, Anda tidak dapat melakukan operasi di sandbox. Tetapkan peran ini pada cakupan yang diinginkan (Langganan Azure atau Grup Sumber Daya Azure) di portal Azure atau dengan menggunakan Azure CLI.
Sebelum menjalankan perintah berikut, ganti placeholder yang diapit oleh <> dengan nilai Anda sendiri.
az role assignment create \
--assignee "<USER_EMAIL_OR_OBJECT_ID>" \
--role "Container Apps SandboxGroup Data Owner" \
--scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"
Grup kotak pasir
Grup kotak pasir adalah batas manajemen tingkat atas untuk kotak pasir. Ini adalah sumber daya Azure Resource Manager (ARM) yang Anda buat di grup sumber daya dan wilayah. Semua kotak pasir, gambar disk, rekam jepret, volume, dan rahasia dilingkupkan ke grup kotak pasir.
Gunakan grup kotak pasir untuk mengatur kotak pasir berdasarkan aplikasi, tim, atau lingkungan.
Kotak pasir
Kotak pasir adalah instans komputasi terisolasi individu dalam grup kotak pasir. Setiap sandbox dijalankan dari image disk atau snapshot dan memiliki batas CPU, memori, disk, dan jaringan tersendiri.
Anda berinteraksi dengan kotak pasir dengan menjalankan perintah, mengelola file, mengekspos port, dan mengontrol status siklus hidup.
Gambar disk
Image disk adalah image kontainer OCI yang dikonversi agar dapat digunakan sebagai sistem file root sandbox. Anda dapat menggunakan gambar publik atau membuat gambar privat dari registri kontainer Anda sendiri.
Anda dapat membuat gambar disk dari:
- Gambar publik: Gambar bawaan tersedia untuk semua grup kotak pasir.
- Gambar registri kontainer: Tarik dari registri publik atau privat dengan autentikasi opsional.
Snapshots
Snapshot menangkap seluruh status sandbox yang sedang berjalan, termasuk memori dan disk. Gunakan rekam jepret untuk:
- Tangguhkan dan pulihkan: Jeda sandbox dan pulihkan kembali nanti dengan semua proses dan data tetap utuh.
- Mengkloning lingkungan: Membuat kotak pasir baru dari status yang diketahui baik.
- Bagikan garis besar: Distribusikan lingkungan yang telah dikonfigurasi sebelumnya di seluruh tim Anda.
Volumes
Microsoft mengelola volume dan menyediakan penyimpanan persisten yang dapat Anda pasang ke dalam kotak pasir. Tersedia dua jenis volume:
| Jenis volume | Deskripsi |
|---|---|
| Azure Blob | Bagikan data di beberapa sandbox (unggahan dan unduhan, artefak permanen). Dapat dipasang ke beberapa kotak pasir sekaligus. |
| Data Disk | Volume berkinerja tinggi untuk database, cache build, dan kumpulan data kerja berukuran besar. Hanya dapat dipasang ke satu kotak pasir pada satu waktu. |
Status siklus hidup
Sandbox memiliki status berikut:
| State | Deskripsi |
|---|---|
| Running | Aktif mengeksekusi, menggunakan CPU dan memori |
| Dihentikan | Dihentikan oleh pengguna, API, atau kebijakan Lifecycle |
Saat sandbox dihentikan, operasi membuat dan menyimpan snapshot berdasarkan Mode Penangguhan (lihat bagian berikut).
Anda dapat mengonfigurasi kebijakan siklus hidup untuk setiap kotak pasir:
- Tangguhkan otomatis: Tangguhkan sandbox yang tidak aktif setelah waktu tunggu yang dapat dikonfigurasi. Sandbox berada dalam keadaan idle saat tidak ada trafik ingress (masuk), tidak ada eksekusi kode (melalui API eksekusi), tidak ada sesi shell interaktif, dan tidak ada operasi file.
- Mode Penangguhan: Pilih antara mode memori (snapshot lengkap - disk + memori) atau mode disk (hanya mempertahankan disk).
- Hapus otomatis: Menghapus kotak pasir secara otomatis setelah beberapa hari tertentu setelah kotak pasir dihentikan.
Architecture
Kotak pasir menggunakan arsitektur dua bidang:
| Pesawat | Titik Akhir | Operations |
|---|---|---|
| Sarana kontrol ARM | management.azure.com |
Membuat, memperbarui, menghapus, dan mencantumkan grup kotak pasir. Mengelola koneksi VNet. |
| Data plane | management.azuredevcompute.io |
Mengelola kotak pasir, gambar disk, rekam jepret, file, volume, rahasia, port, dan kebijakan keluar. |
Anda membuat dan mengelola grup kotak pasir melalui sarana kontrol ARM. Semua operasi pada setiap sandbox dan sumber dayanya dilakukan melalui data plane ACA Sandboxes, dalam cakupan grup sandbox tertentu.
Tingkatan sumber daya
Setiap sandbox ditetapkan ke tingkat sumber daya yang menentukan alokasi CPU, memori, dan disknya.
| Tier | CPU | Memory | Disk |
|---|---|---|---|
| XS | 0,25 inti | 0,5 GB | 20 GB |
| S | 0,5 core | 1 GB | 20 GB |
| M (bawaan) | 1 inti | 2 GB | 20 GB |
| L | 2 inti | 4 GB | 40 GB |
| XL | 4 inti | 8 GB | 80 GB |
Considerations
Pertimbangkan titik-titik ini saat bekerja dengan kotak pasir:
- Entra ID diperlukan: Hanya akun Microsoft Entra ID yang dapat mengakses kotak pasir. Akun Microsoft pribadi tidak didukung.
- Kontrol jaringan: Anda dapat mengonfigurasi kebijakan keluar untuk mengontrol lalu lintas keluar dari kotak pasir, termasuk aturan izinkan atau tolak berbasis domain, aturan jaringan berbasis CIDR, dan integrasi VNet.
Kotak pasir vs. sesi dinamis
Kotak pasir dan sesi dinamis keduanya menyediakan lingkungan komputasi terisolasi di Container Apps, tetapi melayani kebutuhan yang berbeda.
| Sesi dinamis | Kotak pasir | |
|---|---|---|
| Pola akses | Perutean permintaan HTTP melalui titik akhir manajemen kumpulan sesi | Kendali langsung melalui SDK dan CLI terhadap setiap sandbox |
| Status | Ephemeral, dihancurkan setelah pendinginan | Stateful dengan tangguhkan, lanjutkan, dan rekam jepret |
| Kontrol pengembang | Pool mengelola alokasi dan siklus hidup | Anda mengelola siklus hidup sandbox, file, port, dan kebijakan |
| Model gambar | Penerjemah kode (bawaan) atau kontainer kustom | Gambar disk (OCI), rekam jepret, paket konten |
| Penyimpanan persisten | Tidak tersedia | Volume (Azure Blob, Disk Data) |
| Jaringan | Isolasi dasar | Kebijakan keluar, integrasi VNet, manajemen port |
| SDK | REST API melalui titik akhir kumpulan | Python SDK (azure-containerapps-sandbox) dan REST API |
Pilih sesi dinamis saat Anda memerlukan pengalaman eksekusi terkelola yang mengabstraksi infrastruktur. Pilih Kotak pasir saat Anda memerlukan kontrol yang dapat diprogram atas komputasi terisolasi dengan persistensi status.