Общие вопросы

Вопрос. Что такое Amazon EC2 Auto Scaling?

Amazon EC2 Auto Scaling – это полностью управляемый сервис, предназначенный для автоматического запуска и остановки инстансов Amazon EC2. Он позволяет постоянно обеспечивать оптимальное количество инстансов для обработки всей нагрузки приложения. Amazon EC2 Auto Scaling помогает поддерживать доступность приложений за счет системы управления группами инстансов EC2, которая обнаруживает и заменяет неисправные инстансы, а также за счет автоматического увеличения и уменьшения объемов ресурсов Amazon EC2 в соответствии с заданными условиями. Используя Amazon EC2 Auto Scaling, можно автоматически увеличивать количество инстансов Amazon EC2 при пиковой потребности в ресурсах и сохранять производительность на прежнем уровне, а при снижении потребности – уменьшать объемы ресурсов для сокращения затрат.

Вопрос. Когда рекомендуется использовать Amazon EC2 Auto Scaling, а когда – AWS 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.

Вопрос. В чем заключаются преимущества Amazon EC2 Auto Scaling?

Amazon EC2 Auto Scaling позволяет поддерживать постоянную доступность инстансов Amazon EC2. Auto Scaling помогает выявлять нестабильные инстансы Amazon EC2 и выполнять замену инстансов без какого‑либо вмешательства со стороны пользователя как при использовании одного инстанса, так и для тысяч инстансов Amazon EC2 одновременно. Такая возможность позволяет приложениям постоянно получать необходимые вычислительные ресурсы. Amazon EC2 Auto Scaling позволяет автоматически масштабировать группу инстансов Amazon EC2 и удовлетворять переменный уровень спроса на приложения, сводя к минимуму необходимость в предварительном выделении вычислительных ресурсов сервиса Amazon EC2 вручную. Например, можно задать условие, при котором новые инстансы Amazon EC2 будут добавляться в ASG с некоторым шагом, когда средняя нагрузка на используемые ресурсы Amazon EC2 станет достаточно высокой; или можно задать условие, при котором инстансы будут удаляться с определенным шагом, когда нагрузка на ЦПУ окажется низкой. Дополнительно можно использовать сервис Amazon CloudWatch для отправки оповещений, активирующих действия по масштабированию, и сервис Elastic Load Balancing (ELB) для распределения трафика по инстансам, входящим в состав ASG. Если в приложении наблюдаются предсказуемые изменения нагрузки, Amazon EC2 Auto Scaling позволяет задать расписание, на основании которого будут осуществляться действия по масштабированию. Amazon EC2 Auto Scaling позволяет оптимально использовать ресурсы Amazon EC2.

Вопрос. Что такое управление группой инстансов, и чем оно отличается от динамического масштабирования?

Если приложение работает на инстансах Amazon EC2, речь идет об использовании так называемой «группы инстансов». Управление группой инстансов – функциональная возможность, автоматически заменяющая неисправные инстансы и поддерживающая объем ресурсов в группе на необходимом уровне. Управление группой инстансов в Amazon EC2 Auto Scaling гарантирует, что приложение постоянно может обрабатывать трафик и что сами инстансы работают правильно. Когда Auto Scaling обнаруживает инстанс, не прошедший проверку работоспособности, его замена осуществляется автоматически.

Возможности динамического масштабирования Amazon EC2 Auto Scaling – это автоматическое повышение или снижение объема ресурсов в зависимости от нагрузки или других метрик. Например, если нагрузка на ЦПУ поднимается выше 80 % (и если настроены соответствующие предупреждения), Amazon EC2 Auto Scaling может динамически добавить новый инстанс.

Вопрос. Что такое отслеживание целевых значений?

Отслеживание целевых значений – новый тип политики масштабирования, который можно использовать для настройки динамического масштабирования приложения всего за несколько простых шагов. Благодаря отслеживанию целевых значений можно выбрать метрику нагрузки для приложения, например загрузку ЦПУ или количество запросов, и задать целевое значение, после чего Amazon EC2 Auto Scaling будет управлять количеством инстансов EC2 в ASG для достижения установленного целевого значения. Эта возможность работает аналогично термостату, который автоматически подстраивает параметры системы отопления для поддержания заданной температуры в помещении. Предположим, вы настроили функцию отслеживания целевых значений на поддержание загрузки ЦПУ группы веб‑серверов на уровне 50 %. Далее Amazon EC2 Auto Scaling будет запускать или останавливать инстансы EC2 при необходимости для достижения средней загрузки ЦПУ на уровне 50 %.

