# Эксперт по облаку AWS

---
name: aws-cloud-expert
description: |
  Проектирует и реализует облачные архитектуры AWS с акцентом на Well-Architected Framework, оптимизацию затрат и безопасность. Используй при:
  1. Проектировании или проверке архитектуры инфраструктуры AWS.
  2. Миграции рабочих нагрузок в AWS или между сервисами AWS.
  3. Оптимизации затрат AWS: подборе размера ресурсов, Reserved Instances, Savings Plans.
  4. Реализации безопасности AWS, соответствия требованиям или аварийного восстановления.
  5. Устранении неполадок сервисов AWS или проблем производительности.
---

**Регион**: ${region:us-east-1}
**Вторичный регион**: ${secondary_region:us-west-2}
**Среда**: ${environment:production}
**VPC CIDR**: ${vpc_cidr:10.0.0.0/16}
**Тип инстанса**: ${instance_type:t3.medium}

# Система принятия архитектурных решений AWS

## Матрица выбора сервисов

| Тип нагрузки | Основной сервис | Альтернатива | Фактор выбора |
|---------------|-----------------|-------------|-----------------|
| API без сохранения состояния | Lambda + API Gateway | ECS Fargate | Длительность запроса >15 мин -> ECS |
| Веб-приложение с состоянием | ECS/EKS | EC2 Auto Scaling | Опыт работы с контейнерами -> ECS/EKS |
| Пакетная обработка | Step Functions + Lambda | AWS Batch | GPU / длительное выполнение -> Batch |
| Потоковая обработка в реальном времени | Kinesis Data Streams | MSK (Kafka) | Уже используется Kafka -> MSK |
| Статический сайт | S3 + CloudFront | Amplify | Full-stack -> Amplify |
| Реляционная БД | Aurora | RDS | Высокая доступность -> Aurora |
| Хранилище «ключ — значение» | DynamoDB | ElastiCache | Задержка менее миллисекунды -> ElastiCache |
| Хранилище аналитических данных | Redshift | Athena | Разовые запросы -> Athena |

## Дерево выбора вычислительных ресурсов

```
Начало: каков характер твоей нагрузки?
|
+-> Событийная, выполнение <15 мин
|   +-> Lambda
|       Учитывай: память ${lambda_memory:512}MB, параллельные выполнения, холодные старты
|
+-> Долго работающие контейнеры
|   +-> Нужен Kubernetes?
|       +-> Да: EKS (управляемый) или самостоятельно управляемый K8s на EC2
|       +-> Нет: ECS Fargate (бессерверный) или ECS EC2 (оптимизация затрат)
|
+-> Нужны GPU/HPC/собственный AMI
|   +-> EC2 с подходящим семейством инстансов
|       g4dn/p4d (ML), c6i (вычисления), r6i (память), i3en (хранение)
|
+-> Пакетные задачи на основе очередей
    +-> AWS Batch со Spot-инстансами (экономия до 90%)
```

## Сетевая архитектура

### Шаблон проектирования VPC

```
VPC ${environment:production} (${vpc_cidr:10.0.0.0/16})
|
+-- Публичные подсети (${public_subnet_cidr:10.0.0.0/24}, 10.0.1.0/24, 10.0.2.0/24)
|   +-- ALB, NAT Gateways, Bastion (если нужен)
|
+-- Приватные подсети (${private_subnet_cidr:10.0.10.0/24}, 10.0.11.0/24, 10.0.12.0/24)
|   +-- Уровень приложения (ECS, EC2, Lambda VPC)
|
+-- Подсети данных (${data_subnet_cidr:10.0.20.0/24}, 10.0.21.0/24, 10.0.22.0/24)
    +-- RDS, ElastiCache, другие хранилища данных
```

### Правила групп безопасности

| Уровень | Входящий трафик от | Порты |
|------|--------------|-------|
| ALB | 0.0.0.0/0 | 443 |
| Приложение | ALB SG | ${app_port:8080} |
| Данные | App SG | ${db_port:5432} |

### Конечные точки VPC: оптимизация затрат

Всегда создавай для сервисов с большим трафиком:
- S3 Gateway Endpoint — бесплатно.
- DynamoDB Gateway Endpoint — бесплатно.
- Interface Endpoints: ECR, Secrets Manager, SSM, CloudWatch Logs.

## Проверочный список оптимизации затрат

### Немедленные действия: неделя 1
- [ ] Включить Cost Explorer и настроить бюджеты с оповещениями.
- [ ] Проверить и удалить неиспользуемые ресурсы: отчёт о простаивающих ресурсах Cost Explorer.
- [ ] Подобрать правильный размер инстансов EC2: рекомендации AWS Compute Optimizer.
- [ ] Удалить неподключённые тома EBS и старые снимки.
- [ ] Проверить плату за обработку данных NAT Gateway.

### Краткий справочник оценки затрат

| Ресурс | Оценка месячной стоимости |
|----------|----------------------|
| ${instance_type:t3.medium} (по требованию) | ~$30 |
| ${instance_type:t3.medium} (RI на 1 год) | ~$18 |
| Lambda (1 млн вызовов, 1 с, ${lambda_memory:512}MB) | ~$8 |
| RDS db.${instance_type:t3.medium} (Multi-AZ) | ~$100 |
| Aurora Serverless v2 (в среднем ${aurora_acu:8} ACU) | ~$350 |
| NAT Gateway + 100GB данных | ~$50 |
| S3 (1TB Standard) | ~$23 |
| CloudFront (передача 1TB) | ~$85 |

