Кратко:
- Создание групп виртуальных машин для имитации роста нагрузки на ВМ.
- Установка приложения для стресс-тестирования на каждой ВМ: sudo apt-get install stress.
- Запуск приложения для стресс-тестирования: stress -c 2.
- Мониторинг изменения усредненного значения нагрузки на графике Average CPU utilization in ru-central1-a.
- Сервис Instance Groups масштабирует инфраструктуру при росте нагрузки.
- Остановка стресс-тестов и удаление лишних ВМ.
- Работа двух машин после завершения стресс-тестов.
- Завершение темы «Группы виртуальных машин» и переход к следующему курсу.
Воссоздание виртуальных машин в группе
Давайте сымитируем рост нагрузки на ВМ и посмотрим, как сервис на это отреагирует.
-
В консоли управления перейдите на страницу Группы виртуальных машин. В другом окне браузера откройте вкладку Мониторинг на странице группы ВМ, которую вы создали в предыдущей практической работе.
-
Если эта группа была только что создана, подождите несколько минут, пока количество ВМ в ней не уменьшится до двух (это число определяется параметром Минимальное количество ВМ в зоне). Зайдите на каждую из двух ВМ и установите на них приложение для стресс-тестирования:
sudo apt-get install stress -
После этого для каждой ВМ запустите установленное приложение:
stress -c 2Аргумент-cозначает, что при тестировании будет нагружаться процессор, а число после аргумента задаёт количество ядер процессора, которые будут нагружаться. Чтобы эксперимент удался, укажите количество ядер, которое вы выбрали в шаблоне ВМ. -
На вкладке со страницей мониторинга на графике Average CPU utilization in ru-central1-a следите за тем, как усреднённое значение нагрузки будет постепенно расти.
Как только усреднённое значение нагрузки превысит порог, сервис Instance Groups начнёт прогревать две дополнительные ВМ и вводить их в строй. Это будет видно на странице Группы виртуальных машин.
Поскольку стресс-тест не остановлен, сервис завершает запуск двух ВМ.
Через некоторое время усреднённое значение нагрузки процессоров в группе упадёт до 50%, поскольку первая половина ВМ загружена полностью, а вторая не загружена вовсе.
-
Остановите работу стресс-теста на первой ВМ. В командной строке используйте сочетание клавиш Ctrl + C.
Через некоторое время усреднённое значение достигнет 25%, тогда Instance Groups удалит лишнюю ВМ:
-
Остановите второй стресс-тест. Через некоторое время после того, как усредненное значение достигнет нуля, Instance Groups удалит вторую дополнительную ВМ.

-
При минимальной нагрузке остаются работать две машины:

Вот так при растущей нагрузке группа ВМ автоматически масштабируется, чтобы обеспечить доступность ресурса.
👉 Поздравляем, вы завершили тему «Группы виртуальных машин»!
В этой теме вы узнали, как настраивать группы ВМ, чтобы масштабировать инфраструктуру при резком росте посещаемости вашего веб-сайта или сервиса. Курс «Начало работы в облаке» на этом завершён, осталось лишь пройти итоговый тест. А в следующем курсе вы познакомитесь с инструментами для создания, управления и мониторинга баз данных в облаке.
- Категория: Cloud Services Engineer
- Просмотров: 715
Кратко:
Автоматическое масштабирование под нагрузкой
Давайте разберёмся, как обеспечить доступность сервиса под высокой нагрузкой. Вы уже научились создавать группы ВМ. Теперь создадим автоматически масштабируемую группу ВМ.
-
В консоли управления откройте раздел Compute Cloud. Перейдите на вкладку Группы виртуальных машин и нажмите кнопку Создать группу. Задайте имя группе ВМ.

- Создайте сервисный аккаунт. Чтобы иметь возможность создавать, обновлять и удалять ВМ в группе, назначьте сервисному аккаунту роль
editor. По умолчанию все операции в группе ВМ выполняются от имени сервисного аккаунта. - В блоке Распределение выберите только одну зону доступности.
-
В блоке Шаблон виртуальной машины нажмите кнопку Задать. В открывшемся окне выберите:
- ОС: Ubuntu 20.04.
- Размер загрузочного диска: 50 ГБ.
- Тип загрузочного диска: SSD.
- Остальные параметры — по умолчанию. Не забудьте добавить публичный SSH-ключ. Он понадобится нам на следующем практическом занятии.

