Przegląd Azure Container Apps Sandboxes

Piaskownice usługi Azure Container Apps zapewniają szybkie, bezpieczne, tymczasowe środowiska obliczeniowe z wbudowanymi funkcjami wstrzymywania i wznawiania. Piaskownice są pełnoprawnym typem zasobu (Microsoft.App/SandboxGroups) w usłudze Container Apps, obok aplikacji, zadań i sesji dynamicznych.

Ważna

Aby zarządzać środowiskami izolowanymi i je tworzyć, potrzebujesz roli platformy Azure Container Apps SandboxGroup Data Owner. Przypisz tę rolę wszystkim użytkownikom, którzy tworzą piaskownice i zarządzają nimi.

Twórz środowiska testowe i zarządzaj nimi

Możesz tworzyć piaskownice i zarządzać nimi w portalu Sandboxes lub programowo za pomocą interfejsu wiersza polecenia (CLI) lub zestawu SDK usługi Azure Container Apps.

Kluczowe cechy piaskownic usługi Container Apps

  • Uruchamianie w czasie poniżej sekundy: środowiska izolowane są tworzone z wstępnie rozgrzanych pul, co zapewnia niemal natychmiastową dostępność.

  • Silna izolacja: każda piaskownica działa we własnym bezpiecznie odizolowanym środowisku, odpowiednim do uruchamiania niezaufanego kodu.

  • Skaluj do zera: Nie płacisz żadnych opłat za CPU ani pamięć, gdy sandboxy zostaną zatrzymane.

  • Skalowanie horyzontalne: Usługa może dynamicznie skalować się do tysięcy jednoczesnych sandboxów w razie potrzeby.

  • Obsługa obrazów kontenerów OCI: Użyj dołączonego publicznego obrazu lub własnych obrazów kontenerów jako głównych systemów plików piaskownicy.

  • Wstrzymywanie i wznawianie: zapisuj pełny stan, w tym zawartość pamięci i dysku, jako migawkę, a następnie wznawiaj działanie później w czasie krótszym niż sekunda.

  • Kontrola cyklu życia: Możesz zarządzać pełnym cyklem życia sandboxa, w tym migawkami stanów, trwałym przechowywaniem oraz politykami sieciowymi (zarówno egress, jak i ingres).

Kiedy należy używać piaskownic

Używaj sandboxów, gdy potrzebujesz izolowanych środowisk obliczeniowych z wyraźną kontrolą cyklu życia, stałym stanem lub programowalnym dostępem przez SDK.

Scenario Czy używać piaskownic? Dlaczego
Wykonywanie kodu AI z zachowaniem stanu Yes Wstrzymać między zadaniami, wznowić z zachowaniem pełnego kontekstu
Środowiska projektowe Yes Środowiska na żądanie, które można wstrzymywać i które zachowują stan między sesjami
Przepływy pracy agenta Yes Zapewnienie agentom sztucznej inteligencji trwałych, izolowanych obszarów roboczych poza granicami zadań
Interakcyjne sesje użytkowników Yes Każdy użytkownik otrzymuje własne izolowane środowisko obliczeniowe
Zabezpieczanie wielodostępnych zasobów obliczeniowych Yes Silna izolacja dla uruchamiania niezaufanych obciążeń od wielu dzierżawców
Obciążenia skokowe Yes Skaluj od zera do tysięcy środowisk sandboxowych na żądanie
Potoki CI/CD Yes Efemeryczne środowiska kompilacji i testowania, które są skalowane do zera w przypadku bezczynności

Wybieranie odpowiedniej opcji obliczeniowej usługi Container Apps

Skorzystaj z poniższej tabeli, aby wybrać typ obliczeniowy Usługi Container Apps pasujący do obciążenia.

Typ środowiska obliczeniowego Najlepsze dla Lifecycle Państwa
Aplikacje Długotrwałe usługi, interfejsy API, aplikacje internetowe Ciągły Bezstanowy (magazyny stanów zewnętrznych)
Zadania Zadania wykonywane do zakończenia, przetwarzanie wsadowe Start → uruchomienie → zakończenie Bezstanowa
Sesje dynamiczne Wykonywanie kodu zarządzanego, skrypty generowane przez moduł LLM Zarządzane przez pulę sesji Efemeryczny
Piaskownice Programowalne izolowane środowisko obliczeniowe z kontrolą cyklu życia Zarządzasz: tworzenie, wstrzymywanie, wznawianie, usuwanie Z zachowaniem stanu (migawki, woluminy)

