#
AWS CLI: Установка и основы использования
#
Что такое AWS CLI?
AWS CLI (Command Line Interface) - инструмент командной строки для взаимодействия с сервисами Amazon Web Services. Позволяет управлять AWS-сервисами из терминала.
#
Установка AWS CLI
#
Для Windows
- Скачайте MSI-установщик с официального сайта AWS
- Запустите файл AWSCLIV2.msi
- Проверьте установку:
aws --version
#
Для macOS
Способ 1 (Homebrew):
brew install awscli
Способ 2 (установщик):
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
Проверка:
aws --version
#
Для Linux (Ubuntu/Debian)
Через пакетный менеджер:
sudo apt update
sudo apt install -y awscli
Или последняя версия:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
Проверка:
aws --version
#
Настройка AWS CLI
Выполните конфигурацию:
aws configure
Введите данные:
- AWS Access Key ID
- AWS Secret Access Key
- Default region name (например us-east-1)
- Default output format (например json)
#
Конфигурационные файлы
В результате работы команда aws configure сохранит статический ключ и регион.
Формат статического ключа в .aws/credentials:
[default]
aws_access_key_id = <идентификатор_статического_ключа>
aws_secret_access_key = <содержимое_статического_ключа>
Формат региона по умолчанию в .aws/config:
[default]
region = ru-central1
Вы можете создать несколько профилей для разных сервисных аккаунтов, указав их данные в файле .aws/credentials:
aws_access_key_id = <идентификатор_статического_ключа_1>
aws_secret_access_key = <содержимое_статического_ключа_1>
[<имя_профиля_2>]
aws_access_key_id = <идентификатор_статического_ключа_2>
aws_secret_access_key = <содержимое_статического_ключа_2>
...
[<имя_профиля_n>]
aws_access_key_id = <идентификатор_статического_ключа_n>
aws_secret_access_key = <содержимое_статического_ключа_n>
Чтобы переключаться между разными профилями в командах AWS CLI используется опция --profile, например:
aws --endpoint-url=<endpoint_url> \
--profile <имя_профиля_2> \
s3 mb s3://<имя_бакета>
#
Особенности
Учитывайте особенности AWS CLI при работе с Object Storage:
AWS CLI работает с Object Storage как с иерархической файловой системой и ключи объектов имеют вид пути к файлу.
По умолчанию клиент настроен на работу с серверами Amazon. Поэтому при запуске команды aws для работы с Object Storage
обязательно используйте параметр --endpoint-url.
Чтобы при каждом запуске не указывать параметр вручную, вы можете использовать файл конфигурации или псевдоним. (поддерживается в AWS CLI версий 1.29.0, 2.13.0 и выше)
В файле конфигурации .aws/config добавьте параметр endpoint_url:
endpoint_url = <endpoint_url>
После этого вы сможете вызывать команды без явного указания эндпоинта.
Например, вместо
aws --endpoint-url=<endpoint_url> s3 ls
можно указывать aws s3 ls.
Подробнее смотрите в документации AWS CLI. Создайте псевдоним (alias) с помощью команды:
alias ycs3='aws s3 --endpoint-url=<endpoint_url>'
Для создания псевдонима при каждом запуске терминала, добавьте команду alias в конфигурационный файл ~/.bashrc или
~/.zshrc, в зависимости от типа оболочки.
С таким псевдонимом будут равносильны команды:
aws s3 --endpoint-url=<endpoint> ls
ycs3 ls
#
Основные команды AWS CLI
#
Общий синтаксис
aws <service> <operation> [options]
#
Примеры команд
- Просмотр списка S3-бакетов:
aws s3 ls
- Создание EC2-инстанса:
aws ec2 run-instances --image-id ami-0abcdef1234567890 --count 1 --instance-type t2.micro --key-name MyKeyPair
- Копирование файла в S3:
aws s3 cp myfile.txt s3://my-bucket/
#
Полезные советы
- Фильтрация вывода:
aws ec2 describe-instances --query 'Reservations[*].Instances[*].InstanceId'
- Табличный вывод:
aws ec2 describe-instances --output table
- Дебаг режим:
aws --debug s3 ls
#
Обновление AWS CLI
Windows: Переустановите через новый MSI-установщик
macOS (Homebrew):
brew upgrade awscli
Linux:
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
#
Удаление AWS CLI
Windows: Через Панель управления
macOS (Homebrew):
brew uninstall awscli
Linux:
sudo rm -rf /usr/local/aws-cli
sudo rm /usr/local/bin/aws
В Sentium Cloud мы стремимся предоставлять вам подробные и понятные инструкции. Наша цель - помочь вам эффективно использовать все возможности OpenStack Horizon для управления вашими облачными ресурсами.
С уважением, Команда Sentium Cloud