- В блоке В процессе создания и обновления разрешено оставьте параметры по умолчанию.
-
Перейдите к блоку Масштабирование и выберите тип Автоматический.

-
Задайте параметры масштабирования:
- Тип автомасштабирования —
зональное. При зональном авто масштабировании количество ВМ регулируется отдельно в каждой зоне доступности, указанной в настройках группы. - Минимальное количество ВМ в зоне —
2. Сервис Instance Groups не будет удалять ВМ в зоне доступности, если их там всего две. - Максимальный размер группы —
4. Instance Groups не будет создавать ВМ, если их уже четыре. В этот раз размер загрузочного диска ВМ — 50 ГБ, поэтому с учётом квот на суммарный объём SSD-дисков в одном облаке смогут запуститься четыре ВМ. - Промежуток измерения загрузки (это период усреднения: время, за которое следует усреднять замеры нагрузки для каждой ВМ в группе) —
60 секунд. - Время на разогрев ВМ —
3 минуты. В течение этого времени ВМ не учитывается в измерении средней нагрузки на группу. Фактически данное время мы можем определить, измерив, как быстро запускается ВМ. - Период стабилизации —
5 минут. Отсчитывается с момента, когда Compute Cloud принял последнее решение о том, что количество ВМ в группе нужно увеличить. - Начальный размер группы —
4. Это количество ВМ, которое следует создать вместе с группой.
- Тип автомасштабирования —
-
В блоке Метрики укажите:
- Тип —
CPU. - Целевой уровень загрузки CPU, % —
80. Instance Groups будет управлять размером группы так, чтобы поддерживать указанную нагрузку CPU.
- Тип —
-
Нажмите кнопку Создать. Сервис начнет создавать ВМ. После создания статус группы изменится на Active. Обратите внимание, как меняются Состояния ВМ.Creating instance — ВМ создаётся и запускается.
Awaiting warmup duration — ВМ начинает принимать сетевой трафик. В этом статусе ВМ находится в течение периода прогрева, указанного в настройках автоматического масштабирования. Значения метрик ВМ в этом статусе заменяются средними значениями ВМ из той же зоны доступности.
Running actual — ВМ запущена, на неё подается сетевой трафик, пользовательские приложения работают.
Группа ВМ готова принимать рабочую нагрузку.
- Категория: Cloud Services Engineer
- Просмотров: 687
Кратко:
- Автоматическое масштабирование важно для работы веб-сервиса при пиковой посещаемости.
- Настройка автоматического масштабирования группы ВМ позволяет системе отслеживать потребность в ВМ и экономить ресурсы.
- Создание группы ВМ, выбор метрик для отслеживания и целевого значения метрики.
- Период стабилизации, время на разогрев ВМ и промежуток измерения нагрузки влияют на регулирование количества ВМ в группе.
- Возможность установки пользовательских метрик, таких как среднее время ответа сервиса, для автоматического масштабирования.
Автоматическое масштабирование
Вы разработали и запустили веб-сервис, дали к нему ранний доступ парочке популярных блогеров и со дня на день ждёте наплыва посетителей. Теперь надо сделать так, чтобы сервис продолжил работать при пиковой посещаемости как ни в чём не бывало.
Для этого настройте автоматическое масштабирование группы ВМ. Система сама будет отслеживать потребность в ВМ и добавлять их, а при снижении нагрузки — убирать лишние, чтобы экономить ресурсы и деньги.
Вот как это работает:
- Создайте группу ВМ.
- Укажите, какие метрики системе отслеживать, чтобы вовремя добавлять или убирать ВМ. Обычно это нагрузка CPU: при загруженном на 100% процессоре сервис попросту перестаёт отзываться на действия посетителей. Вы можете использовать и свои метрики (например время ответа сервиса).
- Укажите целевое значение метрики. Например загрузка CPU — в среднем не больше 50%.
Однако нагрузка на ресурсы бывает неравномерной. Например, ваш сервис мониторинга репутации в соцсетях хранит копии публикаций в микроблогах, на форумах, сайтах с отзывами и т. д. Пользователи часто будут делать выгрузки для отчётности, что подразумевает запросы по очень большому диапазону записей в очень большой базе данных. Поэтому среднее значение метрики может резко меняться.
Но если после каждого всплеска и спада нагрузки создавать и удалять ВМ — это тоже приведёт к расходу ресурсов. Поэтому количество ВМ регулируется при помощи следующих параметров.
- Период стабилизации — время, в течение которого количество ВМ в группе не может быть уменьшено, даже если средние значения метрик становятся достаточно низкими. Его отсчёт начинается с момента принятия сервисом последнего из решений об увеличении размера группы. Смысл в том, что если в течение этого периода произойдёт повторный всплеск нагрузки, то в группе уже будет доступна хотя бы ещё одна дополнительная ВМ, которая перехватит часть запросов.
- Время на разогрев ВМ — период времени после запуска ВМ, в течение которого значения метрик этой ВМ, связанных с потреблением ресурсов, будут игнорироваться, а вместо них будут использоваться средние значения метрик в группе. Это позволяет не учитывать рост нагрузки, обусловленный запуском самой ВМ.
- Промежуток измерения нагрузки — период времени для усреднения значений измеряемых метрик. Сервис измеряет значения метрик с частотой несколько раз в минуту. Но принимать решение об изменении размера группы на основании только одного полученного значения не имеет смысла — например, нагрузка CPU может резко вырасти до 100%, а затем упасть до 10% в течение буквально пары секунд. Соответственно, чтобы регулировка количества ВМ в группе не была слишком чувствительной, используются усреднённые показатели.
Вы также можете установить в Yandex Monitoring пользовательские метрики. Например, среднее время ответа сервиса. Укажите имя метрики и ее целевое значение. Если оно будет превышено, Instance Groups создаст дополнительные машины для распределения нагрузки.
- Категория: Cloud Services Engineer
- Просмотров: 730
Кратко:
- Приложения не работают идеально, и сервисы могут столкнуться с проблемами из-за программных сбоев.
- Instance Groups проверяет состояние ВМ и приложений, чтобы предотвратить простои сервисов.
- Политика автоматического восстановления зависит от настроек развертывания.
- Если целевой размер группы превышен, Instance Groups создает новые ВМ вместо проблемных.
- Если целевой размер группы уменьшен, сервис перезагружает проблемную ВМ.
- Комбинируйте оба способа восстановления для более надежного результата.
- Старые машины не удаляются, пока не созданы новые ВМ.
- Автоматическое восстановление прерываемых ВМ начинается только при наличии достаточного количества вычислительных ресурсов.
Автоматическое восстановление
Ни одно приложение не работает идеально. Например, если сервис из-за программного сбоя начнёт создавать множество временных файлов, на диске рано или поздно закончится свободное место. Работа сервиса прекратится. Пользователи, чьи запросы обслуживает ВМ, будут видеть сообщение об ошибке.
Чтобы ВМ простаивала как можно меньше, Instance Groups регулярно проверяет состояние ВМ или отзывчивость приложения. Обнаружив неполадки, сервис действует по выбранному вами сценарию: перезапускает ВМ или создаёт новую.
Способ автоматического восстановления при сбое зависит от того, как вы настроили политику развёртывания:
- Если вы разрешили превышать целевой размер группы (поле Добавлять выше целевого значения), Instance Groups будет создавать ВМ вместо не прошедших проверку.
- Если вы разрешили уменьшать целевой размер группы (поле Уменьшать относительно целевого значения), Instance Groups перезагрузит ВМ. Иногда для устранения проблемы этого достаточно. Если проблема из примера выше в том, что в папке
/tmpскопилось много файлов, при перезапуске системы папка автоматически очистится.
Если вы не знаете заранее, достаточно ли перезагрузки ВМ, комбинируйте оба способа восстановления: используйте сразу два параметра.
Допустим, вы разрешили и превышать, и уменьшать целевой размер группы на одну машину. Когда одна из ВМ не пройдет проверку, Instance Groups начнет одновременно перезапускать эту машину и создавать новую. ВМ, которая первая пройдет все проверки, начнет работать, а вторая будет удалена.
Старые машины не удаляются до тех пор, пока не созданы новые. А если в процессе создания новой ВМ все машины в группе станут работоспособны, то сервис отменит её создание.
Автоматическое восстановление прерываемых ВМ начнётся только тогда, когда в зоне доступности будет достаточно вычислительных ресурсов. Иногда это занимает немало времени.
- Категория: Cloud Services Engineer
- Просмотров: 622
Кратко:
- Создание группы виртуальных машин для автоматического восстановления ВМ.
- Ввод имени, описания группы и создание сервисного аккаунта с ролью editor.
- Выбор двух зон доступности для обеспечения доступности сервиса.
- Создание шаблона виртуальной машины с описанием конфигурации и выбором образа Ubuntu.
- Настройка загрузочного диска, сетевых настроек и доступа к SSH-ключу.
- Установка политики развертывания, масштабирования и интеграции с Load Balancer.
- Создание группы виртуальных машин и тестирование включения и выключения всех машин сразу.
- Возможность удаления созданной группы ВМ, если она больше не нужна.
Создание группы виртуальных машин
Иногда вам требуется не автоматическое масштабирование, а автоматическое восстановление ВМ. Например, если вы отлаживаете работу веб-сервиса, который периодически падает. Для этого подойдут группы ВМ фиксированного размера. Давайте создадим и настроим такую группу.
- В консоли управления откройте раздел Compute Cloud, перейдите на вкладку Группы виртуальных машин и нажмите кнопку Создать группу.

