Amazon SOA-C02: Вычислительные ресурсы и автоматическое масштабирование — Руководство по подготовке

Часть AWS SysOps Administrator Associate SOA-C02 — Руководство по подготовке. Практикуйтесь с проверенными ответами в центре экзаменов Amazon, или пройдите тесты на время на ExamRoll.io.

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

Жизненный цикл и управление инстансами EC2

Управление жизненным циклом EC2 начинается с настройки конфигурации запуска: используйте шаблоны запуска (Launch Templates) (

undefined

/ консоль), чтобы определить AMI, тип инстанса, профиль инстанса IAM, user-data, сетевые интерфейсы, сопоставление EBS и параметры метаданных; шаблоны поддерживают версионирование, что упрощает неизменяемые (immutable) развертывания. Неизменяемые развертывания используют новую версию шаблона запуска (или новый шаблон запуска) и либо создают новую группу Auto Scaling, либо используют обновление инстансов ASG для замены инстансов; избегайте обновлений на работающих инстансах, когда изменения затрагивают поведение при загрузке или патчи на уровне AMI.

Операционные шаблоны использования CLI/консоли включают

undefined

для единичных запусков и

undefined

для запусков под управлением ASG. Выбирайте между подготовкой AMI («baking») (с помощью Packer/CodeBuild) и стартовыми скриптами user-data в зависимости от времени загрузки: включайте («запекайте») тяжелые зависимости в AMI, чтобы сократить время загрузки; используйте user-data для настроек, специфичных для окружения. Для эфемерного хранилища помните, что тома instance store теряются при завершении работы инстанса; настройте корневые тома и тома с данными с параметром

undefined

, если вам требуется сохранение томов EBS после завершения работы инстанса.

Группы Auto Scaling, политики и хуки жизненного цикла

Группы Auto Scaling (ASG) настраиваются с помощью шаблона запуска или конфигурации запуска и контролируют желаемую/минимальную/максимальную емкость в нескольких Зонах доступности. Выбирайте шаблон запуска +

undefined

для оптимизированных по стоимости флотов, которые сочетают инстансы On-Demand и Spot со списком типов инстансов; используйте взвешивание инстансов (instance weighting) и стратегии распределения, оптимизированные по емкости (capacity-optimized), для предсказуемой емкости. Для развертываний предпочитайте неизменяемые шаблоны: создайте новую версию шаблона запуска и выполните обновление инстансов ASG (instance refresh) или развертывание по схеме «синий/зеленый» (blue/green) вместо перенастройки существующих инстансов.

Политики масштабирования выражаются как:

undefined

): установите предопределенную метрику, такую как ALB RequestCountPerTarget или средняя загрузка CPU в ASG, и целевое значение; ASG автоматически выполняет корректировки.

undefined

): определите алармы CloudWatch, которые запускают определенные шаги корректировки (например, +2, +4) в зависимости от серьезности нарушения; полезно для нагрузок с резкими всплесками.

Используйте хуки жизненного цикла (lifecycle hooks) (

undefined

), чтобы приостановить запуск или завершение инстанса. Хуки жизненного цикла позволяют вам завершить текущие соединения, реплицировать состояние (в S3/RDS) или уведомить системы оркестрации через SNS/SQS/Lambda перед завершением; всегда устанавливайте

undefined

и действие по умолчанию, чтобы избежать «зависших» состояний.

Типы Elastic Load Balancing и проверки работоспособности

Выбирайте тип балансировщика нагрузки в зависимости от характера трафика: Application Load Balancer (ALB) для трафика HTTP/HTTPS с маршрутизацией на основе содержимого и правил по хосту/пути; Network Load Balancer (NLB) для экстремальной производительности и статических IP-адресов для трафика TCP/UDP; Classic Load Balancer (CLB) только для устаревших стеков. Создавайте ALB и целевые группы с помощью

undefined

и

undefined

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

Интеграция проверок работоспособности требует согласования проверок ASG и ELB: установите

undefined

для ASG в

undefined

(

undefined

), чтобы инстанс считался работоспособным только после того, как балансировщик нагрузки пометит его целевой объект как работоспособный. Типы проверок работоспособности и их последствия:

undefined

дайте новым инстансам время на загрузку, выполнение user-data и прохождение проверок на уровне приложения.