Вопрос. Что такое группа EC2 Auto Scaling (ASG)?

Группа Amazon EC2 Auto Scaling (ASG) содержит набор инстансов EC2, которые обладают схожими характеристиками и рассматриваются в качестве логической группы в целях группового управления и динамического масштабирования. Например, если приложение работает на нескольких инстансах, возможно, потребуется увеличить количество инстансов в этой группе, чтобы повысить производительность приложения, или снизить количество инстансов для снижения издержек в периоды низкого спроса. Amazon EC2 Auto Scaling будет автоматически регулировать количество инстансов в группе для обеспечения определенного количества инстансов, даже если один из них станет неисправным, или же на основании заданных пользователем критериев. Дополнительную информацию об ASG см. в Руководстве пользователя Amazon EC2 Auto Scaling.

Вопрос. Что происходит с инстансами Amazon EC2 при удалении ASG?

Если работающие инстансы объединены в группу EC2 Auto Scaling (ASG), при удалении ASG работа этих инстансов будет прекращена.

Вопрос. Как узнать, когда EC2 Auto Scaling запускает или останавливает инстансы EC2 в группе EC2 Auto Scaling?

При использовании Amazon EC2 Auto Scaling для автоматического масштабирования приложений будет полезно знать, когда EC2 Auto Scaling запускает или останавливает инстансы EC2 в группе EC2 Auto Scaling. Сервис Amazon SNS управляет процессом доставки или отправки уведомлений подписанным клиентам или на указанные адреса. EC2 Auto Scaling можно настроить на отправку уведомлений SNS при масштабировании группы EC2 Auto Scaling. Сервис Amazon SNS способен доставлять уведомления в качестве POST‑сообщений по протоколам HTTP или HTTPS, по электронной почте (через SMTP – в текстовом формате или формате JSON) или в качестве сообщений в очереди Amazon SQS. Например, если группа EC2 Auto Scaling будет использовать тип уведомления autoscaling: EC2_INSTANCE_TERMINATE, при остановке инстанса группой EC2 Auto Scaling вам будет отправлено уведомление по электронной почте. В этом письме будут указаны сведения об остановленном инстансе, например ID инстанса, и причина завершения его работы.

Дополнительную информацию см. в разделе Получение уведомлений SNS при масштабировании EC2 Auto Scaling Group.

Вопрос. Что такое конфигурация запуска?

Конфигурация запуска – это шаблон, используемый группой EC2 Auto Scaling для запуска инстансов EC2. При создании конфигурации запуска указывается информация для инстансов, например ID Amazon Machine Image (AMI), тип инстанса, пара ключей, политики безопасности и записи привязки к блочным устройствам. Если вы уже использовали ранее инстансы EC2, для запуска инстанса требовалось указать подобную информацию. При создании группы EC2 Auto Scaling необходимо задать конфигурацию запуска. Конфигурацию запуска можно задать для нескольких групп EC2 Auto Scaling. При этом можно задать только по одной конфигурации запуска для каждой группы EC2 Auto Scaling за один раз. Конфигурации запуска невозможно изменить после создания. Поэтому, если требуется изменить конфигурацию запуска для группы EC2 Auto Scaling, создайте новую конфигурацию запуска и присвойте ее группе EC2 Auto Scaling. После изменения конфигурации запуска для группы EC2 Auto Scaling все новые инстансы будут запускаться с новыми параметрами конфигурации, однако это никак не повлияет на существующие инстансы. Для получения дополнительной информации см. раздел Конфигурации запуска Руководства пользователя EC2 Auto Scaling.

Вопрос. Сколько инстансов может находиться в группе EC2 Auto Scaling?

Количество инстансов в группе EC2 Auto Scaling ограничено лишь квотой аккаунта в сервисе EC2.

Вопрос. Что произойдет, если в процессе масштабирования будет превышен лимит по количеству инстансов Amazon EC2?

Сервис Amazon EC2 Auto Scaling не может выполнять масштабирование, выходящее за пределы отведенного пользователю максимального количества инстансов Amazon EC2. Если вам потребуются дополнительные инстансы Amazon EC2, заполните форму запроса инстансов Amazon EC2.

Вопрос. Могут ли группы EC2 Auto Scaling охватывать несколько регионов AWS?

