Amazon Web Services (AWS) предоставляет широкий спектр услуг облачных вычислений, включая Elastic Compute Cloud (EC2) для масштабируемых вычислительных ресурсов. EC2 Auto Scaling — это мощная функция, позволяющая автоматически регулировать количество инстансов EC2 в вашей инфраструктуре в зависимости от потребности. В этом руководстве мы рассмотрим основы автоматического масштабирования AWS EC2 и предоставим пошаговые инструкции по его настройке.
Введение в автоматическое масштабирование AWS EC2
EC2 Auto Scaling помогает поддерживать оптимальное количество инстансов в вашей инфраструктуре, автоматически увеличивая или уменьшая количество инстансов в зависимости от потребности. Это гарантирует, что у вас будет достаточно ресурсов для обработки всплесков трафика, и сократит расходы за счет освобождения ненужных экземпляров в периоды низкого спроса.
Автоматическое масштабирование EC2 состоит из трех основных компонентов:
- Шаблон запуска : шаблон конфигурации, в котором указывается тип экземпляра, AMI и другие параметры для запускаемых экземпляров.
- Auto Scaling Group : группа экземпляров, которые используют один и тот же шаблон запуска и политики масштабирования.
- Политики масштабирования : правила, определяющие, когда и как масштабировать количество экземпляров в группе автоматического масштабирования.
Предварительные требования для автоматического масштабирования EC2
Прежде чем мы начнем, убедитесь, что у вас есть следующее:
- Учетная запись AWS с необходимыми разрешениями для создания инстансов EC2, запуска шаблонов и групп автоматического масштабирования и управления ими.
- AWS CLI установлен и настроен с использованием ваших учетных данных AWS.
- Базовое понимание AWS EC2 и его компонентов.
Создание шаблона запуска EC2
Шаблон запуска — это повторно используемая конфигурация, в которой указываются параметры для экземпляров, запускаемых в группе Auto Scaling. Чтобы создать шаблон запуска, выполните следующие действия:
- Войдите в Консоль управления AWS и перейдите к панели инструментов EC2.
- В меню слева нажмите «Запустить шаблоны» в разделе «Экземпляры».
- Нажмите кнопку Создать шаблон запуска.
- Заполните обязательные поля, такие как имя шаблона, описание и идентификатор Amazon Machine Image (AMI). Вы можете найти идентификатор AMI, выполнив поиск нужного типа экземпляра в разделе «Экземпляры » панели управления EC2.
- Выберите тип экземпляра, например t2.microили m5.large, в зависимости от ваших требований.
- При необходимости настройте дополнительные параметры, такие как хранилище, группы безопасности и пары ключей.
- Щелкните Создать шаблон запуска, чтобы сохранить конфигурацию.
Вы также можете создать шаблон запуска с помощью интерфейса командной строки AWS с помощью следующей команды:
aws ec2-template —launch-template-name MyLaunchTemplate —version-description «Initial version» —launch-template-data ’{«ImageId»:»ami-0c94855ba95b798c7″,»InstanceType»:»t2.micro»,»KeyName»:»my-key-pair«}’
Замените значения для ImageId, InstanceTypeи KeyNameжелаемыми настройками.
Создание группы автоматического масштабирования
Группа Auto Scaling — это набор экземпляров, которые используют один и тот же шаблон запуска и политики масштабирования. Чтобы создать группу автоматического масштабирования, выполните следующие действия.
- В Консоли управления AWS перейдите к панели инструментов EC2.
- В меню слева нажмите Auto Scaling groups под Auto Scaling.
- Нажмите кнопку Создать группу автоматического масштабирования.
- Выберите созданный ранее шаблон запуска и нажмите «Далее».
- Выберите имя для своей группы Auto Scaling и настройте нужные VPC и подсети.
- Установите требуемый минимум, максимум и желаемое количество экземпляров для группы автоматического масштабирования.
- При необходимости настройте любые дополнительные параметры, такие как балансировка нагрузки и проверки работоспособности.
- Щелкните Создать группу автоматического масштабирования, чтобы сохранить конфигурацию.
Вы также можете создать группу автоматического масштабирования с помощью интерфейса командной строки AWS с помощью следующей команды:
aws ec2-template --launch-template-name MyLaunchTemplate --version-description "Initial version" --launch-template-data '{"ImageId":"ami-0c94855ba95b798c7","InstanceType":"t2.micro","KeyName":"my-key-pair"}'
Замените значения для LaunchTemplateName, min-size, max-size, desired-capacityи vpc-zone-identifierнужными настройками.
Настройка политик масштабирования
Политики масштабирования определяют, когда и как масштабировать количество экземпляров в группе автоматического масштабирования. Существует три типа политик масштабирования:
- Целевое масштабирование с отслеживанием : автоматически регулирует количество экземпляров на основе предопределенной метрики, такой как средняя загрузка ЦП или сетевой трафик.
- Пошаговое масштабирование : пошаговое увеличение или уменьшение количества экземпляров в зависимости от предупреждений CloudWatch.
- Простое масштабирование : увеличивает или уменьшает количество экземпляров на основе одного сигнала тревоги CloudWatch.
В этом руководстве мы сосредоточимся на политиках масштабирования целевого отслеживания.
Чтобы создать политику масштабирования целевого отслеживания, выполните следующие действия.
- В Консоли управления AWS перейдите к панели инструментов EC2.
- В меню слева нажмите Auto Scaling groups под Auto Scaling.
- Выберите группу автоматического масштабирования и щелкните вкладку Политики масштабирования.
- Нажмите кнопку Создать политику масштабирования.
- Выберите Целевая политика масштабирования отслеживания в качестве типа политики.
- Введите имя для вашей политики масштабирования.
- Выберите предварительно определенную метрику, такую как Средняя загрузка ЦП или Количество запросов на цель, и установите целевое значение.
- При необходимости настройте любые дополнительные параметры, такие как периоды восстановления и время прогрева экземпляра.
- Нажмите «Создать», чтобы сохранить политику масштабирования.
Вы также можете создать политику масштабирования целевого отслеживания с помощью интерфейса командной строки AWS с помощью следующей команды:
aws Auto Scaling create-auto-scaling-group --auto-scaling-group-name MyAuto ScalingGroup --launch-template "LaunchTemplateName=MyLaunchTemplate" --min-size 1 --max-size 3 --desired-capacity 2 --vpc-zone-identifier "subnet-12345678,subnet-abcdefgh"
Замените значения для policy-name, auto-scaling-group-name, PredefinedMetricTypeи TargetValueнужными настройками.
Мониторинг и тестирование
После настройки группы автоматического масштабирования и политик масштабирования важно отслеживать и тестировать конфигурацию, чтобы убедиться, что она работает должным образом.
Чтобы контролировать свою группу Auto Scaling, вы можете использовать Amazon CloudWatch для отслеживания таких показателей, как загрузка ЦП, сетевой трафик и количество экземпляров. Вы также можете настроить оповещения CloudWatch, чтобы уведомлять вас о нарушении определенных пороговых значений.
Чтобы протестировать конфигурацию Auto Scaling, вы можете имитировать всплески трафика или увеличение использования ресурсов и наблюдать, как реагирует ваша группа Auto Scaling. Вы также можете вручную настроить желаемую емкость группы автоматического масштабирования, чтобы увидеть, как она увеличивается или уменьшается.
Заключение
В этом руководстве мы рассмотрели основы автоматического масштабирования AWS EC2, включая создание шаблонов запуска, групп автоматического масштабирования и политик масштабирования. Внедрив Auto Scaling в свою инфраструктуру, вы можете гарантировать, что у вас будет достаточно ресурсов для обработки всплесков трафика и снижения затрат за счет освобождения ненужных экземпляров в периоды низкого спроса.
Памятка по автоматическому масштабированию EC2
Компонент | Описание | Параметры |
Запустить шаблон | Повторно используемая конфигурация, определяющая параметры для экземпляров, запускаемых в группе Auto Scaling. | Идентификатор AMI, тип экземпляра, пара ключей, группы безопасности, хранилище и т. д. |
Группа автоматического масштабирования | Коллекция экземпляров, которые используют один и тот же шаблон запуска и политики масштабирования. | Шаблон запуска, VPC, подсети, минимальные/максимальные/желаемые экземпляры, балансировка нагрузки, проверки работоспособности и т. д. |
Политики масштабирования | Правила, определяющие, когда и как масштабировать количество экземпляров в группе Auto Scaling. | Целевое отслеживание, пошаговое масштабирование, простое масштабирование, предопределенные метрики, целевые значения, периоды восстановления, прогрев экземпляра и т. д. |