Выполняйте SQL-подобные запросы и получайте полную инвентаризацию ресурсов AWS из всех учетных записей и регионов.

В этой статье я объясню, как использовать AWS Config для полной инвентаризации ресурсов во всех учетных записях и регионах из централизованной точки, где я могу выполнять SQL-запросы для их фильтрации.

Запуск SQL-запросов с помощью Config

Со страницы продукта AWS:

AWS Config — это сервис, который позволяет вам оценивать, проверять и анализировать конфигурации ваших ресурсов AWS.

Config — это служба, обычно используемая для аудита конфигурации ваших ресурсов AWS и поиска/исправления пробелов в конфигурации. Он обычно используется для управления и безопасности, чтобы контролировать соответствие ресурсов и сравнивать его с желаемым состоянием.

Сервис хранит и поддерживает инвентаризацию всех ресурсов AWS, а также имеет интересную функциональность, называемую расширенными запросами, которая позволяет нам выполнять SQL-запросы к инвентаризованным ресурсам.

Как мы обычно проводим инвентаризацию?

Когда у вас настроено несколько аккаунтов, инвентарь становится очень важным, особенно если в вашей компании более 10 аккаунтов. Инвентаризация может решить такие вопросы:

  • Сколько экземпляров у вас запущено?
  • С каким экземпляром связан IP-адрес 10.10.10.10?
  • Сколько активных таблиц DynamoDB есть в компании?

Если у вас его нет, вам придется пройти через каждую учетную запись AWS, или, если вы опытный программист, возможно, вы создадите для этого скрипт. Обе они являются утомительными задачами, которые можно решить с помощью простого запроса.

В лучшем случае вы создали решение, которое создает и управляет инвентарем, но в любом случае это еще одна система, о которой нужно заботиться и поддерживать, и, как мы все знаем, нам не нужен еще один кусочек головоломки.

Централизованный инвентарь

В AWS Config есть способ централизовать все ресурсы в одной учетной записи, эта функция называется «Агрегаторы». Агрегатор будет отвечать за сбор данных из учетных записей и централизацию их в управленческой учетной записи. Учетная запись управления назначается администратором, и это может быть любая выбранная вами учетная запись.

Существует 2 разных способа настройки агрегатора: с использованием AWS Organizations или без него.

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

В организациях вам просто нужно создать роль, чтобы предоставить доступ из учетной записи управления к организации, и разрешения будут управляться службой организации, нет необходимости настраивать разрешение для каждой учетной записи.

При настройке агрегатора вы можете выбрать регионы, которые хотите охватить, а также включить все будущие регионы, которые AWS запустит.

Запуск запросов к инвентарю

Перейдя к расширенным запросам в консоли Config, вы увидите более 6 страниц предопределенных запросов, готовых к использованию одним щелчком мыши.

Эти запросы были созданы AWS и включают множество примеров того, что вы можете с ними делать, и, в свою очередь, служат основой для создания пользовательских запросов.

Давайте посмотрим пример. В приведенном ниже коде вы увидите запрос для получения всех запущенных экземпляров EC2. Если вы видите код, это обычный запрос SQL.

В левой части консоли вы можете увидеть область запроса. По сути, он определяет, откуда служба должна брать данные для обработки запроса. Если вы настроили агрегатор, вы увидите его в раскрывающемся меню.

Администраторы очень часто используют одни и те же запросы снова и снова, особенно для устранения неполадок или поиска ресурсов, в которых они не знают, в какой учетной записи они находятся. Кроме того, специалисты по безопасности используют его для выявления уязвимых ресурсов на основе конфигурации. У него много приложений, варианты использования зависят от вас, а предела нет.

Ограничения

Поскольку язык SQL, используемый в службе, является подмножеством SQL SELECT, он не поддерживает все функциональные возможности, которые вы ожидаете от обычного механизма запросов SQL.

Например, он не может работать с ключевыми словами JOIN и UNION. У него есть и другие ограничения, чтобы проверить их все вижу это.

Где я могу узнать больше?

В последние месяцы я прошел пару тренингов в учебной академии TheLinuxFoundation, и могу вам сказать, что у них очень хорошие курсы и тренинги, особенно для получения сертификатов.

Взгляните на Полный каталог, вы найдете множество курсов от DevOps до Blockchain, и они были подготовлены некоторыми лидерами технологической отрасли.

Заключительное слово

Это краткое руководство должно помочь вам начать работу с расширенными запросами AWS Config, и оно охватывает основы, чтобы начать использовать его в качестве мультирегионального инвентаря с несколькими учетными записями.

Спасибо за прочтение.