Последствия использования «прилипания» сессий (stickiness): «прилипание» в целевой группе ALB использует привязку на основе cookie приложения (на основе длительности), что может улучшить аффинность сессий, но ухудшает равномерность распределения и усложняет плавающие обновления (rolling updates). NLB поддерживает аффинность по IP-адресу клиента; используйте «прилипание» только тогда, когда состояние сессии невозможно вынести во внешнее хранилище.

Размещение экземпляров, планирование ёмкости и метрики масштабирования

Решения о размещении влияют на задержку и домены отказа: группы размещения (placement groups) предлагают стратегии cluster (сеть с низкой задержкой), spread (один экземпляр на стойку для критически важных экземпляров) и partition (изолированные от сбоев разделы). ASG по умолчанию распределяют экземпляры между зонами доступности (AZ); предпочитайте планирование ёмкости с учётом AZ, чтобы избежать перегрузки одной зоны. Для CLI: aws ec2 create-placement-group –strategy cluster|spread|partition.

Планирование ёмкости учитывает типы экземпляров, варианты закупки и метрики:

Восстановление экземпляров, поведение при завершении и обслуживание

Планируйте сбои и обслуживание экземпляров, включив автоматическое восстановление при аппаратных проблемах (сигнал CloudWatch с действием EC2 Recover) и обрабатывая запланированные события (describe-instance-status). Настройте флаги instance-initiated-shutdown-behavior и EBS DeleteOnTermination для управления жизненным циклом томов; для настройки используйте aws ec2 modify-instance-attribute –instance-id i-xxx –block-device-mappings.

Поведение при завершении в ASG: политики завершения (termination policies) ASG решают, какой экземпляр завершить первым (по умолчанию: самый старый шаблон запуска или эвристики на основе состояния экземпляра и балансировки по AZ). Важные операционные детали:

Распространённые ошибки и критерии принятия решений

Практическая задача: Сценарий использования

Компания StreamingCo управляет API для создания миниатюр видео, который испытывает ежедневные всплески трафика и использует локальные дисковые кэши на экземплярах EC2; в последнее время горизонтальное масштабирование происходит медленно, а завершённые экземпляры теряют кэш, что приводит к увеличению времени ответа.

  1. Перенесите конфигурацию запуска (launch configuration) в шаблон запуска (Launch Template) и создайте легковесный AMI с зависимостями времени выполнения; используйте aws ec2 create-launch-template и версионирование для неизменяемых (immutable) развёртываний.
  2. Настройте ASG с MixedInstancesPolicy, в которой перечислены несколько типов экземпляров и распределение Spot + On-Demand для балансировки затрат и ёмкости.
  3. Подключите ALB и используйте TargetTrackingScaling по метрике ALB RequestCountPerTarget, установив HealthCheckGracePeriod равным времени начальной загрузки приложения.
  4. Реализуйте хуки жизненного цикла (lifecycle hooks) при завершении экземпляров в ASG для отвода соединений и запуска потока Lambda/SNS для сохранения необходимых ключей кэша в ElastiCache или S3 перед завершением.
  5. Вынесите состояние сессий и кэша во внешние сервисы, такие как ElastiCache или S3, и используйте группы размещения/распределение по AZ для соответствия требованиям к задержке и доменам отказа.

Обоснование: Использование шаблонов запуска и неизменяемых развёртываний снижает вариативность времени загрузки; целевое отслеживание, ориентированное на ALB, привязывает масштабирование к нагрузке по запросам, а не к CPU; хуки жизненного цикла предотвращают потерю данных при завершении; вынос кэша вовне устраняет зависимость от эфемерного локального состояния, обеспечивая быстрое, безопасное масштабирование и снижение затрат за счёт смешанных стратегий выбора экземпляров/закупки.


Хранение и управление данными · Все домены · Базы данных и кэширование

Отработать эти вопросы → · Тесты на время на ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Сдайте экзамен →

Просмотреть Amazon →

Related guides

Все включено

Одна подписка. Каждый экзамен.

Каждый план открывает неограниченный поиск ответов, практические тесты, объяснения AI и полную библиотеку ресурсов — на более чем 20 языках.

Ежемесячно
24.87
Just €0.83/day
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

Лучшая цена
12 месяцев
179.87
Just €0.49/daySave 40%
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

✓ Включен бесплатный план · ✓ Отмена в любое время · ✓ Все планы открывают полный продукт