Auto-Scaling Groups (Группы авто-масштабирования)

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

Для реализации авто-масштабирования создаются коллекции экземпляров виртуальных машин, называемые группами масштабирования. Простая группа авто-масштабирования может быть создана с указанным количеством экземпляров. Такая группа будет поддерживать заданное количество экземпляров, создавая новый экземпляр для замены вышедшего из строя.

К группе авто-масштабирования могут быть добавлены политики, которые будут указывать группе поддерживать производительность на уровне, максимально близком к заданному порогу. Например, если порог установлен на уровне 50% загрузки процессора, группа авто-масштабирования будет автоматически создавать или завершать экземпляры по мере изменения нагрузки на приложение, чтобы использование процессора не превышало указанный порог.

Группа авто-масштабирования также может обнаруживать неисправные экземпляры, завершать их и создавать новые для их замены.

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

Для упрощения классификации виртуальных машин могут быть созданы теги, которые применяются к группам авто-масштабирования. В зависимости от конфигурации группы авто-масштабирования, теги могут автоматически распространяться на экземпляры виртуальных машин при их запуске.

Внедрение групп авто-масштабирования

Внедрение группы авто-масштабирования включает следующие шаги:

Создание шаблона конфигурации запуска, который определяет тип создаваемых виртуальных машин при авто-масштабировании. Например, конфигурация запуска указывает образ системы, тип экземпляра, ключи доступа и группы безопасности. Когда группа авто-масштабирования автоматически добавляет новый экземпляр, он наследует все характеристики, указанные в шаблоне конфигурации запуска.

Указание параметров, связанных с группой авто-масштабирования, таких как количество доступных экземпляров, метрики для мониторинга, которые помогут определить нужный размер группы, тип проверок состояния, а также другие настройки.

 

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

Чтобы создать группу авто-масштабирования в интерфейсе Compute:

Перейдите в раздел Compute > Auto-Scaling Groups и выберите Create.
Откроется окно Create Auto-Scaling Group с тремя вкладками: Group Setup (Настройка группы), Scaling Policy (Политика масштабирования) и Advanced (Дополнительно).

 

auto-scaling-1

 

 

Во вкладке Group Setup (Настройка группы) настройте:

Name (Имя): название группы авто-масштабирования.

Description (Описание): описание, которое поможет идентифицировать группу авто-масштабирования.

Size Limit (Ограничение размера): минимальное и максимальное количество экземпляров, которые могут находиться в группе.

Desired Capacity (Желаемая мощность): целевое количество виртуальных машин в группе. Использование этого поля зависит от настройки политики масштабирования на следующей вкладке:

Без политики масштабирования: Желаемая мощность — это количество экземпляров, которые будут созданы в группе. Оно должно быть в пределах минимального и максимального значений, указанных в поле Size Limit. Если мощность не указана при создании группы, система автоматически устанавливает желаемую мощность на минимальный размер, указанный в поле Size Limit.

С политикой масштабирования: Желаемая мощность — это начальное количество экземпляров, после чего политики масштабирования могут изменять это количество в группе.

Примечание
Существуют ситуации, когда желаемая мощность может быть равна нулю:

Если в данный момент новая группа не требуется, мощность можно установить в ноль. Группа будет существовать, но не будет потреблять ресурсы. Если группа понадобится в будущем, просто измените значение желаемой мощности.
При принудительном удалении существующей группы с экземплярами виртуальных машин система автоматически устанавливает желаемую мощность на ноль и начинает удалять экземпляры. После удаления всех группа будет удалена.
Subnet (Подсеть): выберите подсеть из выпадающего списка или нажмите +, чтобы определить новую подсеть.
Launch Configuration (Конфигурация запуска): выберите конфигурацию запуска из выпадающего списка или нажмите +, чтобы создать новую.
Tags (Теги): выберите тег из выпадающего списка или нажмите +, чтобы добавить новый.
Нажмите Next (Далее). Откроется вкладка Scaling Policy (Политика масштабирования). Политику можно настроить отдельно для CPU Utilization (Использование процессора), Network Traffic - In (Входящий сетевой трафик) или Network Traffic - Out (Исходящий сетевой трафик). Если политика масштабирования не требуется, оставьте ползунок в крайнем левом положении по умолчанию. Чтобы настроить политику для любой из метрик, переместите ползунок вправо и настройте её.

 

create-asg-scaling-policy

 

 

Estimated Warm-up (Ожидаемое прогревание) – время (в секундах), которое требуется новому экземпляру виртуальной машины, чтобы начать вносить вклад в агрегированные метрики группы масштабирования.

Target (Цель) – пороговое значение, при превышении которого сработает политика масштабирования.

Disable Scale-in (Отключить уменьшение) – отключение уменьшения группы (удаление экземпляров виртуальных машин).

Нажмите Next (Далее). Откроется вкладка Advanced (Дополнительно). Настройте её следующим образом:

 

 

create-asg-advanced

 

 

Health Check (Проверка состояния) – механизм, используемый для определения состояния виртуальной машины в группе масштабирования.

VM Health (Состояние ВМ): используйте инструмент VMware VM Monitor для проверки состояния.
Target Group (Группа целей): используйте проверки состояния ELB. Этот вариант доступен только если группа масштабирования связана с группой целей балансировщика нагрузки.
Target Groups (Группы целей): выберите группу целей из выпадающего списка или нажмите +, чтобы определить новую.
Operation Cooldown (Период охлаждения) – минимальное количество секунд между завершением одной операции масштабирования и началом следующей. Период охлаждения помогает предотвратить запуск или остановку дополнительных экземпляров до того, как предыдущая операция масштабирования вступит в силу.

Health Check Grace Period (Период ожидания проверки состояния) – минимальное время до начала проверки состояния экземпляра.

Termination Policies (Политики завершения работы) – политики, которые определяют, какие экземпляры будут завершены в случае события уменьшения группы. Выберите одну из следующих опций в выпадающем списке:

Default (По умолчанию): завершает экземпляры с самой старой конфигурацией запуска.
Newest Instance (Самый новый экземпляр): завершает самый новый экземпляр в группе. Рекомендуется при тестировании новых конфигураций, которые не должны оставаться в продакшене.
Oldest Instance (Самый старый экземпляр): завершает самый старый экземпляр в группе. Рекомендуется при обновлении виртуальных машин до нового типа экземпляров, чтобы старые экземпляры постепенно заменялись новыми.
Oldest Launch Configuration (Самая старая конфигурация запуска): завершает экземпляр с самой старой конфигурацией запуска. Рекомендуется при обновлении группы и поэтапном выводе экземпляров с предыдущей конфигурацией.
Protect Instances from Scale-In (Защитить экземпляры от уменьшения): при выборе этого параметра вновь запущенные экземпляры защищены от завершения во время уменьшения группы.

 

Получите консультацию менеджера!

Нужно уточнить детали? Обсудить требования? У вас сложный проект? Мы поможет подобрать правильное решение.