0Pricing
Azure Fundamentals · Урок

Масштабируемые наборы виртуальных машин

Автоматически увеличивайте или уменьшайте количество одинаковых VM в зависимости от нагрузки и настраивайте проверки работоспособности и правила балансировки нагрузки для приложений с высокой доступностью.

«Масштабируемые наборы виртуальных машин» — бесплатный урок Azure Fundamentals на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Azure Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Azure Fundamentals содержит 4 уроков всего.

Какую проблему решают наборы масштабирования

Ручное управление группой одинаковых VM — добавление серверов в периоды пиковой нагрузки и их удаление при снижении спроса — утомительно, подвержено ошибкам и занимает много времени. Наборы масштабирования виртуальных машин (VMSS) автоматизируют этот процесс, управляя группой одинаковых VM с балансировкой нагрузки как единым ресурсом. При росте спроса VMSS автоматически добавляет новые экземпляры VM. При снижении спроса он удаляет экземпляры. Это устраняет необходимость в ручном вмешательстве и гарантирует, что Вы платите только за необходимую в данный момент ёмкость.

Создание набора масштабирования

Набор масштабирования определяется профилем VM (образом, размером, конфигурацией диска и расширениями), общим для каждого экземпляра набора. При создании набора масштабирования Вы указываете минимальное и максимальное количество экземпляров, а также исходную ёмкость. Все экземпляры создаются из одного образа, что обеспечивает единообразие всей группы. Набор масштабирования можно развернуть в нескольких зонах доступности, и Azure автоматически равномерно распределит экземпляры по зонам для обеспечения высокой доступности.

# Create a VM Scale Set across Zones 1, 2, and 3
az vmss create \
  --resource-group myRG \
  --name myScaleSet \
  --image Ubuntu2204 \
  --instance-count 2 \
  --zones 1 2 3 \
  --admin-username azureuser \
  --generate-ssh-keys

Правила автоматического масштабирования

Правила автоматического масштабирования VMSS определяют, когда добавлять или удалять экземпляры, на основе метрик. Типичное правило выглядит так: «Если средняя загрузка CPU превышает 70% в течение 5 минут, добавить 2 экземпляра. Если средняя загрузка CPU опускается ниже 30% в течение 10 минут, удалить 1 экземпляр». Вы также можете создавать правила на основе пользовательских метрик Azure Monitor (например, длины очереди или частоты HTTP-запросов) либо по расписанию (например, увеличивать количество экземпляров до 20 каждое буднее утро и уменьшать до 5 ночью). Сочетание правил на основе метрик и расписания обеспечивает точный контроль ёмкости.

# Add autoscale rule: scale out when CPU > 70%
az monitor autoscale rule create \
  --resource-group myRG \
  --autoscale-name myScaleSetAutoscale \
  --condition 'Percentage CPU > 70 avg 5m' \
  --scale out 2

Балансировка нагрузки с наборами масштабирования

Наборы масштабирования почти всегда используются вместе с балансировщиком нагрузки, который распределяет входящие запросы между всеми работоспособными экземплярами. Azure предлагает два варианта: Azure Load Balancer (уровень 4, TCP/UDP) для сценариев с низкой задержкой и высокой пропускной способностью и Azure Application Gateway (уровень 7, HTTP/HTTPS) для веб-приложений, которым нужны маршрутизация на основе URL, завершение SSL и защита WAF. Балансировщик нагрузки использует проверки работоспособности, чтобы обнаруживать неисправные экземпляры и автоматически прекращать перенаправление трафика на них до восстановления.

Проверки работоспособности и восстановление экземпляров

VMSS можно настроить на автоматическое восстановление экземпляров — если проверка работоспособности определяет, что экземпляр неисправен (например, приложение не отвечает на порту 80), набор масштабирования может автоматически удалить и заменить этот экземпляр новым работоспособным экземпляром. Это настраивается с помощью параметра automaticRepairsPolicy. Льготный период (например, 10 минут после запуска) не позволяет заменять экземпляры до того, как они успеют запустить приложение и пройти первую проверку работоспособности.

Единообразная и гибкая оркестрация

Azure VMSS поддерживает два режима оркестрации: Единообразный режим — все экземпляры одинаковы и управляются как группа; он идеально подходит для рабочих нагрузок без состояния, например веб-серверов и очередей обработчиков. Гибкий режим — экземпляры могут иметь разные размеры и конфигурации, а отдельными VM можно управлять независимо, сохраняя преимущества распределения набора масштабирования по зонам и его модели работоспособности. Гибкая оркестрация лучше подходит для неоднородных рабочих нагрузок или случаев, когда необходимо заменить определённые экземпляры, не затрагивая остальные.

Пошаговые обновления без простоя

