Ikhtisar Azure Container Apps Sandboxes

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.