- Управление и администрирование›
- AWS Auto Scaling›
- Вопросы и ответы
Вопросы и ответы по AWS Auto Scaling
Общие вопросы
Вопрос. Что такое AWS Auto Scaling?
AWS Auto Scaling – это новый сервис AWS, который помогает оптимизировать производительность приложений и снизить затраты на инфраструктуру за счет простого и безопасного масштабирования различных ресурсов AWS. Он упрощает работу, позволяя с помощью нескольких щелчков мышью масштабировать связанные наборы ресурсов, поддерживающих приложение. AWS Auto Scaling помогает настраивать непротиворечивые и согласованные политики масштабирования по всему инфраструктурному стеку, поддерживающему приложение. AWS Auto Scaling по мере необходимости автоматически выполняет масштабирование ресурсов в соответствии с выбранной стратегией масштабирования. Это позволяет поддерживать стабильную производительность и платить только за те ресурсы, которые действительно требуются.
Вопрос. Какими преимуществами обладает AWS Auto Scaling?
AWS Auto Scaling – это быстрый и простой способ оптимизировать производительность приложений и затраты на их эксплуатацию.
- Быстрая настройка масштабирования. AWS Auto Scaling обеспечивает единый механизм масштабирования для всех масштабируемых ресурсов приложения. Сервис предоставляет данные о средних уровнях использования всех масштабируемых ресурсов и позволяет быстро определить целевые уровни использования для каждой группы подобных ресурсов с помощью единого интуитивно понятного интерфейса.
- Принятие рациональных решений по масштабированию. AWS Auto Scaling позволяет автоматизировать реакцию групп различных ресурсов на изменение нагрузки. Простые и понятные стратегии масштабирования позволяют оптимизировать доступность, затраты или баланс этих двух показателей. AWS Auto Scaling автоматически создает все политики масштабирования и устанавливает цели на основе предпочтений клиента.
- Автоматическое поддержание производительности. AWS Auto Scaling постоянно отслеживает ресурсы приложения для обеспечения требуемого уровня производительности. При пиковой нагрузке AWS Auto Scaling автоматически увеличивает объем недостающих ресурсов, тем самым поддерживая высокое качество сервиса.
- Прогнозирование затрат и предотвращение перерасхода средств. AWS Auto Scaling оптимизирует потребление ресурсов и повышает экономическую эффективность использования сервисов AWS, поэтому клиенты платят только за те ресурсы, которые им действительно требуются. При уменьшении нагрузки AWS Auto Scaling автоматически высвобождает избыточные ресурсы, чтобы избежать лишних расходов.
Вопрос. В каких случаях стоит использовать AWS Auto Scaling?
AWS Auto Scaling следует применять для приложений, которые используют один или несколько масштабируемых ресурсов и испытывают переменную нагрузку. Хороший пример – приложение для интернет-коммерции, которое получает на протяжении дня различный объем трафика. Архитектура приложения стандартна и состоит из трех уровней: Elastic Load Balancing для распределения входящего трафика, Amazon EC2 для уровня вычислений и DynamoDB для уровня данных. В этом случае AWS Auto Scaling в зависимости от нагрузки будет масштабировать одну или несколько групп Auto Scaling сервиса EC2 и таблиц DynamoDB, обеспечивающих работу приложения.
Вопрос. Как начать работу с AWS Auto Scaling?
AWS Auto Scaling позволяет выбирать приложения на основе тегов ресурсов или стеков AWS CloudFormation. С помощью нескольких щелчков мышью можно создать для приложения план масштабирования, определяющий, как должен масштабироваться каждый из ресурсов приложения. AWS Auto Scaling создает для каждого ресурса политику масштабирования на основе отслеживания целевых значений самой распространенной метрики для этого типа ресурса и поддерживает ее на целевом уровне в соответствии с выбранной стратегией масштабирования. Задать целевые значения для метрик ресурсов можно с помощью одной из трех предопределенных рекомендаций по масштабированию, которые предлагают оптимизацию доступности, оптимизацию затрат или сбалансированный вариант для этих двух показателей. При необходимости можно задать собственные целевые значения. Кроме того, AWS Auto Scaling автоматически устанавливает минимальные и максимальные значения для используемых ресурсов.
Варианты масштабирования
Вопрос. Какими способами можно масштабировать ресурсы AWS?
Клиентам AWS доступны различные варианты масштабирования ресурсов. Amazon EC2 Auto Scaling обеспечивает наличие оптимального количества инстансов Amazon EC2 для обработки нагрузки приложения. EC2 Auto Scaling также может обнаруживать неработоспособные инстансы, останавливать их работу и запускать новые инстансы на замену. При использовании EC2 Auto Scaling повышается отказоустойчивость и доступность приложения, а также эффективность управления затратами.
Для масштабирования других ресурсов, отличных от EC2, можно использовать API сервиса Application Auto Scaling, который позволяет определять политики для автоматического масштабирования ресурсов AWS или планировать однократные и повторяющиеся действия масштабирования. Application Auto Scaling может масштабировать сервисы Amazon ECS, группы спотовых инстансов Amazon EC2, кластеры Amazon EMR, группы инстансов Amazon AppStream 2.0, выделенные ресурсы чтения и записи для таблиц Amazon DynamoDB и глобальных вторичных индексов, реплики Amazon Aurora и варианты адресов Amazon SageMaker.
С помощью AWS Auto Scaling можно создать план масштабирования ресурсов приложения, чтобы настроить автоматическое масштабирование множества ресурсов в разных сервисах. AWS Auto Scaling также используется для настройки прогнозного масштабирования ресурсов EC2.
Вопрос. В каких случаях стоит использовать AWS Auto Scaling, а в каких – Amazon EC2 Auto Scaling?
AWS Auto Scaling следует использовать для управления масштабированием множества ресурсов в различных сервисах. AWS Auto Scaling позволяет определять динамические политики масштабирования для разных групп EC2 Auto Scaling и других ресурсов с использованием предопределенных стратегий масштабирования. Настройка политик масштабирования для всех масштабируемых ресурсов приложения с помощью AWS Auto Scaling выполняется быстрее, чем управление политиками масштабирования для каждого ресурса через консоли отдельных сервисов. К тому же это проще, поскольку AWS Auto Scaling предлагает предопределенные стратегии масштабирования, которые упрощают настройку политик масштабирования. AWS Auto Scaling также следует использовать для настройки прогнозного масштабирования ресурсов EC2.
EC2 Auto Scaling следует использовать в том случае, когда требуется только масштабирование групп Amazon EC2 Auto Scaling или поддержание работоспособности группы инстансов EC2. EC2 Auto Scaling также следует использовать для создания или настройки групп Amazon EC2 Auto Scaling и для настройки политик масштабирования по расписанию или пошагового масштабирования (поскольку AWS Auto Scaling поддерживает только политики масштабирования на основе отслеживания целевых значений).
Группы EC2 Auto Scaling нужно создавать и настраивать вне AWS Auto Scaling, например с помощью консоли EC2, API сервиса Auto Scaling или через CloudFormation. AWS Auto Scaling можно использовать для настройки политик динамического масштабирования существующих групп EC2 Auto Scaling.
Вопрос. В каких случаях стоит использовать AWS Auto Scaling, а в каких – Auto Scaling для отдельных сервисов?
AWS Auto Scaling следует использовать для управления масштабированием множества ресурсов в различных сервисах. AWS Auto Scaling унифицирует масштабирование для разных ресурсов и предоставляет встроенное руководство, которое помогает упростить и ускорить настройку масштабирования. При желании можно вместо этого использовать для масштабирования отдельных сервисов AWS консоли отдельных сервисов, API сервиса Auto Scaling или API сервиса Application Auto Scaling. Отдельные консоли или API следует использовать также в том случае, если требуется настроить политики пошагового масштабирования или масштабирование по расписанию, поскольку AWS Auto Scaling создает только политики масштабирования на основе отслеживания целевых значений.
Вопрос. Что такое прогнозное масштабирование?
Прогнозное масштабирование – это функция AWS Auto Scaling, которая анализирует исторические модели трафика и составляет на их основании прогнозы для дальнейшего планирования изменений количества инстансов EC2 в определенные моменты времени в будущем. Функция прогнозного масштабирования использует модели машинного обучения для определения шаблонов нагрузки на день и неделю.
Благодаря функции прогнозного масштабирования Auto Scaling обеспечивает более быстрое, простое и точное выделение ресурсов, что способствует снижению затрат и повышению скорости отклика приложений. Функция прогнозного масштабирования подготавливает инстансы EC2 перед ожидаемыми изменениями интенсивности трафика, повышая скорость и точность работы сервиса Auto Scaling.
Вопрос. С какими сервисами можно использовать прогнозное масштабирование?
В настоящее время функция прогнозного масштабирования позволяет только составлять графики работы инстансов EC2.
Вопрос. Как можно использовать прогнозное масштабирование с функцией отслеживания целевых значений?
Функции прогнозного масштабирования и отслеживания целевых значений взаимодействуют, чтобы оптимизировать выделение ресурсов EC2 в соответствии с интенсивностью входящего трафика приложений. В то время как прогнозное масштабирование устанавливает минимальную пропускную способность для вашего приложения на основе прогнозируемого трафика, функция отслеживания целевых значений корректирует фактическую пропускную способность на основе данных о трафике на текущий момент. Функция отслеживания целевых значений регистрирует желаемые уровни использования пропускной способности в зависимости от нагрузки и реагирует на непредвиденные пики трафика и другие изменения. Функции прогнозного масштабирования и отслеживания целевых значений настраиваются совместно пользователем для создания плана масштабирования.
Вопрос. Что такое план масштабирования?
План масштабирования – набор правил масштабирования для ресурсов AWS. Чтобы настроить план масштабирования, вначале необходимо выбрать все ресурсы EC2, обеспечивающие работу приложения в AWS Auto Scaling. Затем следует выбрать метрику использования ресурсов, которую необходимо отслеживать (например, уровень использования ЦП), и задать значение для отслеживания (например 50 %). И наконец, требуется указать метрику CloudWatch, которая представляет поток входных данных, – этот параметр необходимо настроить, если это еще не сделано.
Метрики использования ресурсов и входного трафика являются ключевыми параметрами для плана масштабирования. Метрика входного трафика используется функцией прогнозного масштабирования для прогнозирования изменений интенсивности трафика. На основании своих расчетов функция прогнозного масштабирования планирует дальнейшие меры по масштабированию для настройки минимальной пропускной способности. Функция динамического масштабирования применяет метрику использования ресурсов и целевое значение для динамического изменения пропускной способности EC2 для приложения по мере изменения интенсивности трафика.
Вопрос. Можно ли настроить план масштабирования, не используя прогнозное масштабирование?
Да. План масштабирования можно настроить, используя только динамическое масштабирование и отказавшись от прогнозного. В то же время можно включить только прогнозное масштабирование, не настраивая динамическое.
Вопрос. Какое количество исторических данных требуется функции прогнозного масштабирования для создания плана масштабирования?
Функции прогнозного масштабирования необходимы исторические данные приблизительно за две недели, но план прогнозного масштабирования может быть составлен на основе данных не более чем за день.
Вопрос. На какой период в будущем прогнозирует интенсивность трафика функция прогнозного масштабирования?
Функция прогнозного масштабирования составляет прогноз интенсивности трафика каждые 24 часа на следующие 48 часов и планирует изменения пропускной способности на этот период.
Вопрос. Можно ли настроить прогнозное масштабирование на выделение инстансов перед фактическим пиком трафика?
Да. Дополнительно можно настроить буферное время для выделения инстансов за некоторое время до прогнозируемого изменения трафика. Это полезно для приложений, чьим инстансам EC2 требуется некоторое время для подготовки, прежде чем они будут готовы обслуживать трафик приложений.
Вопрос. Какова стоимость использования прогнозного масштабирования?
Как и в случае с остальными функциями Auto Scaling прогнозное масштабирование предоставляется бесплатно. Вы платите за ресурсы, которые используются для обеспечения работы программ.
Вопрос. Чем возможности AWS Auto Scaling отличаются от возможностей масштабирования для отдельных сервисов?
В следующей таблице представлено сравнение возможностей масштабирования AWS.
AWS Auto Scaling |
Amazon EC2 Auto Scaling |
Auto Scaling для других сервисов |
|
---|---|---|---|
Ресурсы, которые можно масштабировать | Группы EC2 Auto Scaling Группы спотовых инстансов EC2 Сервисы ECS Ресурсы DynamoDB, выделенные для таблиц и глобальных вторичных индексов Реплики Aurora |
Группы EC2 Auto Scaling | Группы спотовых инстансов EC2 Сервисы ECS Ресурсы DynamoDB, выделенные для таблиц и глобальных вторичных индексов Реплики Aurora Кластеры EMR Группы инстансов AppStream 2.0 Варианты адресов SageMaker |
Метод масштабирования | Масштабирование на уровне всего приложения с использованием единого интерфейса |
Одна группа Auto Scaling за раз | Один ресурс за раз |
Прогнозное масштабирование | Да (только EC2) | Нет | Нет |
Автоматическое обнаружение всех масштабируемых ресурсов приложения |
Да | Нет | Нет |
Возможность масштабировать множество ресурсов в разных сервисах с помощью единого интерфейса | Да | Нет |
Нет |
Руководство и рекомендации по настройке политик масштабирования |
Да | Нет | Нет |
Возможность создания и настройки групп Auto Scaling |
Нет | Да |
Неприменимо |
Возможность использования Auto Scaling только для управления группой инстансов EC2 |
Нет | Да | Неприменимо |
Настройка интеллектуальных самооптимизирующихся политик масштабирования на основе отслеживания целевых значений* |
Да | Да | Да |
Настройка запланированных действий по масштабированию | Нет | Да | Да |
Настройка политик пошагового масштабирования | Нет | Да |
Да |
Настройка политики масштабирования с разными метриками и пороговыми значениями для каждого ресурса | Нет | Да | Да |
* Рекомендуется использовать вместо политик пошагового масштабирования
Возможности
Вопрос. Какие ресурсы можно масштабировать с помощью AWS Auto Scaling?
AWS Auto Scaling предоставляет единый интерфейс для настройки масштабирования следующих ресурсов приложения:
- групп Auto Scaling Amazon EC2;
- сервисов Amazon Elastic Container Service (ECS) (в настоящее время сервисы ECS не могут быть обнаружены с помощью тегов ресурсов);
- групп спотовых инстансов Amazon EC2;
- пропускной способности Amazon DynamoDB;
- реплик Aurora для Amazon Aurora
Вопрос. На основе чего AWS Auto Scaling дает рекомендации по масштабированию?
В основе рекомендаций AWS Auto Scaling по масштабированию лежат наиболее распространенные метрики и пороговые значения для масштабирования, используемые в Auto Scaling. Сервис также определяет допустимые диапазоны безопасных значений для масштабирования, предлагая рекомендации по минимальному и максимальному размеру ресурсов. Это позволяет быстро начать работу и со временем подобрать оптимальные значения для своей стратегии масштабирования.
Вопрос. Как выбрать стек приложения в AWS Auto Scaling?
Выбрать можно либо стек AWS CloudFormation, либо ресурсы с общими тегами. Обратите внимание: в настоящее время обнаружение с использованием тегов не поддерживается для сервисов ECS.
Вопрос. Как AWS Auto Scaling определяет, какие ресурсы могут масштабироваться?
AWS Auto Scaling сканирует выбранный стек AWS CloudFormation или ресурсы с указанными тегами для обнаружения типов ресурсов AWS, для которых поддерживается масштабирование. Обратите внимание: в настоящее время обнаружение с использованием тегов не поддерживается для сервисов ECS.
Доступность и цены
Вопрос. В каких регионах доступен сервис AWS Auto Scaling?
AWS Auto Scaling доступен в регионах Азия и Тихий океан (Мумбаи), Азия и Тихий океан (Токио), Азия и Тихий океан (Сеул), Азия и Тихий океан (Сидней), Канада (Центр), Запад США (Северная Калифорния), ЕС (Лондон), ЕС (Франкфурт), ЕС (Париж), ЕС (Милан), Восток США (Вирджиния), Восток США (Огайо), Запад США (Орегон), ЕС (Ирландия) и Азия и Тихий океан (Сингапур).
Вопрос. Сколько стоит использование сервиса AWS Auto Scaling?
Как и Auto Scaling для отдельных ресурсов AWS, сервис AWS Auto Scaling можно использовать бесплатно. AWS Auto Scaling работает на основе сервиса Amazon CloudWatch, поэтому оплате подлежит использование сервиса CloudWatch и ресурсов приложения (например, инстансов Amazon EC2, балансировщиков нагрузки Elastic Load Balancing и т. д.).
Подробнее о ценах на AWS Auto Scaling