При обновлении образа VM или конфигурации набора масштабирования необходимо распространить изменение на все экземпляры. VMSS поддерживает пошаговые обновления, при которых экземпляры обновляются небольшими группами (например, по 20%), а не все сразу. Это позволяет сохранять большинство экземпляров в рабочем состоянии во время применения обновлений. Политика пошагового обновления позволяет настроить максимальный размер группы и паузу между группами, обеспечивая детальный контроль скорости обновления и сводя к минимуму влияние на пользователей.

Экземпляры Spot в наборах масштабирования

VMSS может использовать экземпляры Spot (также называемые Azure Spot VM) для значительного снижения расходов — до 90% по сравнению с тарифами с оплатой по мере использования — за счёт работы на неиспользуемой ёмкости Azure. Компромисс заключается в том, что экземпляры Spot могут быть вытеснены всего за 30 секунд после уведомления, когда Azure потребуется вернуть эту ёмкость. Поэтому экземпляры Spot в VMSS подходят для отказоустойчивых рабочих нагрузок без состояния, таких как задания пакетной обработки, кодирование мультимедиа и агенты сборки CI/CD, способные переносить прерывания и продолжать работу с контрольных точек.

Ограничения и квоты масштабирования

По умолчанию VMSS может содержать до 1 000 экземпляров VM при использовании образов Azure Marketplace или до 600 экземпляров при использовании пользовательских образов. Подписки Azure также имеют региональные квоты vCPU, ограничивающие количество vCPU, которое можно использовать во всех ресурсах. Если требуется масштабирование за пределы стандартных ограничений, можно запросить увеличение квоты через портал Azure. Для крупных производственных развёртываний важно заранее учитывать эти ограничения, поскольку во время пиковых событий может потребоваться масштабирование до тысяч экземпляров.

Наборы масштабирования для рабочих нагрузок с состоянием

Хотя VMSS в первую очередь предназначен для рабочих нагрузок без состояния, он также может управлять приложениями с состоянием с помощью постоянных дисков ОС. В такой конфигурации каждый экземпляр сохраняет свой диск ОС при освобождении ресурсов во время уменьшения масштаба, поэтому состояние, связанное с конкретным экземпляром (например, уникальная конфигурация или данные сеанса), сохраняется. Это используется для таких приложений, как игровые серверы, где каждый экземпляр имеет собственную индивидуальность. Однако для большинства сценариев с состоянием (баз данных и кэшей) специализированные управляемые службы Azure, например Azure SQL или Azure Cache for Redis, подходят лучше, чем VM в наборе масштабирования.

Мониторинг и диагностика набора масштабирования

Для мониторинга VMSS требуется видеть как уровень набора масштабирования (изменение количества экземпляров со временем и события автоматического масштабирования), так и уровень отдельных экземпляров (CPU, память, диск и журналы приложений). Azure Monitor автоматически собирает платформенные метрики для набора масштабирования. Для метрик и журналов на уровне приложения Вы устанавливаете расширение Azure Monitor Agent на экземпляры через профиль VM набора масштабирования, поэтому каждый новый экземпляр автоматически начинает передавать данные в рабочую область Log Analytics. Это обеспечивает единое наблюдение за всей группой из одной панели мониторинга.

Быстрая проверка

Проверьте, насколько хорошо Вы усвоили рассмотренные в этом уроке концепции Microsoft Azure Fundamentals (AZ-900).

Итоги урока

В этом уроке Вы узнали, что наборы масштабирования VM управляют группой одинаковых VM с балансировкой нагрузки и автоматически масштабируются на основе метрик или расписаний, проверки работоспособности и автоматическое восстановление экземпляров поддерживают работоспособность группы без ручного вмешательства, а пошаговые обновления позволяют обновлять систему без простоя, заменяя экземпляры небольшими группами. Далее мы рассмотрим Azure Virtual Desktop как размещённое в облаке решение для виртуальных рабочих столов.

Часто задаваемые вопросы

Урок «Масштабируемые наборы виртуальных машин» бесплатный?

Да — полный текст урока «Масштабируемые наборы виртуальных машин» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Azure Fundamentals, подпишись на CoddyKit PRO. Курс Azure Fundamentals содержит 4 уроков всего.

Чему я научусь в уроке «Масштабируемые наборы виртуальных машин»?

Автоматически увеличивайте или уменьшайте количество одинаковых VM в зависимости от нагрузки и настраивайте проверки работоспособности и правила балансировки нагрузки для приложений с высокой доступн… Ты практикуешь Azure Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Azure Fundamentals?

Предыдущий опыт не требуется. Azure Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Масштабируемые наборы виртуальных машин»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Azure Fundamentals?

Да. Каждый урок Azure Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Виртуальные машины Azure
  2. Масштабируемые наборы виртуальных машин
  3. Виртуальный рабочий стол Azure
  4. Выбор подходящей вычислительной службы
← Назад к Azure Fundamentals