Мгновенные запросы к AWS с помощью SQL в CloudShell

AWS CloudShell позволяет легко настроить терминал прямо в вашей учетной записи AWS. CloudShell поставляется с предустановленным AWS CLI и вашими учетными данными в соответствующей учетной записи. Поскольку CloudShell – это такой же терминал, как и любой другой, у вас есть возможность загружать другие инструменты без необходимости запуска экземпляра. Я лично считаю CloudShell полезным для специальных действий, которые мне нужно выполнить в AWS CLI или с другими инструментами с открытым исходным кодом.

Как руководитель нашего инструмента с открытым исходным кодом Steampipe.io, я активно использую Steampipe CLI, часто запуская Steampipe на своей локальной машине для выполнения агрегированных запросов и отчетов в многоаккаунтной среде AWS и других облачных аккаунтах. Когда я работаю с клиентами в их учетных записях AWS, мне проще работать в структуре их учетных записей, чем создавать локальный профиль. В этом случае я нахожу AWS CloudShell быстрой победой для того, чтобы быть гостем в другой учетной записи для загрузки моих инструментов во временной среде под их контролем.

В этом посте мы рассмотрим, как установить Steampipe в AWS CloudShell.

Общие сведения о Steampipe

С помощью Steampipe вы можете мгновенно запрашивать API AWS с помощью SQL прямо в терминале.

select
  title,
  create_date,
  mfa_enabled
from
  aws_iam_user

+-----------------+---------------------+-------------+
| title           | create_date         | mfa_enabled |
+-----------------+---------------------+-------------+
| pam_beesly      | 2005-03-24 21:30:00 | false       |
| creed_bratton   | 2005-03-24 21:30:00 | true        |
| stanley_hudson  | 2005-03-24 21:30:00 | false       |
| michael_scott   | 2005-03-24 21:30:00 | false       |
| dwight_schrute  | 2005-03-24 21:30:00 | true        |
+-----------------+---------------------+-------------+
Вход в полноэкранный режим Выход из полноэкранного режима

Установка самого Steampipe, а также плагина AWS, который отображает вызовы AWS API в таблицы Postgres, занимает всего несколько секунд.

Steampipe разрешит ваш регион и учетные данные, используя тот же механизм, что и AWS CLI (переменные окружения AWS, профиль по умолчанию и т.д.). Примечание: можно расширить возможности для запроса нескольких учетных записей, регионов, настройки учетных данных из профилей AWS, SSO, aws-vault и т.д.

AWS CloudShell + Steampipe

В качестве альтернативы вы можете использовать CloudShell для установки Steampipe непосредственно в вашем аккаунте AWS. С CloudShell ваши учетные данные, которые вы используете для входа в консоль AWS, уже переданы в CloudShell. Поскольку Steampipe по умолчанию будет использовать ваши локальные учетные данные AWS, с самого начала работы вы будете запрашивать API AWS с помощью SQL за считанные секунды.

Установка Steampipe в CloudShell

Зайдите в свой AWS CloudShell, установите Steampipe:

$ sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)"
...
Installing
Applying necessary permissions
Steampipe was installed successfully to /usr/local/bin/steampipe
Войдите в полноэкранный режим Выйти из полноэкранного режима

Установите плагин AWS

Теперь, когда Steampipe установлен, вы можете установить плагин AWS:

$ steampipe plugin install aws

Installed plugin: aws v0.57.0
Documentation:    https://hub.steampipe.io/plugins/turbot/aws
Войти в полноэкранный режим Выйти из полноэкранного режима

Запустите SQL-запрос!

Теперь вы готовы выполнить SQL-запрос. Поскольку CloudShell уже имеет учетные данные, вы можете просто начать:

$ steampipe query
Welcome to Steampipe v0.13.6
For more information, type .help
> select * from aws_s3_bucket
+--------------------------------------+
| name                                 |
+--------------------------------------+
| jon-turbot-test-bucket-01            |
| cf-templates-1s5tzrjxv4j52-us-west-1 |
+--------------------------------------+
Войти в полноэкранный режим Выход из полноэкранного режима

CloudShell использует все преимущества компонентов Steampipe CLI, поэтому вы можете просматривать таблицы, настраивать переменные окружения, визуализировать подсветку синтаксиса, выбирать предложения автозаполнения и т.д.

Заключительные мысли

Мне нравится использовать AWS CloudShell для специальных действий с AWS CLI и Steampipe в рамках конкретного аккаунта AWS. Интересно узнать от других, как вы используете CloudShell в своей среде; каковы ваши случаи использования и как часто вы используете CloudShell?

Оцените статью
Procodings.ru
Добавить комментарий