Amazon SAP-C02: Развертывание, автоматизация и DevOps — Руководство по подготовке

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

Инфраструктура как код и управление средами

Рассматривайте инфраструктуру как код (IaC) как единственный источник истины для окружений, встраивая сети, IAM и топологию приложений в повторно используемые, версионируемые артефакты. Выбирайте CloudFormation для строгого, декларативного контроля и глубокой интеграции с AWS, и используйте AWS Cloud Development Kit (CDK), когда высокоуровневые конструкции и нативные для языка абстракции повышают продуктивность разработчиков; всегда заставляйте CI синтезировать CDK в шаблоны и хранить артефакты в зашифрованном и версионируемом бакете S3. Используйте CloudFormation StackSets для согласованного создания стеков в разных аккаунтах и регионах и включайте обнаружение дрейфа (drift detection) в сочетании с автоматическим исправлением через Systems Manager, когда дрейф указывает на энтропию конфигурации. Создавайте «золотые образы» с помощью EC2 Image Builder или Packer и публикуйте AMI в аккаунты и регионы через автоматизированные пайплайны; это поддерживает неизменяемые (immutable) развертывания и уменьшает дрейф конфигурации после запуска. Осознанно используйте наборы изменений (change sets) CloudFormation, защиту от удаления (termination protection) и политики обновления (update policies), чтобы избежать непреднамеренной замены ресурсов, которая может привести к потере данных. Распространенные ошибки включают встраивание секретов в шаблоны, бессистемные изменения вручную, которые нарушают обнаружение дрейфа, или предоставление слишком широких ролей выполнения CloudFormation — ограничивайте роли выполнения принципом минимальных привилегий и сохраняйте историю CloudTrail и Config для возможности аудита. Компромиссы очевидны: CDK ускоряет разработку, но требует дисциплинированного CI/CD, чтобы избежать несинхронизированных стеков времени выполнения; «чистый» CloudFormation более строгий, но сразу поддается аудиту.

Пайплайны CI/CD и стратегии развертывания

Проектируйте пайплайны, которые разделяют этапы сборки, тестирования и развертывания и принимают решения об откате автоматически. AWS CodePipeline, CodeBuild и CodeDeploy предоставляют полностью управляемый путь для процессов от исходного кода до продакшена, в то время как сторонние системы (GitHub Actions, Jenkins, GitLab) интегрируются с сервисами AWS для хранения артефактов (S3), реестров контейнеров (ECR) и хуков развертывания. Для стратегий развертывания во время выполнения отдавайте предпочтение неизменяемым (immutable) или сине-зеленым (blue/green) развертываниям для сервисов с состоянием или сессиями, чтобы исключить дрейф конфигурации на месте; используйте канареечные (canary) развертывания с переключением трафика для постепенного снижения рисков. Для Lambda используйте псевдонимы (aliases) и взвешенное переключение трафика с помощью CloudWatch alarms или CodeDeploy для автоматического отката. Для ECS/EKS комбинируйте контроллеры развертывания (CodeDeploy, AWS App Mesh или нативные стратегии Kubernetes) с осушением целевых групп (target group draining) ALB и хуками жизненного цикла (lifecycle hooks) для обеспечения корректного завершения работы. Следите за изменениями схемы базы данных: проектируйте обратно совместимые миграции и используйте флаги функций (feature flags) с помощью AWS AppConfig или «темные запуски» (dark launches), чтобы отделить выкатку кода от эволюции схемы. Важно учитывать соотношение стоимости и скорости: канареечные развертывания замедляют выкатку, но минимизируют «радиус поражения», в то время как параллельное сине-зеленое развертывание удваивает стоимость инфраструктуры в течение окна переключения. Всегда встраивайте политики развертывания, проверки работоспособности и автоматические откаты в пайплайны, чтобы избежать ручного вмешательства во время инцидентов.

Автоматизация, соответствие конфигураций и наблюдаемость

Операционное совершенство зависит от автоматизированного исправления, согласованной конфигурации и целостной наблюдаемости (observability). AWS Systems Manager предоставляет Parameter Store для конфигураций, документы Automation для сценариев выполнения (runbooks), Patch Manager для поддержания базовых версий и Session Manager для устранения неполадок без бастионных хостов. Используйте EventBridge как центральную шину событий для слабосвязанной автоматизации — направляйте события CloudTrail, Config или приложений в Lambda или Step Functions для оркестрованного исправления. Применяйте защитные барьеры (guardrails) с помощью правил AWS Config и Config Aggregator для аудита нескольких аккаунтов и реализуйте автоматизированные сценарии исправления (playbooks) через Systems Manager или EventBridge для несоответствующих ресурсов. Для наблюдаемости инструментируйте сервисы метриками и логами CloudWatch, включайте X-Ray или AWS Distro for OpenTelemetry для распределенной трассировки и централизуйте логи с помощью подписок CloudWatch Logs или Kinesis Firehose в централизованное озеро данных на S3 и стек аналитики. Распространенные ошибки включают неограниченное хранение логов, которое раздувает затраты, пользовательские метрики с высокой кардинальностью, которые приводят к взрывному росту стоимости метрик, отсутствие идентификаторов корреляции, делающее трассировки бесполезными, и отказ от тестирования сценариев исправления в непродуктивных средах. Компромиссы вращаются вокруг гранулярности телеметрии в сравнении со стоимостью ее сбора и хранения; выборочная трассировка (семплирование) и короткий срок хранения снижают затраты, но могут скрыть редкие, критические сбои. Проектируйте оповещения и дашборды, нацеленные на сигналы, требующие действий, чтобы поддерживать операционные издержки на управляемом уровне.

Производительность, сервисы с отслеживанием состояния, безопасность и межрегиональные аспекты

Выбирайте сервисы хранения данных и сервисы с отслеживанием состояния в зависимости от шаблона доступа, требований к задержке и согласованности данных. Кэши в памяти обеспечивают чтение с задержкой менее миллисекунды; ElastiCache (Redis) поддерживает упорядоченные наборы, идеально подходящие для таблиц лидеров, и предоставляет репликацию, персистентность и Global Datastore для локальности чтения в разных регионах. DynamoDB отлично подходит для высокомасштабируемого и долговечного хранения данных и может использоваться в паре с DAX для ускорения чтения, хотя DAX лучше всего подходит для кэшируемого доступа на уровне элементов и имеет компромиссы, связанные с итоговой согласованностью (eventual consistency). Для устаревших приложений, работающих с файлами, рассмотрите Amazon FSx for NetApp ONTAP или Amazon EFS с DataSync для совместимости при миграции по принципу lift-and-shift; для семантики SMB/NFS сервис FSx часто является вариантом с наименьшим риском. Шифрование и репликация содержат скрытые ловушки: ключи AWS KMS являются региональными и должны управляться в каждом регионе для межрегиональной репликации S3, либо можно использовать мультирегиональные ключи для упрощения шаблонов доступа; будьте осторожны с политиками ключей и меж-аккаунтными разрешениями. Lambda в VPC страдает от холодных стартов из-за создания ENI — смягчите это с помощью эндпоинтов VPC, уменьшения размера пакетов, provisioned concurrency или использования Lambda вне VPC с RDS Proxy. Сопоставляйте стоимость и отказоустойчивость: Global tables и межрегиональная репликация улучшают RTO/RPO за счет увеличения затрат; provisioned concurrency снижает задержку, но увеличивает базовые расходы. При выборе архитектуры учитывайте требования к долговечности данных, сроки аварийного восстановления (DR) и лимиты ресурсов для каждого аккаунта.

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

Сценарий: SkyForge Games управляет существующей средой AWS с рабочими (production) и тестовыми (staging) аккаунтами в двух регионах. Текущая таблица лидеров реализована в DynamoDB и обслуживается API на базе Lambda, развертываемыми через CodePipeline; игроки ожидают задержку чтения в микросекундах и практически нулевое время простоя во время частых выпусков новых функций.

Задача: Обеспечить чтение таблицы лидеров с микросекундной задержкой, сохраняя при этом долговечность данных, и построить безопасный, автоматизированный CI/CD-конвейер, поддерживающий быстрые развертывания с возможностью отката между аккаунтами и регионами.

Рекомендуемый подход:

  1. Развернуть ElastiCache for Redis в режиме кластера (Cluster Mode Enabled) в основном регионе для «горячего» пути (hot-path) таблицы лидеров, с репликами в разных AZ и включенной персистентностью Redis (AOF); настроить Global Datastore для локальности чтения во вторичном регионе.
  2. Сохранить DynamoDB в качестве источника истины (source of truth); использовать DynamoDB Streams + Lambda (или Kinesis Data Streams) для асинхронного обновления Redis, обеспечивая итоговую согласованность и возможность повторного воспроизведения (replayability) для восстановления.
  3. Реализовать конвейер на основе CDK (CDK Pipelines или CodePipeline, запускаемый по Git), который синтезирует шаблоны, собирает артефакты в зашифрованные S3/ECR и развертывает инфраструктуру через CloudFormation StackSets в целевые аккаунты/регионы; включить автоматизированные дымовые тесты (smoke tests) и этапы утверждения.
  4. Развертывать изменения приложения, используя канареечную (canary) или сине-зеленую (blue-green) стратегию: использовать взвешенные псевдонимы Lambda или переключение целевых групп ALB с помощью CloudWatch alarms и автоматического отката; инструментировать с помощью CloudWatch, X-Ray и синтетических канареечных проверок.

Обоснование: Использование Redis обеспечивает чтение с задержкой менее миллисекунды, сохраняя при этом долговечность и возможность повторного воспроизведения данных из DynamoDB; CI/CD с CDK и StackSets обеспечивает согласованные, аудируемые развертывания в нескольких аккаунтах, а переключение трафика в сочетании с наблюдаемостью (observability) позволяет безопасно выполнять итеративные релизы с быстрым откатом.


Оптимизация затрат и управление · Все домены

Отработать эти вопросы → · Тесты на время на 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+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

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

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