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

Вопрос: Что такое 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 стоит использовать в том случае, если для формирования плана масштабирования приложения требуются более подробные инструкции, а также для масштабирования нескольких ресурсов, а не только сервиса EC2, например таблиц и индексов Amazon DynamoDB или заданий Amazon ECS. На данный момент для использования AWS Auto Scaling требуется создавать приложения с помощью AWS CloudFormation или AWS Elastic Beanstalk. AWS Auto Scaling помогает управлять всеми политиками масштабирования приложения из единого центра, что делает процесс настройки простым и понятным.

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

Вопрос: В чем заключаются преимущества 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 будут добавляться в группу Auto Scaling с некоторым шагом, когда средняя нагрузка на используемые ресурсы Amazon EC2 станет достаточно высокой; или можно задать условие, при котором инстансы будут удаляться с определенным шагом, когда нагрузка на ЦПУ окажется низкой. Дополнительно можно использовать сервис Amazon CloudWatch для отправки оповещений, активирующих действия по масштабированию, и сервис Elastic Load Balancing (ELB) для распределения трафика инстансов, входящих в состав групп Amazon EC2 Auto Scaling. Если в приложении наблюдаются предсказуемые изменения нагрузки, 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 в группе EC2 Auto Scaling для достижения установленного целевого значения. Эта возможность работает как термостат, который автоматически подстраивает параметры системы отопления для поддержания заданной температуры в помещении. Например, вы настроили функцию отслеживания целевых значений на поддержание загрузки ЦПУ группы веб-серверов на уровне 50 %. Далее Amazon EC2 Auto Scaling будет запускать или останавливать инстансы EC2 при необходимости для достижения средней загрузки ЦПУ на уровне 50 %.

Вопрос: Что такое группа EC2 Auto Scaling?

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

Вопрос: Что происходит с инстансами Amazon EC2 при удалении группы EC2 Auto Scaling?

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

Вопрос: Как узнать, когда 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 инстанса, и причина завершения его работы.

Дополнительную информацию см. в разделе Getting SNS Notifications when your EC2 Auto Scaling Group Scales.

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

Конфигурация запуска – это шаблон, используемый группой EC2 Auto Scaling для запуска инстансов EC2. При создании конфигурации запуска указывается информация для инстансов, например ID образа машины Amazon (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 в одной группе EC2 Auto Scaling?

Группы EC2 Auto Scaling оптимизированы для сценариев, в которых используются инстансы одинакового типа. Для закрепления инстансов других типов за группой Auto Scaling можно использовать API AttachInstances, а также можно обновить конфигурацию запуска, чтобы новые инстансы в группе запускались с другим типом инстанса. Однако это никак не повлияет на уже запущенные инстансы.

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

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

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

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

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

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

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

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

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

Процедуры жизненного цикла позволяют исполнить определенное действие перед отправкой инстанса на обслуживание или перед его остановом. Они могут особенно пригодиться в случае, если среда ПО не встроена в образ машины Amazon (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.

Вопрос: Мои инстансы EC2 создаются с помощью скриптов Ansible. Как можно использовать Ansible с возможностью Amazon EC2 Auto Scaling?

Сведения об использовании Ansible с Auto Scaling можно найти на веб-сайте Ansible.

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

Вопрос: Как 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.

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

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

Цены

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

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

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

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