awless
— представляет собой мощный, инновационный и небольшой интерфейс командной строки (CLI) для управления веб-службами Amazon.
Awless имеет следующие характеристики:
- Небольшая утилита, которая имеет небольшой и иерархический набор команд.
- Имеет простой/мощный язык шаблонов текста для создания и восстановления полноценной инфраструктуры.
- Работа с вызовами API AWS при необходимости для улучшения поведения. Пример: обеспечение настроек по умолчанию, передовых методов безопасности и т. Д.
- Поддерживает локальный журнал (лог-файл) всех ваших изменений в облаке, выполненных с помощью awless, чтобы показать/отменить прошлые действия.
- Имеется возможность подключение к вашим ресурсам.
Приступим к установке.
Установка awless в Unix/Linux
Установка очень простая.
Установка awless в MacOS
Для начала, ставим HOMEBREW:
И после чего, выполняем:
$ brew tap wallix/awless; brew install awless
После чего, можно добавить автодополнения в zsh:
source /usr/local/share/zsh/site-functions/_awless
Можно использовать программу. Примеры предоставлю ниже.
Установка awless на другие Unix/Linux
Установка на Linux, очень простая, стоит только запустить:
$ curl https://raw.githubusercontent.com/wallix/awless/master/getawless.sh | bash
Добавляем в zsh автодополнение команд:
$ echo 'source <(awless completion zsh)' >> ~/.zshrc
Для bash, аналогично:
$ echo 'source <(awless completion bash)' >> ~/.bashrc
Для помощи использования дополнения, выполните:
$ awless completion --help
Или, если имеется Golang в системе, выполняем:
$ go get -u github.com/wallix/awless
Можно использовать программу. Примеры предоставлю ниже.
Использование awless в Unix/Linux
Наверное, самое первое что нужно отметить, — получение помощи:
$ awless --help
Или, для команды, можно использовать такой синтаксис:
$ awless list --help
Пример использования утилиты, для вывода ресурсов, например:
$ awless list instances --sort uptime
$ awless list users --format csv
$ awless list volumes --filter state=use --filter type=gp2
$ awless list volumes --tag-value Purchased
$ awless list vpcs --tag-key Dept --tag-key Internal
$ awless list instances --tag Env=Production,Dept=Marketing
$ awless list instances --filter state=running,type=micro
$ awless list s3objects --filter bucket=pdf-bucket
Можно посмотреть конфиг который используете:
$ awless config
Выставляем новую переменную для утилиты, например:
$ awless config set aws.profile
Value ? > default
Это выставит дефалтный профиль (он и так по умолчанию такой, но можно выставить любой другой).
Можно выставить любую переменную, например:
$ awless config set aws.var_here
Value ? > i_m_variable
Если проверить, получим:
$ awless config | grep aws.var_here
[info] region precedence: 'us-east-1' loaded through profile 'default' (see AWS config files $HOME/.aws/{credentials,config})
aws.var_here: i_m_variable (string)
Убрать ее можно так:
$ awless config unset aws.var_here
Можно проанализировать (размер AWS S3 бакета, цену EBS, или отсканировать порты):
$ awless inspect -i bucket_sizer
$ awless inspect -i pricer
$ awless inspect -i port_scanner
Смотрим логи:
$ awless log --full
$ awless log --raw
$ awless log --short
Можно выгребсти различную инфу через «show» опцию:
$ awless show {your_user,instance_id}
Подключиться к сервисам можно одним из способов:
$ awless ssh i-8d43b21b
$ awless ssh redis-prod
$ awless ssh ec2-user@redis-prod
$ awless ssh 34.215.29.221
$ awless ssh root@34.215.29.221 --port 23
$ awless ssh redis-prod -i keyname
$ awless ssh redis-prod -i ~/path/toward/key
$ awless ssh db-private --through my-bastion
$ awless ssh db-private --private
$ awless ssh redis-prod --print-cli
$ awless ssh redis-prod --print-config
$ awless ssh private-redis --through my-proxy
$ awless ssh private-redis --through my-proxy --through-port 23
$ awless ssh 172.31.77.151 --port 2222 --through my-proxy --through-port 23
Можно переключаться между настройками, например:
$ awless switch eu-west-2
$ awless switch mfa
$ awless switch default us-west-1
$ awless sw eu-west-3 admin
Можем засинкать некоторые ресурсы:
$ awless sync
И так далее, я не буду приводить много примеров т.к тула очень простая и удобна в работе.
Вот и все, статья «Установка awless в Unix/Linux» завершена.