Перейти к основному содержимому
AWS CLI
Последнее изменение:

AWS CLI

AWS CLI (AWS Command Line Interface) — это интерфейс командной строки для работы с сервисами AWS.

Настроить AWS CLI

  1. Настройте доступ.
  2. Установите клиент.
  3. Создайте конфигурацию AWS CLI.
  4. Проверьте сертификат.

1. Настроить доступ

Настроить доступ может пользователь с ролью Владелец аккаунта или Администратор пользователей.

  1. Создайте сервисного пользователя с ролью с доступом в объектное хранилище. Если вы используете пользователя с ролью Пользователь объектного хранилища, в контейнере должна быть настроена политика доступа.
  2. Выдайте пользователю S3-ключ.

2. Установить клиент

Используйте инструкцию Install or update to the latest version of the AWS CLI документации Amazon.

3. Создать конфигурацию AWS CLI

  1. Откройте терминал.

  2. Откройте режим конфигурирования:

    aws configure
  3. Введите AWS Access Key ID — значение поля Access key из S3-ключа.

  4. Введите AWS Secret Access Key — значение поля Secret key из S3-ключа.

  5. Введите Default region name — пул, в котором находится объектное хранилище (например, ru-1).

  6. Настройки будут сохранены в конфигурационных файлах:

    • учетные данные в .aws/credentials:

      [default]
      aws_access_key_id = <access_key>
      aws_secret_access_key = <secret_key>
    • пул по умолчанию в .aws/config:

      [default]
      region = <pool>
  7. Если вы хотите использовать Virtual-Hosted адресацию, в конфигурационный файл .aws/config добавьте параметр:

    [default]
    s3 =
    addressing_style = virtual

4. Проверить сертификат

  • убедитесь, что в системе стоит последняя версия пакета ca-certificates:

    export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
  • или обновите пакет certifi до последней версии (certifi==2024.2.2):

    pip install certifi

Работа с AWS CLI

Синтаксис команд смотрите в инструкции AWS документации Amazon.

Для работы с объектным хранилищем через AWS CLI используйте:

  • s3api — команды, соответствующие операциям в REST API;
  • s3 — дополнительные команды, упрощающие работу с большим количеством объектов.

При запуске команды aws обязателен параметр --endpoint-url=https://<s3_domain>, где <s3_domain> — домен S3 API, зависит от пула, в котором находится объектное хранилище.

Создать контейнер

Создайте контейнер:

aws --endpoint-url=https://<s3_domain> s3 mb s3://<container_name>

Укажите:

  • <s3_domain> — домен S3 API, зависит от пула, в котором находится объектное хранилище;
  • <container_name> — имя нового контейнера.

Посмотреть список объектов

Посмотрите список объектов:

aws --endpoint-url=https://<s3_domain> s3 ls --recursive s3://<container_name>

Укажите:

  • <s3_domain> — домен S3 API, зависит от пула, в котором находится объектное хранилище;
  • <container_name> — имя контейнера.

Загрузить объект

Загрузите файлы в хранилище:

aws --endpoint-url=https://<s3_domain> s3 cp <object_name> s3://<container_name>/

Укажите:

  • <s3_domain> — домен S3 API, зависит от пула, в котором находится объектное хранилище;
  • <object_name> — имя объекта;
  • <container_name> — имя контейнера.

Удалить объект

Удалите объект:

aws --endpoint-url=https://<s3_domain> s3 rm s3://<container_name>/<object_name>

Укажите:

  • <s3_domain> — домен S3 API, зависит от пула, в котором находится объектное хранилище;
  • <container_name> — имя контейнера;
  • <object_name> — имя объекта.