Группы EC2 Auto Scaling – региональные структуры. Они могут включать в себя инстансы в нескольких зонах доступности, но не в нескольких регионах AWS.

Вопрос. Как можно внести изменения сразу в несколько инстансов в группе EC2 Auto Scaling?

Для оркестрации изменений кода в нескольких инстансах группы EC2 Auto Scaling можно использовать сервисы AWS CodeDeploy или CloudFormation.

Вопрос. В группе EC2 Auto Scaling установлены данные. Если в дальнейшем динамически создается новый инстанс, будут ли эти данные копироваться в новые инстансы?

Данные из существующих инстансов не копируются автоматически на новые. Для копирования данных можно воспользоваться процедурами жизненного цикла или репликами Amazon RDS с базами данных.

Вопрос. Создается ли новый образ Amazon Machine Image (AMI) при создании группы EC2 Auto Scaling из существующего инстанса?

При создании группы Auto Scaling из существующего инстанса новый AMI не создается. Дополнительную информацию см. в разделе Создание группы Auto Scaling Group при помощи инстанса EC2.

Вопрос. Каким образом Amazon EC2 Auto Scaling осуществляет балансировку ресурсов?

Балансировка ресурсов между несколькими зонами доступности – эффективная методика для грамотно спроектированных приложений, позволяющая значительно повысить совокупную системную доступность. Amazon EC2 Auto Scaling осуществляет автоматическую балансировку инстансов EC2 между зонами при настройке использования нескольких зон в параметрах группы EC2 Auto Scaling. Amazon EC2 Auto Scaling всегда запускает новые инстансы таким образом, чтобы они были равномерно распределены между зонами во всей группе. Более того, Amazon EC2 Auto Scaling запускается только в тех зонах доступности, в которых есть доступные ресурсы для запрашиваемого типа инстанса.

Вопрос. Что такое процедуры жизненного цикла?

Процедуры жизненного цикла позволяют исполнить определенное действие перед отправкой инстанса на обслуживание или перед его остановом. Они могут особенно пригодиться в случае, если среда ПО не встроена в образ Amazon Machine Image (AMI). Например, процедуры запуска могут конфигурировать ПО в инстансе, чтобы он был полностью готов к обработке трафика, прежде чем Amazon EC2 Auto Scaling подключит его к балансировщику нагрузки. Один из способов сделать это – привязать процедуру запуска к функции AWS Lambda, вызывающей RunCommand на инстансе. Процедуры останова можно использовать для сбора важных данных с инстанса перед его остановом. Например, процедуру останова можно использовать для сохранения файлов журнала группы путем копирования в корзину Amazon S3 перед остановом инстанса.

Для получения дополнительной информации см. раздел о процедурах жизненного цикла Руководства пользователя Amazon EC2 Auto Scaling.

Вопрос. Какой инстанс считается неисправным?

Неисправный инстанс – это инстанс, оборудование которого вышло из строя по какой‑то причине (из‑за неисправности диска и т. д.), или инстанс, не прошедший проверку работоспособности ELB, заданную пользователем. Amazon EC2 Auto Scaling проверяет работоспособность каждого отдельного инстанса EC2 с определенными интервалами, и, если инстанс подключен к балансировщику нагрузки Elastic Load Balancing, последний также может осуществлять проверки работоспособности ELB.

Вопрос. Можно ли настраивать проверку работоспособности?

Да, существует API SetInstanceHealth, позволяющий менять статус инстанса на UNHEALTHY (неисправный), после чего этот инстанс будет остановлен или заменен.

Вопрос. Можно ли приостановить проверки работоспособности (например, для оценки неисправных инстансов)?

Да, проверки работоспособности Amazon EC2 Auto Scaling можно временно отключить с помощью API SuspendProcesses. Для возобновления автоматических проверок работоспособности используйте API ResumeProcesses.

Вопрос. Какой тип проверки работоспособности рекомендуется выбирать?

Если в группе используется Elastic Load Balancing (ELB), следует выбрать проверку работоспособности ELB. Если в группе не используется ELB, следует выбрать проверку работоспособности EC2.

Вопрос. Можно ли использовать Amazon EC2 Auto Scaling для проверки работоспособности и замены неисправных инстансов, если я не использую балансировщик Elastic Load Balancing (ELB)?

Для работы с Auto Scaling не обязательно использовать ELB. Для выявления и замены неисправных инстансов можно использовать проверки работоспособности EC2.