Kluczowe pojęcia

Wymagania wstępne

Aby tworzyć środowiska izolowane lub nimi zarządzać, musisz mieć przypisaną rolę platformy Azure Container Apps SandboxGroup Data Owner. Bez tej roli nie można wykonywać operacji w środowisku sandbox. Przypisz tę rolę w żądanym zakresie (subskrypcja Azure lub grupa zasobów Azure) w portalu Azure lub przy użyciu Azure CLI.

Przed uruchomieniem następującego polecenia zastąp symbole zastępcze otoczone <> własnymi wartościami.

az role assignment create \
  --assignee "<USER_EMAIL_OR_OBJECT_ID>" \
  --role "Container Apps SandboxGroup Data Owner" \
  --scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"

Grupy w piaskownicy

Grupa piaskownic to najwyższy poziom zarządzania piaskownicami. Jest to zasób Azure Resource Manager (ARM), który jest tworzony w grupie zasobów i regionie. Wszystkie środowiska izolowane, obrazy dysków, migawki, woluminy i sekrety należą do zakresu grupy środowiska izolowanego.

Grupy piaskownicy umożliwiają organizowanie piaskownic według aplikacji, zespołu lub środowiska.

Piaskownice

Piaskownica to indywidualna, izolowana instancja obliczeniowa w obrębie grupy piaskownic. Każde środowisko izolowane działa w oparciu o obraz dysku lub migawkę i ma odizolowane zasoby procesora, pamięci, dysku oraz sieci.

Wchodzisz w interakcję ze środowiskami sandbox, wykonując polecenia, zarządzając plikami, udostępniając porty i kontrolując stan cyklu życia.

Obrazy dysków

Obrazy dysków to obrazy kontenerów OCI przekonwertowane do użytku jako główne systemy plików środowiska izolowanego. Możesz użyć obrazów publicznych lub utworzyć obrazy prywatne na podstawie własnych rejestrów kontenerów.

Obrazy dysków można tworzyć na podstawie następujących funkcji:

  • Obrazy publiczne: gotowe obrazy dostępne dla wszystkich grup sandbox.
  • Obrazy rejestru kontenerów: ściąganie z rejestrów publicznych lub prywatnych przy użyciu opcjonalnego uwierzytelniania.

Snapshots

Migawki zapisują pełny stan działającego środowiska izolowanego, w tym pamięć i dysk. Użyj migawek, aby:

  • Wstrzymywanie i wznawianie: wstrzymaj piaskownicę i przywróć ją później ze wszystkimi procesami i danymi bez zmian.
  • Klonowanie środowisk: utwórz nowe piaskownice na podstawie sprawdzonego stanu.
  • Udostępnianie punktów odniesienia: dystrybuuj wstępnie skonfigurowane środowiska w całym zespole.

Volumes

Microsoft zarządza woluminami i zapewnia trwałą pamięć masową, którą można zamontować w piaskownicach. Dostępne są dwa typy woluminów:

Typ wolumenu Description
Azure Blob Udostępniaj dane między wieloma środowiskami izolowanymi (przesyłanie i pobieranie plików, trwale przechowywane artefakty). Możliwość instalacji w wielu piaskownicach jednocześnie.
Dysk danych Wolumin o wysokiej wydajności dla baz danych, pamięci podręcznych kompilacji i dużych zestawów roboczych. Możliwe do zainstalowania tylko jednej piaskownicy naraz.

Stany cyklu życia

Piaskownice przechodzą przez następujące stany:

Państwa Description
Bieganie Aktywne wykonywanie, wykorzystując CPU i pamięć
Zatrzymano Zatrzymane przez użytkownika, API lub politykę cyklu życia

Gdy sandbox zostanie zatrzymany, operacja pobiera i zachowuje migawkę opartą na trybie zawieszenia (patrz następująca sekcja).

