Запрос журналов S3 с помощью Athena
Разберитесь, как бессерверный SQL выполняет поиск в журналах без базы данных.
«Запрос журналов S3 с помощью Athena» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.
Что такое Amazon Athena
Amazon Athena — это бессерверный интерактивный сервис запросов, который выполняет стандартный SQL непосредственно над данными, хранящимися в Amazon S3. Вам не нужно создавать или обслуживать базу данных: укажите Athena на данные в S3, определите схему и выполняйте запросы. Поэтому сервис отлично подходит для анализа огромных журналов, создаваемых AWS.
Бессерверная работа и оплата за запрос
Athena — бессерверный сервис, а плата взимается за каждый запрос в зависимости от объема просканированных данных. Когда запросы не выполняются, плата за простой отсутствует. Такая модель оплаты поощряет эффективные запросы и хорошо организованные данные: сканирование меньшего объема выполняется быстрее и обходится дешевле. Эта закономерность постоянно повторяется при работе с Athena.
Почему Athena подходит для журналов безопасности
Системы безопасности создают огромные объемы журналов: CloudTrail, журналы потоков VPC, журналы доступа ALB и другие, которые сохраняются в S3. Athena позволяет исследовать их с помощью привычного SQL вместо создания конвейера обработки данных. Во время инцидента вы можете за считанные минуты искать сведения за несколько месяцев среди миллиардов записей — именно это требуется при расследованиях.
Схема при чтении
Athena использует подход «схема при чтении»: вы определяете схему TABLE, описывающую интерпретацию файлов в S3, а схема применяется во время выполнения запроса, а не при сохранении данных. Исходные журналы никогда не изменяются. Поэтому поверх одних и тех же нетронутых журналов можно в любой момент создавать новые таблицы и представления.
Роль каталога данных
Athena считывает определения таблиц из AWS Glue Data Catalog — централизованного хранилища метаданных. Таблица сопоставляет местоположение в S3 и формат данных со столбцами и их типами. После добавления в каталог таблица становится доступной Athena и другим аналитическим сервисам, обеспечивая единое общее описание ваших журнальных данных.
Поддерживаемые форматы
Athena выполняет запросы к данным во многих форматах: JSON, CSV, Apache Parquet, ORC и Avro. Журналы CloudTrail представлены в формате JSON, а журналы потоков — в виде текста с разделением пробелами. Столбцовые форматы, такие как Parquet, намного эффективнее: Athena считывает только нужные запросу столбцы, сканируя меньше данных и снижая стоимость.
Выполнение запроса
Вы выполняете запросы в консоли Athena, через API или CLI, а результаты записываются в местоположение результатов запроса в S3. Простой запрос для расследования может подсчитать неудачные входы в консоль по пользователям. Athena возвращает результаты за секунды или минуты в зависимости от объема данных, и инфраструктуру не нужно обслуживать.
SELECT useridentity.username, COUNT(*) AS attempts
FROM cloudtrail_logs
WHERE eventname = 'ConsoleLogin'
AND errormessage = 'Failed authentication'
GROUP BY useridentity.usernameЗащита доступа к Athena
Доступ к Athena регулируется политиками IAM, и запросы могут читать только те данные S3, к которым вызывающая сторона имеет разрешение. Также следует шифровать местоположение результатов запросов, поскольку результаты могут содержать конфиденциальные сведения из журналов. Рабочие группы позволяют разделять команды, принудительно включать шифрование результатов и устанавливать ограничения на объем данных, сканируемых одним запросом.
Федеративные запросы
Помимо S3, федеративные запросы Athena могут обращаться к другим источникам данных, например DynamoDB или RDS, через соединители. Хотя анализ журналов безопасности обычно выполняется для данных в S3, федерация позволяет объединять журнальные данные со справочной информацией, например с инвентаризацией ресурсов, чтобы дополнить расследование, не перенося предварительно все данные в S3.
Рабочие группы для управления
Рабочие группы изолируют запросы, результаты и настройки разных команд. Рабочая группа может принудительно задать зашифрованное местоположение результатов, указать отдельную корзину для результатов запросов и ограничить количество байт, которое может просканировать один запрос. Это одновременно сдерживает расходы и отделяет конфиденциальные результаты расследований одной команды от результатов другой.
Когда стоит использовать Athena
Используйте Athena, когда нужно выполнять специальный анализ больших объемов исторических журналов, особенно CloudTrail и журналов потоков в S3. Для оповещений в реальном времени по-прежнему применяйте CloudWatch и GuardDuty; Athena — это инструмент глубокого анализа и подготовки отчетов по огромным наборам данных уже после события.
Быстрая проверка
Проверьте свои базовые знания об Athena.
Итоги
Amazon Athena выполняет SQL непосредственно над данными S3, работает бессерверно, а стоимость зависит от объема просканированных данных. Сервис использует схему при чтении с определениями таблиц в Glue Data Catalog и поддерживает такие форматы, как JSON, а также эффективный Parquet. Защищайте его с помощью IAM, зашифрованных местоположений результатов и рабочих групп. Это основной инструмент для глубокого анализа CloudTrail и журналов потоков после произошедших событий.
Часто задаваемые вопросы
Урок «Запрос журналов S3 с помощью Athena» бесплатный?
Да — полный текст урока «Запрос журналов S3 с помощью Athena» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Запрос журналов S3 с помощью Athena»?
Разберитесь, как бессерверный SQL выполняет поиск в журналах без базы данных. Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AWS Security Academy?
Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Запрос журналов S3 с помощью Athena»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AWS Security Academy?
Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Запрос журналов S3 с помощью Athena
- Создание таблиц на основе данных CloudTrail
- Расследование инцидентов с помощью запросов SQL
- Секционирование журналов для ускорения и снижения стоимости