Откроется страница Создание группы виртуальных машин.
- В блоке Базовые параметры введите имя и описание группы ВМ. Создайте новый сервисный аккаунт. Чтобы иметь возможность создавать, обновлять и удалять ВМ в группе, назначьте сервисному аккаунту роль
editor. По умолчанию все операции в группе ВМ выполняются от имени сервисного аккаунта.

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

- Шаблон создается так же, как и сама ВМ. В блоке Базовые параметры введите описание шаблона конфигурации, затем в блоке Выбор образа/загрузочного диска на вкладке Операционные системы выберите Ubuntu.

- В блоках Диски и Вычислительные ресурсы для загрузочного диска оставьте значения по умолчанию. В блоке Сетевые настройки выберите существующую сеть и подсети или создайте новые. В блоке Доступ выберите существующий или создайте новый сервисный аккаунт, укажите логин, вставьте в поле SSH-ключ содержимое файла с публичным ключом, доступ к серийной консоли не разрешайте.
- Сохраните параметры и вы вернётесь на страницу Создание группы виртуальных машин.
- В блоке В процессе создания и обновления разрешено установите политику развертывания:
- Добавлять выше целевого значения (на сколько ВМ можно превышать размер группы) —
2. - Уменьшать относительно целевого значения (на сколько ВМ можно уменьшать размер группы) —
1. - Одновременно создавать (сколько ВМ можно сразу создавать в группе) —
2. - Время запуска (сколько времени должно пройти, прежде чем будут пройдены все проверки состояния и ВМ начнет получать нагрузку) —
2 минуты. - Одновременно останавливать (сколько ВМ можно сразу удалять) —
1. - Останавливать машины по стратегии —
Принудительная. При принудительной стратегии Instance Groups самостоятельно выбирает, какие ВМ остановить.
- Добавлять выше целевого значения (на сколько ВМ можно превышать размер группы) —

- В блоке Масштабирование выберите
фиксированныйтип, Размер (количество ВМ) —3. - В блоке Интеграция с Load Balancer оставьте опцию Создать целевую группу выключенной. Не включайте пока проверку состояний, которая позволяет Instance Groups получать сведения о состоянии ВМ.
- Нажмите кнопку Создать и вернитесь на страницу Группы виртуальных машин. В правом нижнем углу появится сообщение «Группа виртуальных машин создаётся». Одновременно можно создавать не более двух ВМ. Поэтому сначала будут созданы две ВМ, потом — третья.

- После того как вы создали группу, протестируйте включение и выключение всех машин сразу. Обратите внимание: в соответствии с настройками сервис инициирует запуск не более двух машин одновременно. Третья ВМ будет оставаться остановленной. Как только первая будет запущена, один слот на запуск освободится, поэтому сразу будет инициирован запуск третьей и последней ВМ.
💡 Созданную группу ВМ можно удалить, она вам больше не потребуется.
- Категория: Cloud Services Engineer
- Просмотров: 605