Поиск по сайту:

Как настроить группу автоматического масштабирования EC2 (ASG) на AWS


На этой странице

  1. Завершите работу экземпляра, чтобы позволить ASG управлять количеством экземпляров.
  2. Увеличьте нагрузку на экземпляры, чтобы позволить ASG увеличить количество экземпляров.
  3. Удалить группу автоматического масштабирования
  4. Вывод:

Функция ASG (Auto Scaling Group) поставляется вместе с сервисом EC2 (Elastic Compute Cloud) облака AWS (Amazon Web Services). ASG содержит набор экземпляров EC2, которые рассматриваются как логическая группа для целей автоматического масштабирования. ASG позволяет использовать функции автоматического масштабирования EC2, такие как замена проверки работоспособности и политики масштабирования. Это помогает поддерживать количество экземпляров в ASG и автоматическое масштабирование сервиса EC2 Auto Scaling. Чтобы создать и ASG, нам сначала нужно создать Конфигурацию запуска.

Конфигурация запуска — это шаблон конфигурации, который ASG использует для запуска экземпляров EC2. Когда мы создаем конфигурацию запуска, мы указываем информацию для экземпляров, такую как Amazon Machine Image (AMI), тип экземпляра, пару ключей, группы безопасности и т. д.

Auto Scaling отслеживает наши приложения и автоматически регулирует желаемую емкость, если есть какая-либо разница в количестве.

Дополнительная плата за автоматическое масштабирование не взимается. Нам нужно платить только за ресурсы AWS, необходимые для запуска приложений, и плату за мониторинг Amazon CloudWatch.

Чтобы узнать больше о выставлении счетов, связанных с ASG, нажмите здесь.

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

  1. Аккаунт AWS (создайте, если у вас его нет). 

  1. Войдите в AWS.
  2. Создание конфигурации запуска
  3. Создание группы автоматического масштабирования
  4. Завершите работу экземпляра, чтобы позволить ASG управлять количеством экземпляров.
  5. Увеличьте нагрузку на серверы, чтобы позволить ASG увеличить количество экземпляров.
  6. Удалите группу автоматического масштабирования.

Войти в АВС

  1. Нажмите здесь, чтобы перейти на страницу входа в AWS.

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

После успешного входа в AWS мы увидим главную консоль со всеми перечисленными ниже службами.

Создайте конфигурацию запуска

Чтобы создать конфигурацию запуска, нажмите «Службы» на панели навигации в верхней части экрана и нажмите «EC2», чтобы перейти в консоль EC2.

На панели навигации в левой части экрана в разделе «Автоматическое масштабирование» выберите «Запустить конфигурации».

На следующей странице выберите «Создать конфигурацию запуска».

На странице Choose AMI выберите AMI. Вы даже можете выбрать AMI из My AMI, если у вас есть собственный AMI. Здесь я выбираю Ubuntu Server 18.04 LTS AMI, который подходит для уровня бесплатного пользования.

На странице Choose Instance Type выберите конфигурацию оборудования для вашего экземпляра. Нажмите «Далее: настроить».

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

На этой странице дайте имя создаваемой конфигурации запуска, а остальное оставьте без изменений. Нажмите «Далее: Добавить хранилище».

Укажите желаемое дисковое пространство и нажмите «Далее: настроить группу безопасности».

На странице обзора выберите «Создать новую группу безопасности», а затем нажмите «Проверить». Это поможет разрешить доступ по ssh к серверу из любого места, поскольку источником является 0.0.0.0/0.

На странице просмотра выберите «Создать конфигурацию запуска».

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

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

Когда вы закончите создание конфигурации запуска, вы увидите следующий экран. Чтобы создать ASG, нажмите «Создать группу автоматического масштабирования, используя эту конфигурацию запуска».

Дайте имя создаваемой ASG, выберите существующие подсети из вашего VPC для высокой доступности и нажмите «Далее: настроить политики масштабирования».

На этой странице выберите «использовать политики масштабирования для настройки емкости этой группы» и укажите количество экземпляров для масштабирования между желаемым и максимальным количеством экземпляров в ASG. В типе метрики сохраните «Среднее использование ЦП» и укажите «Целевое значение» по вашему выбору. Это увеличит количество экземпляров в группе, если загрузка ЦП превысит указанное целевое значение в % за указанный период. Нажмите «Далее: настроить уведомление».

Это необязательный шаг, который помогает получать уведомления. Я не настраиваю это, так как это необязательно. Нажмите «Далее: настроить теги».

Это также необязательный шаг. Чтобы добавить теги, выберите «Редактировать теги», укажите ключ тега и значение для каждого тега, а затем выберите «Просмотреть».

На странице обзора нажмите кнопку  \Создать группу автоматического масштабирования.

Если вы получаете сообщение «Не удалось создать группу автоматического масштабирования», не паникуйте и просто нажмите «Повторить».

Теперь перейдите на страницу автоматического масштабирования, и вы увидите статус группы автоматического масштабирования, нажмите «История действий», чтобы увидеть статус.

Вы также можете увидеть состояние экземпляра и количество экземпляров на странице экземпляра.

Завершите работу экземпляра, чтобы позволить ASG управлять количеством экземпляров.

Чтобы проверить, работает ли ASG должным образом, завершите работу одного из экземпляров. Выберите экземпляр и нажмите «Действия» -> «Состояние экземпляра» -> «Завершить», а при появлении запроса нажмите «Да, завершить».

Мы указали 2 в качестве желаемого/минимального количества в политиках масштабирования, что означает, что наша ASG всегда должна иметь 2 экземпляра в работоспособном состоянии. Как только завершение будет отключено, ASG будет ждать 300 секунд, которые мы указали в политике масштабирования, прежде чем выполнять какие-либо действия по масштабированию.

После ожидания в течение 300 секунд ASG вызывается и пытается запустить новый экземпляр, чтобы сохранить желаемое количество. Вы можете проверить статус в истории активности ASG.

Увеличьте нагрузку на экземпляры, чтобы позволить ASG увеличить количество экземпляров.

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

Чтобы увеличить нагрузку на сервер, войдите в оба экземпляра EC2.

Чтобы узнать, как создать инстанс EC2 и узнать, как к нему подключиться, нажмите здесь.

После входа в систему установите пакет, необходимый для увеличения нагрузки, используя следующие команды.

sudo apt-get update
sudo apt-get install stress

Увеличьте нагрузку на ЦП с помощью следующей команды.

stress --cpu  50 --timeout 400

Эта команда увеличит загрузку процессора до 50% на 400 секунд.

Мы указали целевое значение 40% в ASG. Как только загрузка ЦП превысит целевое значение, ASG будет ждать 300 секунд, которые мы указали в политиках масштабирования, прежде чем выполнять какие-либо действия по масштабированию.

После ожидания в течение 300 секунд ASG вызывается и пытается запустить новый экземпляр, чтобы выполнить требование.

Вы можете проверить статус в истории активности ASG.

Вы также можете увидеть количество экземпляров на странице экземпляров.

Удалить группу автоматического масштабирования

Простого удаления всех экземпляров недостаточно для очистки ресурсов. ASG воссоздаст экземпляр, чтобы он соответствовал желаемому состоянию. Чтобы очистить ресурс, нам нужно удалить ASG.

Чтобы удалить ASG, перейдите к созданному нами ASG и нажмите «Действия» -> «Удалить», а при появлении запроса нажмите «Да, удалить».

Заключение:

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