Связка CloudTrail → CloudWatch → Elasticsearch на AWS
Быстрые ссылки
Linking CloudTrail and CloudWatch
Linking CloudWatch and Elasticsearch
CloudTrail — сервис AWS для записи событий в аккаунте, в том числе API-вызовов от IAM-пользователей. Он полезен для аудитов безопасности и расследований инцидентов. По умолчанию консоль поиска у CloudTrail ограничена, поэтому часто логично передавать данные в CloudWatch или в Elasticsearch для удобного поиска и визуализации.
Связка CloudTrail и CloudWatch
По умолчанию CloudTrail хранит события за последние 90 дней в учётной записи. Чтобы вести долгосрочный учёт и включить расширенные события (например, записи S3 и вызовы Lambda), создайте Trail — он может хранить логи дольше и отправлять их в S3 и CloudWatch Logs.
- Откройте CloudTrail Management Console и на вкладке «Trails» создайте новый Trail. Выберите регионы и типы событий, которые нужно собирать.

- В разделе Data Events можно включить расширенный мониторинг для конкретных бакетов S3 и функций Lambda. Это увеличит объём данных и расходы, но даст более детальные события.

- После создания Trail можно подключить интеграцию с CloudWatch Logs: откройте созданный Trail, прокрутите до раздела «CloudWatch Logs» и нажмите Configure.

- Укажите имя группы логов. По умолчанию используется:
CloudTrail/DefaultLogGroupГруппа будет создана автоматически, если её нет.

- CloudTrail попросят предоставить права на запись в CloudWatch Logs. Разрешите создание ролей/полномочий, нажав Allow — обычно роль уже подготовлена и остаётся подтвердить доступ.

- После подтверждения в настройках Trail появятся связанная группа логов и IAM роль.

- В CloudWatch появится новая группа логов и поток логов, который начнёт автоматически стримить события.

Важно: CloudWatch начнёт получать только новые события после подключения. Для импорта исторических записей придётся использовать S3 экспорты и собственные ETL-пайплайны.
Связка CloudWatch и Elasticsearch

Elasticsearch (Amazon ES / OpenSearch) — поисковый движок для анализа логов. Часто используется вместе с Kibana для визуализации. При большом потоке CloudTrail аналитика в ES позволяет быстро строить запросы и дашборды.
Если у вас уже развернут Elasticsearch/Opensearch в AWS, подключение из CloudWatch простое:
- В CloudWatch Console выберите нужную группу логов.
- Нажмите “Stream To Amazon Elasticsearch Service”.

- В диалоге выберите ваш ES-кластер и индексную политику (если применимо). После этого события будут поступать в Elasticsearch и станут доступны в Kibana.
Примечание: поток создаёт документы в ES в том виде, в котором их отправляет CloudWatch. При необходимости настройте преобразования (parsing), шаблоны индекса и ротацию индексов для управления затратами и производительностью.
Когда этот подход не подходит
- Большие объёмы логов при включённых Data Events (S3 и Lambda) могут привести к значительным расходам и задержкам индексации.
- Если нужно историческое индексирование прошлых событий — потребуется экспорт из S3 и загрузка в ES отдельной задачей.
- Для строго регламентированных сред (с высокими SLA/PCI/DSS) может потребоваться централизованный SIEM с поддержкой аудита и ретенции.
Альтернативные подходы
- Использовать Kinesis Data Firehose для буферизации и преобразования логов перед отправкой в Elasticsearch.
- Отправлять CloudTrail логи напрямую в S3, затем обрабатывать и индексировать через Logstash или Fluentd.
- Подключить специализированный SIEM (Splunk, Sumologic) вместо Elasticsearch.
Мини‑методология: что сделать шаг за шагом
- Определите объём логов и необходимые типы событий (Management Events vs Data Events).
- Создайте Trail в CloudTrail и укажите S3 + CloudWatch Logs по необходимости.
- Включите интеграцию с CloudWatch Logs и подтвердите IAM-права.
- Создайте поток из CloudWatch в ES или настроьте Firehose/ETL.
- Настройте индексные шаблоны, политики ротации и retention в ES.
- Тестируйте поиск и создайте дашборды в Kibana.
- Мониторьте расходы и оптимизируйте фильтрацию.
Чек-листы по ролям
Администратор AWS:
- Создать Trail и выбрать регионы.
- Настроить S3 бакет для хранения логов.
- Подтвердить права для CloudTrail на запись в CloudWatch.
Инженер DevOps:
- Создать/выбрать группу логов в CloudWatch.
- Настроить поток в Amazon Elasticsearch Service или Firehose.
- Настроить индексные шаблоны и ротацию индексов.
Спец по безопасности:
- Включить необходимые Data Events (по требованию аудита).
- Проверить IAM-политику роли CloudTrail/CloudWatch.
- Настроить оповещения по аномалиям (CloudWatch Alarms, SIEM).
Безопасность и соответствие
Важно: следите за правами доступа к S3, CloudWatch и ES. Убедитесь, что роли имеют минимально необходимые привилегии. Для соответствия требованиям ретенции и шифрования включите серверное шифрование S3 и шифрование на уровне Elasticsearch (если доступно).
Советы по оптимизации затрат
- Включайте Data Events только для тех бакетов/функций, где реально нужен детализированный аудит.
- Настройте ротацию и политики удаления в Elasticsearch, чтобы не индексировать уж слишком старые логи.
- Рассмотрите использование Kinesis Firehose с буферизацией и сжатиями перед ES.
Критерии приёмки
- Появляется группа логов CloudTrail/DefaultLogGroup в CloudWatch.
- Логи CloudTrail поступают в указанный поток CloudWatch.
- События доступны в выбранном индексе Elasticsearch и видны в Kibana.
- IAM‑роль имеет только необходимые привилегии.
Модель принятия решений (Mermaid)
flowchart TD
A[Нужен аудит CloudTrail?] -->|Да| B{Нужно хранить >90 дней?}
B -->|Да| C[Создать Trail и S3]
B -->|Нет| D[Использовать консоль CloudTrail]
C --> E{Нужна быстрая аналитика}
E -->|Да| F[Подключить CloudWatch -> Elasticsearch]
E -->|Нет| G[Оставить в S3, ETL при необходимости]Глоссарий в одну строку
- CloudTrail — сервис аудита событий AWS.
- CloudWatch Logs — сервис сбора и хранения логов с возможностью алёртинга.
- Elasticsearch / Amazon ES — поисковая система для индексирования и анализа логов.
- Data Events — подробные записи операций над объектами (S3, Lambda).
Краткое резюме
- Создайте Trail, включите CloudWatch Logs и выдайте права роли.
- Подключите поток из CloudWatch в Amazon Elasticsearch Service или используйте Firehose.
- Настройте индексацию, ротацию и политику хранения в ES.
Важно: всегда тестируйте на нерабочем окружении и мониторьте расходы и задержки индексации.
Похожие материалы
Троян Herodotus: как он работает и как защититься
Включить новое меню «Пуск» в Windows 11
Панель полей сводной таблицы в Excel — руководство
Включить новое меню «Пуск» в Windows 11
Дубликаты Диспетчера задач в Windows 11 — как исправить