AWS CLI
AWS CLI (AWS Command Line Interface) — это интерфейс командной строки для работы с сервисами AWS.
Настроить AWS CLI
1. Настроить доступ к S3
Настроить доступ может Владелец аккаунта или пользователь с ролью iam_admin.
- Создайте сервисного пользователя с ролью с доступом в S3.
Если вы используете сервисного пользователя с ролью
object_storage_userилиs3.bucket.user, в бакете должна быть настроена политика доступа. - Выдайте пользователю S3-ключ.
2. Установить клиент
Используйте инструкцию Install or update to the latest version of the AWS CLI документации Amazon.
3. Создать конфигурацию AWS CLI
-
Откройте терминал.
-
Откройте режим конфигурирования:
aws configure -
Введите
AWS Access Key ID— значение поля Access key из S3-ключа. -
Введите
AWS Secret Access Key— значение поля Secret key из S3-ключа. -
Введите
Default region name— пул, в котором находится S3 (например,ru-1). -
Введите
Default output formatили оставьте пустым. -
Настройки будут сохранены в конфигурационных файлах:
-
учетные данные в
.aws/credentials:[default]
aws_access_key_id = <access_key>
aws_secret_access_key = <secret_key> -
пул по умолчанию в
.aws/config:[default]
region = <pool>
-
-
В конфигурационном файле
.aws/configдобавьте параметрendpoint_url:[default]
region = <pool>
endpoint_url = https://<s3_domain>Укажите
<s3_domain>— домен S3 API для нужного пула.
4. Установить сертификат
Linux/macOS
Windows
-
Создайте папку
~/.selectels3/:mkdir -p ~/.selectels3/ -
Скачайте сертификат и поместите его в папку
~/.selectels3/:wget https://secure.globalsign.net/cacert/root-r6.crt -O ~/.selectels3/root.crt
openssl x509 -inform der -in ~/.selectels3/root.crt -out ~/.selectels3/root.crt
chmod 600 ~/.selectels3/root.crt -
В конфигурационный файл
.aws/configдобавьте параметр:ca_bundle = ~/.selectels3/root.crt
-
Создайте текстовый файл — например,
root.txt. -
В файл
root.txtдобавьте содержимое сертификата в формате base64. -
В конфигурационный файл
.aws/configдобавьте параметр:ca_bundle = <path>Укажите
<path>— путь до файлаroot.txt.
Работа с AWS CLI
Синтаксис команд смотрите в инструкции AWS документации Amazon.
Для работы с S3 через AWS CLI используйте:
- s3api — команды, соответствующие операциям в REST API;
- s3 — дополнительные команды, упрощающие работу с большим количеством объектов.
Вывести список бакетов
Выведите список бакетов:
aws s3 ls
Создать бакет
Создайте бакет:
aws s3 mb s3://<bucket_name>
Укажите <bucket_name> — имя нового бакета.
Посмотреть список объектов
Посмотрите список объектов:
aws s3 ls --recursive s3://<bucket_name>
Укажите <bucket_name> — имя бакета.
Загрузить объект
Загрузите файлы в хранилище:
aws s3 cp <object_name> s3://<bucket_name>/
Укажите:
<object_name>— имя объекта;<bucket_name>— имя бакета.
Удалить объект
Удалите объект:
aws s3 rm s3://<bucket_name>/<object_name>
Укажите:
<bucket_name>— имя бакета;<object_name>— имя объекта.