Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Контейнеры приложений Azure песочницы обеспечивают быстрые, безопасные, временные вычислительные среды со встроенными возможностями приостановки и возобновления работы. Песочницы — это полноправный тип ресурса (Microsoft.App/SandboxGroups) в Container Apps наряду с приложениями, заданиями и динамическими сеансами.
Important
Чтобы управлять песочницами и создавать их, вам потребуется роль Azure Container Apps SandboxGroup Data Owner. Назначьте эту роль всем пользователям, которые создают песочницы и управляют ими.
Создание сред песочницы и управление ими
Песочницы можно создавать и управлять ими на портале Sandboxes portal или программно с помощью Контейнеры приложений Azure CLI или SDK.
Основные характеристики песочниц Container Apps
Запуск менее чем за секунду: песочницы выделяются из заранее прогретых пулов, что обеспечивает почти мгновенную готовность.
Строгая изоляция: каждая песочница работает в собственном защищённом окружении, что позволяет безопасно выполнять недоверенный код.
Масштабирование до нуля: Вы не платите за ресурсы ЦП и память, когда песочницы остановлены.
Горизонтальное масштабирование: сервис может по требованию масштабироваться до тысяч параллельных песочниц.
Поддержка OCI-образов контейнеров: используйте включённый публичный образ или используйте свои собственные образы контейнеров в качестве корневых файловых систем песочницы.
Приостановка и возобновление: Создавайте снимок полного состояния, включая память и диск, и позже возобновляйте работу со временем восстановления менее секунды.
Управление жизненным циклом: вы можете управлять полным жизненным циклом песочницы, включая снимки состояния, постоянное хранение и сетевые политики (как выход, так и вход).
Когда следует использовать песочницы
Используйте песочницы, когда нужны изолированные вычислительные среды с явным управлением жизненным циклом, персистентным состоянием или программируемым доступом через SDK.
| Scenario | Используйте песочницы? | Почему |
|---|---|---|
| Выполнение кода ИИ с сохранением состояния | Да | Приостанавливайте работу между задачами и возобновляйте её с полностью сохранённым контекстом |
| Среды разработки | Да | Среды с возможностью приостановки по запросу, сохраняющие состояние между сеансами |
| Рабочие процессы агента | Да | Предоставление агентам ИИ постоянных изолированных рабочих областей по границам задач |
| Интерактивные сеансы пользователей | Да | Каждый пользователь получает собственную изолированную вычислительную среду |
| Безопасные мультитенантные вычисления | Да | Строгая изоляция для выполнения недоверенных нагрузок от нескольких арендаторов |
| Пиковые рабочие нагрузки | Да | Масштабируйте с нуля до тысяч песочниц по запросу |
| Конвейеры CI/CD | Да | Временные среды сборки и тестирования, масштабируемые до нуля при простое |
Выбор подходящего параметра вычислений для приложений-контейнеров
Используйте следующую таблицу, чтобы выбрать тип вычислений приложений-контейнеров, подходящий для рабочей нагрузки.
| Тип вычислений | лучше всего подходит для | Lifecycle | Государство |
|---|---|---|---|
| Приложения | Долго работающие службы, API, веб-приложения | Непрерывный | Без отслеживания состояния (внешние хранилища состояний) |
| Работы | Задачи выполнения до завершения, пакетная обработка | Запустить → выполнить → завершить | Стейтлесс |
| Динамические сеансы | Выполнение управляемого кода, скрипты, созданные LLM | Управляется пулом сеансов | Эфемерный |
| Песочницы | Программируемые изолированные вычисления с помощью управления жизненным циклом | Вы можете управлять: создавать, приостанавливать, возобновлять, удалять | Отслеживание состояния (моментальные снимки, тома) |
Основные понятия
Необходимые условия
Чтобы создавать песочницы или управлять ими, вам требуется назначение роли Azure Container Apps SandboxGroup Data Owner. Без этой роли нельзя выполнять операции в песочнице. Назначьте эту роль в нужной области (подписке Azure или группе ресурсов Azure) в портале Azure или с помощью Azure CLI.
Перед выполнением следующей команды замените заполнители, заключённые в теги <>, своими значениями.
az role assignment create \
--assignee "<USER_EMAIL_OR_OBJECT_ID>" \
--role "Container Apps SandboxGroup Data Owner" \
--scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"
Группы песочницы
Группа песочницы — это граница управления верхнего уровня для песочниц. Это ресурс Azure Resource Manager (ARM), создаваемый в группе ресурсов и регионе. Все песочницы, образы дисков, моментальные снимки, тома и секреты привязаны к группе песочниц.
Используйте группы песочниц для организации песочниц по приложениям, командам или среде.
Песочницы
Песочница — это отдельный изолированный вычислительный экземпляр в группе песочниц. Каждая песочница запускается из образа диска или снимка и имеет собственные ресурсы процессора, памяти и диска, а также собственную сетевую изоляцию.
Вы взаимодействуете с песочницами, выполняя команды, управляя файлами, предоставляя порты и управляя состоянием жизненного цикла.
Образы дисков
Образы дисков — это образы контейнеров OCI, преобразованные для использования в качестве корневой файловой системы песочницы. Вы можете использовать общедоступные образы или создавать частные образы из собственных реестров контейнеров.
Образы дисков можно создавать из:
- Публичные образы: готовые образы, доступные всем группам песочницы.
- Образы из реестра контейнеров: загрузка из общедоступных или частных реестров с необязательной аутентификацией.
Snapshots
Моментальные снимки фиксируют полное состояние работающей песочницы, включая память и диск. Использование моментальных снимков для:
- Приостановка и возобновление: приостановьте песочницу и возобновите её позже с сохранением всех процессов и данных.
- Клонируйте среды: создавайте новые песочницы из заведомо исправного состояния.
- Общие базовые конфигурации: Распространяйте заранее настроенные среды в команде.
Volumes
Microsoft управляет томами и предоставляет постоянное хранилище данных, которое можно монтировать в песочницы. Доступны два типа томов:
| Тип тома | Description |
|---|---|
| Azure BLOB-объект | Обменивайтесь данными между несколькими песочницами (выгрузки и загрузки, постоянно хранимые артефакты). Подключение к нескольким песочницам одновременно. |
| Диск данных | Высокопроизводительный том для баз данных, кэшей сборок и больших рабочих наборов. Одновременно можно подключить только к одной песочнице. |
Состояния жизненного цикла
Песочницы проходят через следующие состояния:
| Государство | Description |
|---|---|
| Бег | Активное выполнение с использованием процессора и памяти |
| Остановился | Остановлено пользователем, API или политикой жизненного цикла |
При остановке песочницы операция создает и сохраняет снимок в соответствии с режимом Suspend Mode (см. следующий раздел).
Вы можете настроить политики жизненного цикла для каждой песочницы:
- Автоматическая приостановка: Автоматически приостанавливает неактивную песочницу по истечении настраиваемого периода ожидания. Песочница становится неактивной, если в неё не поступает входящий трафик, не выполняется исполнение кода (через API execute), нет интерактивных сеансов оболочки и не выполняются файловые операции.
- Режим приостановки: выберите между режимом памяти (полный снимок — диск + память) и режимом диска (сохранение только диска).
- Автоудаление: Автоматическое удаление песочниц спустя определённое количество дней после остановки песочницы.
Architecture
Песочницы используют двухуровневую архитектуру:
| самолёт | Endpoint | Operations |
|---|---|---|
| Плоскость управления ARM | management.azure.com |
Создавайте, обновляйте, удаляйте и просматривайте список групп песочницы. Управление подключениями к виртуальной сети. |
| Плоскость данных | management.azuredevcompute.io |
Управляйте песочницами, образами дисков, снимками, файлами, томами, секретами, портами и политиками исходящего трафика. |
Вы создаете группы песочниц и управляете ими с помощью плоскости управления ARM. Все операции с отдельными песочницами и их ресурсами выполняются через плоскость данных ACA Sandboxes в пределах определённой группы песочниц.
Уровни ресурсов
Каждой песочнице назначается уровень ресурсов, который определяет объём выделенных ей ресурсов ЦП, памяти и диска.
| Тир | ЦП | Memory | Диск |
|---|---|---|---|
| XS | 0.25 ядер | 0.5 ГБ | 20 ГБ |
| S | 0,5 ядра | 1 ГБ | 20 ГБ |
| M (по умолчанию) | 1 ядро | 2 ГБ | 20 ГБ |
| L | 2 ядра | 4 ГБ | 40 ГБ |
| XL | 4 ядра | 8 ГБ | 80 ГБ |
Рекомендации
При работе с песочницами следует учитывать следующие моменты:
- Требуется Entra ID: доступ к песочницам возможен только для учётных записей Microsoft Entra ID. Личные учетные записи Майкрософт не поддерживаются.
- Сетевые управления: Вы можете настроить политики выхода для управления исходящим трафиком из песочниц, включая правила разрешения или запрета на основе домена, сетевые правила на основе CIDR и интеграцию с VNet.
Песочницы в сравнении с динамическими сеансами
Песочницы и динамические сеансы предоставляют изолированные вычислительные среды в контейнерных приложениях, но они служат разным потребностям.
| Динамические сеансы | Песочницы | |
|---|---|---|
| Шаблон доступа | Маршрутизация HTTP-запросов через конечную точку управления пулом сеансов | Прямое управление отдельными песочницами через SDK и CLI |
| State | Эфемерный, разрушенный после прохлады | Отслеживание состояния с приостановкой, возобновлением и моментальными снимками |
| Управление разработчика | Пул управляет выделением и жизненным циклом | Вы управляете жизненным циклом песочницы, файлами, портами и политиками |
| Модель изображения | Интерпретатор кода (встроенный) или пользовательский контейнер | Образы дисков (OCI), снимки, пакеты контента |
| Постоянное хранилище | Недоступно | Тома (Azure BLOB-объект, диск данных) |
| Сети | Базовая изоляция | Политики исходящего трафика, интеграция виртуальной сети, управление портами |
| Пакеты SDK | REST API через эндпоинт пула | Python SDK (azure-containerapps-sandbox) и REST API |
Выберите динамические сеансы, когда требуется управляемый интерфейс выполнения, который абстрагирует инфраструктуру. Выберите песочницы, когда требуется программируемый контроль над изолированными вычислениями с сохранением состояния.