Открыть сервис

Гипервизор AWS Nitro

Гипервизор AWS Nitro — это программно-аппаратная платформа виртуализации, разработанная компанией Amazon Web Services (AWS) (организация, осуществляющая деятельность на территории РФ в соответствии с законодательством, не признана экстремистской или террористической) для работы вычислительных сервисов Elastic Compute Cloud (EC2). В отличие от традиционных гипервизоров (например, Xen, KVM), Nitro представляет собой специализированную систему, в которой значительная часть функций виртуализации вынесена на уровень аппаратных компонентов и микроконтроллеров, что позволяет минимизировать накладные расходы на программную эмуляцию и повысить производительность, безопасность и плотность размещения виртуальных машин.

История

Разработка платформы Nitro началась в середине 2010-х годов как реакция на рост требований клиентов AWS к производительности и безопасности облачных ресурсов. Традиционные гипервизоры, основанные на программном управлении аппаратурой, сталкивались с ограничениями: часть вычислительной мощности сервера расходовалась на обработку операций ввода-вывода (сетевых, дисковых), а также на изоляцию гостевых операционных систем.

В 2017 году AWS объявила о запуске инстансов C5, которые стали первыми экземплярами EC2, полностью работающими на новой платформе. Гипервизор Nitro пришёл на смену Xen, использовавшемуся ранее. К 2020 году практически все типы инстансов EC2 (general purpose, compute, memory, storage, GPU-accelerated) были переведены на Nitro. К 2024 году платформа Nitro стала неотъемлемой частью архитектуры всех вычислительных ресурсов AWS, включая сервисы Lambda, Fargate и контейнерные кластеры ECS/EKS.

Архитектура и устройство

Основное отличие платформы Nitro от классических гипервизоров заключается в делении функционала на три компонента: аппаратные ускорители Nitro Cards, контроллер безопасности Nitro Security Chip и собственно лёгкий программный гипервизор (микро-гипервизор).

Ниже системное обеспечение

Традиционный гипервизор (например, KVM) берет на себя управление процессорными регистрами, памятью, прерываниями и устройствами ввода-вывода. В платформе Nitro эти функции распределены:

Микро-гипервизор

Собственно гипервизор Nitro — это не монолитное ядро (как Xen или KVM), а минимальный слой кода, выполняющийся на выделенном ядре процессора или отдельном ARM-микроконтроллере. Его задача — только базовое управление виртуальными машинами (создание, уничтожение, настройка регистров) и обработка системных вызовов, связанных с виртуализацией. Весь остальной функционал (сеть, диск, консоль) передаётся внешним устройствам. Это снижает поверхность атаки и уменьшает накладные расходы: по утверждениям AWS, производительность сети и дисков на инстансах Nitro приближается к нативной производительности физического сервера.

Аппаратные ускорители (Nitro Cards)

Каждая физическая стойка AWS оснащается несколькими платами Nitro Cards, каждая из которых представляет собой полноценную систему-на-чипе (SoC) на базе ARM-процессора и специализированной логики (FPGA или ASIC). Карты подключаются к материнской плате сервера по шине PCIe. Они выполняют функции:

Все карты взаимодействуют через защищённую внутреннюю шину, изолированную от трафика гостевых ОС.

Безопасность

Платформа Nitro реализует концепцию «эмуляция с нулевым доверием» (zero-trust virtualization). Ключевые механизмы защиты:

Преимущества и значение

Применение платформы Nitro позволило AWS решить несколько ключевых задач:

  1. Производительность: пропускная способность сети для инстансов Nitro достигает 100 Гбит/с и более, а задержки ввода-вывода снижены до единиц микросекунд. Это делает такие инстансы пригодными для высокопроизводительных вычислений (HPC) и реального времени.
  2. Плотность размещения: за счёт того, что функции гипервизора занимают существенно меньше места в оперативной памяти (менее 100 МБ на сервер), на одном физическом сервере можно разместить больше виртуальных машин, чем на Xen или KVM при том же объёме ресурсов.
  3. Безопасность: выделенная аппаратная изоляция сделала Nitro фактическим стандартом для мультитенантных сред, где данные клиентов хранятся рядом с данными других организаций.
  4. Гибкость: платформа позволяет Amazon использовать для виртуализации любые модели процессоров (Intel, AMD, Arm) без необходимости переписывать ядро гипервизора под каждый тип — всё аппаратно-зависимое управление сосредоточено на картах Nitro.

Критика и ограничения

Основные претензии к платформе Nitro связаны с её закрытостью. В отличие от Xen или KVM, исходный код микро-гипервизора Nitro не является открытым. AWS публикует лишь документацию по драйверам и интерфейсам управления. Это вызывает опасения у специалистов по безопасности, которые не могут провести независимый аудит гипервизора. Однако AWS предлагает программу проверки платформы для крупных корпоративных клиентов, где подписанты соглашения о неразглашении могут изучить архитектуру.

Другое ограничение — привязка к аппаратуре AWS. Развернуть гипервизор Nitro на собственном оборудовании невозможно, так как все разработки защищены патентами и производятся по заказу Amazon. Это означает, что применение Nitro ограничено исключительно экосистемой Amazon Web Services.

Сравнение с другими гипервизорами

ХарактеристикаXen / KVM (традиционный)Hyper-V (Microsoft)VMware ESXiAWS Nitro
МодельПрограммная (монолитная)Программно-аппаратная (на базе Windows Hypervisor)Программно-аппаратная (на базе VMkernel)Программно-аппаратная (специализированная)
ОткрытостьОткрытый кодПроприетарныйПроприетарныйПроприетарный (закрытый код, частичная документация)
Затраты на ресурсы~300-500 МБ RAM на хост~150-300 МБ RAM на хост~200-400 МБ RAM на хост<100 МБ RAM на хост
Аппаратное ускорениеЧастично (через SR-IOV)Частично (SR-IOV, RDMA)Частично (SR-IOV, NVMe over Fabrics)Полное (аппаратный ввод-вывод, шифрование)
УправлениеЧерез ядро ОСЧерез ядро WindowsЧерез ядро VMkernelЧерез выделенные ARM-контроллеры
Основной заказчикРазработчики, дата-центрыКорпоративный сегментКрупные предприятияОблачные клиенты AWS (только в облаке)

Применение

Платформа Nitro используется во всех современных инстансах EC2, включая:

Кроме того, Nitro лежит в основе сервисов бессерверных вычислений AWS Lambda и AWS Fargate, где контейнеры и функции запускаются в изолированных микро-ВМ (micro-VMs). Это стало возможным благодаря малому размеру гипервизора и высокому быстродействию его запуска — новая виртуальная машина может быть подготовлена за сотни миллисекунд.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →