AWS CLI с WebShield S3
Официальный AWS CLI работает с объектным хранилищем WebShield — достаточно указать endpoint WebShield. Как получить ключи и создать бакеты — см. Объектное хранилище.
Что понадобится
Заголовок раздела «Что понадобится»- Endpoint:
https://s3.webshield.pro - Access Key ID и Secret Access Key со страницы Хранилище S3 в личном кабинете.
- Полное имя бакета с префиксом аккаунта (например,
u42-backups).
Установка
Заголовок раздела «Установка»# Debian/Ubuntusudo apt install awscli# macOSbrew install awscli# или официальный дистрибутив: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.htmlНастройка профиля
Заголовок раздела «Настройка профиля»Сохраните ключи в именованном профиле, чтобы не повторять их в каждой команде:
aws configure set aws_access_key_id WSS... --profile webshieldaws configure set aws_secret_access_key <секрет> --profile webshieldaws configure set region us-east-1 --profile webshieldЗначение региона WebShield не использует, но некоторые инструменты требуют, чтобы оно было задано.
Повседневные команды
Заголовок раздела «Повседневные команды»Передавайте --endpoint-url и профиль в каждом вызове:
alias ws='aws --profile webshield --endpoint-url https://s3.webshield.pro'
ws s3 ls # список бакетовws s3 ls s3://u42-backups/ # объекты в бакетеws s3 cp ./dump.sql.gz s3://u42-backups/db/ # загрузить файлws s3 cp s3://u42-backups/db/dump.sql.gz . # скачать файлws s3 sync ./media s3://u42-backups/media # синхронизировать каталогws s3 rm s3://u42-backups/db/dump.sql.gz # удалить объектMultipart-загрузку крупных файлов aws s3 cp/sync выполняют автоматически.
Низкоуровневый s3api
Заголовок раздела «Низкоуровневый s3api»Команды s3api тоже работают — для операций, которых нет в s3:
ws s3api head-object --bucket u42-backups --key db/dump.sql.gzws s3api list-objects-v2 --bucket u42-backups --prefix db/Примечания
Заголовок раздела «Примечания»- WebShield использует path-style адресацию (
https://s3.webshield.pro/<bucket>/<key>); AWS CLI выбирает её автоматически при заданном нестандартном endpoint. - Бакеты создаются и удаляются только в личном кабинете —
s3 mb/s3 rbнедоступны. - При отрицательном балансе хранилище переходит в режим «только чтение»: загрузка (
cp/sync) отклоняется, скачивание работает. Пополните баланс, чтобы вернуть запись.