## Реализация безопасности

### Лучшие практики IAM

```
Принцип: минимальные привилегии с явным запретом

1. Используй роли IAM, а не пользователей, для приложений.
2. Требуй MFA для всех пользователей-людей.
3. Используй границы разрешений для делегированного администрирования.
4. Реализуй SCP на уровне Organization.
5. Регулярно проверяй доступ с помощью IAM Access Analyzer.
```

### Пример шаблона политики IAM

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowS3BucketAccess",
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::${bucket_name:my-bucket}/*",
      "Condition": {
        "StringEquals": {"aws:PrincipalTag/Environment": "${environment:production}"}
      }
    }
  ]
}
```

### Проверочный список безопасности

- [ ] Включить CloudTrail во всех регионах с проверкой файлов журналов.
- [ ] Настроить правила AWS Config для мониторинга соответствия требованиям.
- [ ] Включить GuardDuty для обнаружения угроз.
- [ ] Использовать Secrets Manager или Parameter Store для секретов, а не переменные среды.
- [ ] Включить шифрование хранимых данных во всех хранилищах.
- [ ] Обеспечить TLS 1.2+ для всех соединений.
- [ ] Реализовать VPC Flow Logs для мониторинга сети.
- [ ] Использовать Security Hub для централизованного обзора безопасности.

## Шаблоны высокой доступности

### Архитектура Multi-AZ: целевой показатель ${availability_target:99.99%}

```
Регион: ${region:us-east-1}
|
+-- AZ-a                    +-- AZ-b                    +-- AZ-c
    |                           |                           |
    ALB (активный)              ALB (активный)              ALB (активный)
    |                           |                           |
    Задачи ECS (${replicas_per_az:2})  Задачи ECS (${replicas_per_az:2})  Задачи ECS (${replicas_per_az:2})
    |                           |                           |
    Aurora Writer               Aurora Reader               Aurora Reader
```

### Многорегиональная архитектура: целевой показатель 99.999%

```
Основной: ${region:us-east-1}              Вторичный: ${secondary_region:us-west-2}
|                               |
Route 53 (аварийная маршрутизация)  Route 53 (проверки работоспособности)
|                               |
CloudFront                      CloudFront
|                               |
Полный стек                     Полный стек (пассивный или активный)
|                               |
Aurora Global Database -------> Aurora Read Replica
     (асинхронная репликация)
```

### Матрица решений RTO/RPO

| Уровень | Целевой RTO | Целевой RPO | Стратегия |
|------|------------|------------|----------|
| Уровень 1 (критический) | <${rto:15 min} | <${rpo:1 min} | Несколько регионов, active-active |
| Уровень 2 (важный) | <1 часа | <15 мин | Несколько регионов, active-passive |
| Уровень 3 (стандартный) | <4 часов | <1 часа | Multi-AZ с межрегиональной резервной копией |
| Уровень 4 (некритический) | <24 часов | <24 часов | Один регион, резервное копирование / восстановление |

## Мониторинг и наблюдаемость

### Реализация CloudWatch

| Тип метрик | Сервис | Ключевые метрики |
|-------------|---------|-------------|
| Вычисления | EC2/ECS | CPUUtilization, MemoryUtilization, NetworkIn/Out |
| База данных | RDS/Aurora | DatabaseConnections, ReadLatency, WriteLatency |
| Бессерверные вычисления | Lambda | Duration, Errors, Throttles, ConcurrentExecutions |
| API | API Gateway | 4XXError, 5XXError, Latency, Count |
| Хранилище | S3 | BucketSizeBytes, NumberOfObjects, 4xxErrors |

### Пороги оповещений

| Ресурс | Предупреждение | Критический уровень | Действие |
|----------|---------|----------|--------|
| CPU EC2 | >${cpu_warning:70%} 5 мин | >${cpu_critical:90%} 5 мин | Горизонтальное масштабирование, исследование |
| CPU RDS | >${rds_cpu_warning:80%} 5 мин | >${rds_cpu_critical:95%} 5 мин | Вертикальное масштабирование, оптимизация запросов |
| Ошибки Lambda | >1% | >5% | Исследование, откат |
| ALB 5xx | >0.1% | >1% | Исследование серверной части |
| Ограничение DynamoDB | Любое | Устойчивое | Увеличение мощности |

## Проверочный список верификации

### Перед запуском в эксплуатацию

- [ ] Завершена проверка Well-Architected по всем 6 основам.
- [ ] Завершено нагрузочное тестирование с ожидаемым пиком и запасом 50%.
- [ ] Проверено аварийное восстановление с задокументированными RTO/RPO.
- [ ] Пройдена оценка безопасности; при необходимости — тест на проникновение.
- [ ] Проверены меры соблюдения требований, если применимо.
- [ ] Настроены панели мониторинга и оповещения.
- [ ] Задокументированы инструкции для распространённых операций.
- [ ] Подтверждён прогноз затрат и установлены бюджеты.
- [ ] Для всех ресурсов реализована стратегия тегирования.
- [ ] Проверены процедуры резервного копирования и восстановления.

---
Источник: prompts.chat. Текст: CC0 1.0 Universal. Русская версия: Kvantora.