Możesz skonfigurować polityki cyklu życia dla każdego sandboxu:

  • Automatyczne zawieszanie: Zawiesza nieaktywne środowisko izolowane po upływie konfigurowalnego limitu czasu. Sandbox przechodzi w stan bezczynności, gdy nie ma ruchu wejściowego (przychodzącego), nie jest wykonywany kod (za pośrednictwem interfejsu API execute), nie ma interaktywnych sesji powłoki ani operacji na plikach.
  • Tryb zawieszenia: Wybierz między trybem pamięci (pełna migawka — dysk + pamięć) a trybem dysku (z zachowaniem tylko stanu dysku).
  • Automatyczne usuwanie: Automatyczne usuwanie piaskownic po określonej liczbie dni od ich zatrzymania.

Architecture

Piaskownice korzystają z architektury dwuwarstwowej:

Samolot Endpoint Operations
Płaszczyzna sterowania ARM management.azure.com Tworzenie, aktualizowanie, usuwanie i wyświetlanie listy grup piaskownicy. Zarządzanie połączeniami sieci wirtualnej.
Płaszczyzna danych ADC management.azuredevcompute.io Zarządzaj środowiskami izolowanymi, obrazami dysków, migawkami, plikami, woluminami, sekretami, portami i zasadami ruchu wychodzącego.

Grupy piaskownic tworzysz i zarządzasz nimi za pośrednictwem płaszczyzny sterowania ARM. Wszystkie operacje na poszczególnych środowiskach izolowanych i ich zasobach są realizowane za pośrednictwem płaszczyzny danych ADC, przypisanej do określonej grupy środowisk izolowanych.

Poziomy zasobów

Każdemu środowisku izolowanemu jest przypisany poziom zasobów, który określa przydział procesora, pamięci i miejsca na dysku.

Tier CPU Memory Disk
XS 0,25 rdzeni 0,5 GB 20 GB
S 0,5 rdzeni 1 GB 20 GB
M (ustawienie domyślne) 1 rdzeń 2 GB 20 GB
L 2 rdzenie 4 GB 40 GB
XL 4 rdzenie 8 GB 80 GB

Considerations

Podczas pracy z piaskownicami należy wziąć pod uwagę następujące kwestie:

  • Entra ID wymagane: tylko konta Microsoft Entra ID mogą uzyskiwać dostęp do piaskownic. Osobiste konta Microsoft nie są obsługiwane.
  • Kontrola sieci: Możesz konfigurować zasady ruchu wychodzącego, aby kontrolować ruch wychodzący z piaskownic, w tym reguły oparte na domenach zezwalające lub blokujące ruch, reguły sieciowe oparte na CIDR oraz integrację z siecią wirtualną (VNet).

Piaskownice a sesje dynamiczne

Piaskownice i sesje dynamiczne zapewniają izolowane środowiska obliczeniowe w ramach usługi Container Apps, ale służą różnym celom.

Sesje dynamiczne Piaskownice
Wzorzec dostępu Kierowanie żądań HTTP za pośrednictwem punktu końcowego zarządzania pulą sesji Bezpośrednia kontrola nad poszczególnymi środowiskami izolowanymi za pomocą SDK i CLI
Państwa Efemeryczny, zniszczony po ochłodzeniu Obsługa stanu z funkcjami wstrzymywania, wznawiania i tworzenia migawek
Kontrola dla deweloperów Pula zarządza alokacją i cyklem życia Zarządzasz cyklem życia piaskownicy, plikami, portami i zasadami
Model obrazu Interpreter kodu (wbudowany) lub kontener niestandardowy Obrazy dyskowe (OCI), migawki, pakiety treści
Trwała pamięć Niedostępne Woluminy (Azure Blob, dysk danych)
Sieć komputerowa Izolacja podstawowa Zasady ruchu wychodzącego, integracja z siecią wirtualną, zarządzanie portami
SDK Interfejs API REST za pośrednictwem punktu końcowego puli Python SDK (azure-containerapps-sandbox) i REST API

Wybierz sesje dynamiczne, gdy potrzebujesz zarządzanego środowiska uruchomieniowego, które abstrahuje infrastrukturę. Wybierz Sandboxes, gdy potrzebujesz możliwości programowego sterowania izolowanym środowiskiem obliczeniowym z zachowaniem stanu.