AWS cli — инструмент, позволяющий в режиме командной строки управлять ресурсами, размещенными на аккаунте Amazon.
Создание новых виртуальных машин и операции с ними возможны через графический интерфейс, однако в этом случае невозможна автоматизация процессов.
aws cli позволяет осуществлять выполнение скриптами, программно.
Как использовать AWS cli
Устанавливается через pip как любой другой пакет.
pip install awscli
Чтобы убедиться в успешности установки можно проверить версию
aws --version
aws-cli/1.16.81 Python/3.6.7 Linux/4.15.0-20-generic botocore/1.12.71
Далее настраивается доступ
aws configure
AWS Access Key ID [None]: AKIAJBP7joR6CZTI4Q
AWS Secret Access Key [None]: kZe84HGFSFuiPE2wcYJj6uYCEk0huHGFjkfgOiWtpMH9v
Default region name [None]:
Default output format [None]:
Приведенные выше значения идентификаторов берутся из реквизитов пользователя Amazon
В примере выше не указан регион. Настройки для региона можно запросить так
aws ec2 describe-regions
На выходе будет json
aws ec2 describe-regions --output table
На выходе таблица
aws ec2 describe-regions --output text
Или текст
Поскольку регион не указан при выполнении любой из трех команд возникнет сообщение
You must specify a region. You can also configure your region by running «aws configure».
Можно повторить aws configure или вручную отредактировать файл с настройками. Он находится в ~/.aws/config
cat ~/.aws/config
[default]
aws_acess_key_id = AKIAJBP7joR6CZTI4Q
aws_secret_access_key = kZe84HGFSFuiPE2wcYJj6uYCEk0huHGFjkfgOiWtpMH9v
region = us-west-2
Ключи в примере указаны несуществующие.
Сейчас ошибки не будет
aws ec2 describe-regions --output text
REGIONS ec2.ap-south-1.amazonaws.com ap-south-1 REGIONS ec2.eu-west-3.amazonaws.com eu-west-3 REGIONS ec2.eu-north-1.amazonaws.com eu-north-1 REGIONS ec2.eu-west-2.amazonaws.com eu-west-2 REGIONS ec2.eu-west-1.amazonaws.com eu-west-1 REGIONS ec2.ap-northeast-2.amazonaws.com ap-northeast-2 REGIONS ec2.ap-northeast-1.amazonaws.com ap-northeast-1 REGIONS ec2.sa-east-1.amazonaws.com sa-east-1 REGIONS ec2.ca-central-1.amazonaws.com ca-central-1 REGIONS ec2.ap-southeast-1.amazonaws.com ap-southeast-1 REGIONS ec2.ap-southeast-2.amazonaws.com ap-southeast-2 REGIONS ec2.eu-central-1.amazonaws.com eu-central-1 REGIONS ec2.us-east-1.amazonaws.com us-east-1 REGIONS ec2.us-east-2.amazonaws.com us-east-2 REGIONS ec2.us-west-1.amazonaws.com us-west-1 REGIONS ec2.us-west-2.amazonaws.com us-west-2
Меняем права на ~/.aws/config
chmod 600 ~/.aws/config
Чтобы конфигурационный файл автоматически считывался при каждом входе в систему пользователя можно добавить указание на него в ~/.bashrc
mcedit ~/.bashrc
export AWS_CONFIG_FILE=$HOME/.aws/config
Где посмотреть ключи amazon
По умолчанию создается root пользователь которого использовать нежелательно, на console.aws.amazon.com лучше создать политики IAM и добавить пользователей.
Нужные значения тогда для пользователя можно будет увидеть в Security credentials нажав Create access key.
Секретный ключ отображается только один раз при его создании. В дальнейшем использование ключа можно только отключить и создать новый.
Читайте про то как создать виртуальную машину через AWS cli.