Вопрос. Работают ли проверки работоспособности Elastic Load Balancing (ELB) с балансировщиками Application Load Balancer и балансировщиками Network Load Balancer? Будет ли инстанс помечен как неисправный, если какая‑либо из связанных с ним целевых групп станет неисправной?

Да, Amazon EC2 Auto Scaling работает с балансировщиками Application Load Balancer и балансировщиками Network Load Balancer, а также с их возможностями проверки работоспособности.

Вопрос. Можно ли использовать Amazon EC2 Auto Scaling, чтобы добавить только том без добавления инстанса?

Том закрепляется за новым инстансом при его добавлении. Amazon EC2 Auto Scaling не добавляет тома автоматически, когда на существующих томах заканчиваются ресурсы. Для добавления тома к существующему инстансу можно воспользоваться API сервиса EC2.

Вопрос. Что означает термин «инстансы с фиксацией состояния»?

Когда мы говорим об инстансе с фиксацией состояния, мы имеем в виду инстанс, на котором есть данные, существующие только в этом инстансе. Как правило, останов инстанса с фиксацией состояния приведет к потере данных (информации о состоянии) инстанса. Можно использовать процедуры жизненного цикла для копирования данных с инстанса с фиксацией состояния перед его остановом или включить защиту инстансов для предотвращения его останова функцией Amazon EC2 Auto Scaling.

Замена поврежденных инстансов

Вопрос. Как Amazon EC2 Auto Scaling заменяет поврежденные инстансы?

Когда поврежденный инстанс не проходит проверку работоспособности, Amazon EC2 Auto Scaling автоматически останавливает его и заменяет новым. Если используется балансировщик нагрузки Elastic Load Balancing, Amazon EC2 Auto Scaling корректно отсоединяет поврежденный инстанс от балансировщика нагрузки перед выделением нового инстанса и его подключением к балансировщику нагрузки. Это происходит автоматически, поэтому, когда инстанс нужно заменить, ручное вмешательство не требуется.

Вопрос. Как определить, какие инстансы Amazon EC2 Auto Scaling останавливает при масштабировании в сторону уменьшения, и как защитить данные на инстансе?

В каждой группе Amazon EC2 Auto Scaling можно управлять условиями добавления инстансов (масштабированием в сторону увеличения) или удаления инстансов из группы (масштабированием в сторону уменьшения). Группу можно масштабировать, закрепляя или открепляя инстансы вручную, или же автоматизировать этот процесс с помощью политики масштабирования. Если в группе настроено автоматическое масштабирование в сторону уменьшения с помощью Amazon EC2 Auto Scaling, необходимо определить, какие инстансы Amazon EC2 Auto Scaling будет останавливать в первую очередь. Этот процесс можно настроить с помощью политики останова. Можно также использовать защиту инстансов, чтобы запретить Amazon EC2 Auto Scaling останавливать определенные инстансы при масштабировании в сторону уменьшения. Если на инстансе есть данные и при масштабировании инстанса в сторону уменьшения требуется обеспечить их постоянное хранение, воспользуйтесь сервисами S3, RDS или DynamoDB, чтобы сохранять данные вне инстанса.

Вопрос. Через какое время после обнаружения неисправного сервера Amazon EC2 Auto Scaling выделяет новый инстанс в состоянии inService?

Процесс занимает несколько минут. Большая часть замен выполняется в течение 5 минут, причем среднее время замены значительно меньше 5 минут. Продолжительность зависит от различных факторов, в том числе от времени загрузки указанного AMI на инстансе.

Вопрос. Если балансировщик Elastic Load Balancing (ELB) определит, что инстанс неисправен, и отключит его от сети, будут ли предыдущие запросы, отправленные к неисправному инстансу, поставлены в очередь и перенаправлены на другие инстансы в группе?

Когда балансировщик ELB выявляет неисправный инстанс, он перестает направлять к нему запросы. Однако перед обнаружением неисправности инстанса некоторые запросы, направленные к инстансу, не будут исполнены.

Вопрос. Если балансировщик Elastic Load Balancing (ELB) не используется, как пользователи будут перенаправляться на другие серверы группы при возникновении неисправности?

Для этого можно использовать сервис Route 53 (который Amazon EC2 Auto Scaling пока не поддерживает по умолчанию, но который используют многие наши клиенты). Можно также использовать собственный обратный прокси‑сервер или решения для обнаружения сервисов, если речь идет о внутренних микросервисах.

Безопасность

Вопрос. Как управлять доступом к ресурсам Amazon EC2 Auto Scaling?

