Как создать профиль подключения к S3 в AWS CLI

Профиль — именованный набор параметров подключения: ключи доступа, регион, формат вывода и адрес эндпоинта. Он создаётся один раз, после чего клиент подставляет эти параметры автоматически — при работе с хранилищем достаточно указать имя профиля.

В этой статье — создание профиля для объектного хранилища RTCloud и проверка подключения. Если клиент ещё не установлен, начните со статьи «Как установить AWS CLI» для вашей операционной системы: Linux, Windows, macOS.


Что потребуется

  • Установленный AWS CLI.
  • Токен — пара Access Key ID и Secret Access Key. Создаётся в панели управления, порядок описан в статье «Как создать токен?».
  • Адрес эндпоинта — он указан в панели управления в строке «Путь» вашего бакета и выглядит как s3-msk2.rtcloud.ru или s3-nsk2.rtcloud.ru. В командах адрес указывается со схемой: https://s3-msk2.rtcloud.ru.
Важно! Адрес эндпоинта различается в зависимости от площадки, на которой размещено хранилище. Во всех примерах ниже используется https://s3-msk2.rtcloud.ru — подставляйте адрес своего бакета.

Создание профиля

Запустите интерактивную настройку, указав имя профиля:

aws configure --profile rtcloud

Клиент последовательно запросит четыре значения:

AWS Access Key ID [None]: <ТОКЕН>
AWS Secret Access Key [None]: <СЕКРЕТ>
Default region name [None]: eu
Default output format [None]: json
Параметр Что ввести
AWS Access Key ID Токен — первое значение созданной пары ключей
AWS Secret Access Key Секрет — второе значение пары ключей
Default region name eu
Default output format json

Имя профиля выбирается произвольно — далее в примерах используется rtcloud. Если параметр --profile не указать, настройки запишутся в профиль по умолчанию и будут применяться ко всем командам, где профиль явно не задан.

Регион при работе с S3-совместимым хранилищем носит формальный характер: он участвует в формировании подписи запроса, но не определяет расположение данных. Формат вывода json удобен тем, что результат можно передавать в скрипты и обрабатывать утилитой jq; кроме него доступны text, table и yaml.


Где хранятся настройки

Введённые значения записываются в два файла в домашнем каталоге пользователя. Ключи доступа — в файл ~/.aws/credentials:

[rtcloud]
aws_access_key_id = <ТОКЕН>
aws_secret_access_key = <СЕКРЕТ>

Остальные параметры — в файл ~/.aws/config. Обратите внимание на слово profile перед именем: в файле конфигурации оно обязательно, в файле с ключами — нет.

[profile rtcloud]
region = eu
output = json

На Windows оба файла располагаются в каталоге %USERPROFILE%\.aws\. Файлы можно редактировать вручную — это быстрее, чем проходить интерактивный опрос заново.

Важно! Секретный ключ хранится в файле в открытом виде. Ограничьте права доступа к нему командой chmod 600 ~/.aws/credentials и не помещайте файл в системы контроля версий. Для CI/CD используйте переменные окружения или принятые в вашей инфраструктуре механизмы хранения секретов.

Указание адреса эндпоинта

По умолчанию клиент обращается к сервисам Amazon. Чтобы запросы уходили в объектное хранилище RTCloud, нужно указать адрес эндпоинта. Сделать это можно тремя способами.

Способ 1. Параметр в каждой команде

Подходит для разовых операций: адрес виден прямо в команде.

aws s3 ls --profile rtcloud --endpoint-url https://s3-msk2.rtcloud.ru

Способ 2. Запись эндпоинта в профиль

Начиная с версии 2.13.0 AWS CLI поддерживает секцию services в файле конфигурации. Добавьте в ~/.aws/config:

[profile rtcloud]
region = eu
output = json
services = rtcloud-s3

[services rtcloud-s3]
s3 =
  endpoint_url = https://s3-msk2.rtcloud.ru

После этого параметр --endpoint-url в командах не нужен — достаточно указать профиль. Это самый удобный вариант для повседневной работы:

aws s3 ls --profile rtcloud

Способ 3. Переменные окружения

Удобно в CI/CD и в контейнерах, где конфигурационные файлы не сохраняются между запусками:

export AWS_PROFILE=rtcloud
export AWS_ENDPOINT_URL=https://s3-msk2.rtcloud.ru

Далее в статьях Базы знаний параметр --endpoint-url указывается в командах явно — так примеры остаются работоспособными независимо от того, какой способ выбрали вы.


Проверка подключения

Запросите список бакетов:

aws s3 ls --profile rtcloud --endpoint-url https://s3-msk2.rtcloud.ru

В ответе — дата создания и имя каждого доступного бакета:

2026-03-14 12:41:08 my-bucket
2026-04-02 09:15:33 backup-bucket

Посмотреть содержимое конкретного бакета:

aws s3 ls s3://<ИМЯ_БАКЕТА> --profile rtcloud --endpoint-url https://s3-msk2.rtcloud.ru

Загрузить файл в бакет:

aws s3 cp testfile.txt s3://<ИМЯ_БАКЕТА>/ \
  --profile rtcloud --endpoint-url https://s3-msk2.rtcloud.ru

Скачать файл из бакета:

aws s3 cp s3://<ИМЯ_БАКЕТА>/testfile.txt ./ \
  --profile rtcloud --endpoint-url https://s3-msk2.rtcloud.ru

Если команды отрабатывают без ошибок, профиль настроен корректно.


Смотрите также:

к Работе с S3 RTCloud


Рейтинг@Mail.ru Яндекс.Метрика