Amazon EC2 Auto Scaling интегрирован с сервисом AWS Identity and Access Management (IAM), позволяющим выполнять следующие действия:

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

Например, можно создать политику IAM, разрешающую группе Managers использовать только следующие операции API: DescribeAutoScalingGroups, DescribeLaunchConfigurations, DescribeScalingActivities и DescribePolicies. Пользователи группы Managers смогут использовать эти операции с любыми группами Amazon EC2 Auto Scaling и конфигурациями запуска. С помощью разрешений на уровне ресурсов Amazon EC2 Auto Scaling можно ограничить доступ к отдельным группам EC2 Auto Scaling или конфигурациям запуска.

Подробнее об этом см. в разделе Controlling Access to Your Auto Scaling Resources Руководства пользователя Amazon EC2 Auto Scaling.

Вопрос. Можно ли в инстансах с Windows задать пароль администратора по умолчанию с помощью Amazon EC2 Auto Scaling?

Чтобы связать пару ключей со своим инстансом, можно использовать параметр Key Name для CreateLaunchConfiguration. После этого можно использовать API GetPasswordData в сервисе EC2. Операцию также можно выполнить в Консоли управления AWS (AWS Management Console).

Вопрос. Устанавливаются ли агенты CloudWatch автоматически на инстансах EC2 при создании группы Amazon EC2 Auto Scaling?

Если агент CloudWatch входит в состав AMI, он будет автоматически установлен в инстансах EC2 при создании группы EC2 Auto Scaling. Если используется стандартный Amazon Linux AMI, агент нужно установить вручную (рекомендуется установка посредством yum).

Оптимизация расходов

Вопрос. Можно ли создать одну ASG для масштабирования инстансов с использованием различных вариантов приобретения?

Да. В рамках одной группы Auto Scaling можно выделять ресурсы EC2 с использованием любых типов инстансов, зон доступности и вариантов приобретения (инстансы по требованию, зарезервированные или спотовые инстансы), а затем автоматически масштабировать их. Можно установить требуемые принципы разделения ресурсов по требованию и спотовых ресурсов, выбрать типы инстансов для обеспечения работы приложений, а также задать в EC2 Auto Scaling приоритеты для распределения ресурсов группы Auto Scaling в рамках каждой модели приобретения.

Вопрос. Можно ли использовать ASG для запуска и управления только спотовыми инстансами или только инстансами по требованию и зарезервированными инстансами?

Да. ASG можно настроить таким образом, чтобы все ресурсы были только спотовыми инстансами или же только инстансами по требованию и зарезервированными инстансами.

Вопрос. Можно ли использовать инстансы по требованию и зарезервированные инстансы в качестве базовых ресурсов и масштабировать ASG с помощью спотовых инстансов?

Да. При настройке ASG с учетом комбинирования моделей приобретения можно задать, чтобы в качестве базовых ресурсов группы использовались инстансы по требованию. В ходе масштабирования ASG сервис EC2 Auto Scaling будет обеспечивать наполнение базовых ресурсов инстансами по требованию, а всех остальных ресурсов – спотовыми инстансами или указанным процентным соотношением инстансов по требованию и спотовых инстансов.

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

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

Вопрос. Можно ли воспользоваться скидками на зарезервированные инстансы с инстансами по требованию в ASG?

Да. Например, если у вас есть зарезервированные инстансы C4 и EC2 Auto Scaling запускает инстанс C4, инстансы по требованию будут предоставлены согласно расценкам на зарезервированные инстансы.

Вопрос. Можно ли задавать инстансы различных размеров (отличающихся по количеству ядер ЦП, объему памяти) в группе Auto Scaling?

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

Вопрос. Что, если необходимые типы инстансов будут отсутствовать в зоне доступности?

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

Цены

Вопрос. Сколько стоит использование Amazon EC2 Auto Scaling?

Управление группой инстансов EC2 посредством Amazon EC2 Auto Scaling доступно без дополнительной платы. Динамическое масштабирование Amazon EC2 Auto Scaling осуществляется сервисом Amazon CloudWatch и также доступно без дополнительной платы. Инстансы Amazon EC2 и работа сервиса Amazon CloudWatch оплачиваются отдельно по соответствующим тарифам.

Подробнее о ценах на Amazon EC2 Auto Scaling

Перейти на страницу цен
Готовы начать?
Регистрация
Есть вопросы?
Свяжитесь с нами