Skip to main content

Робота з S3 сховищем

О

Що таке S3-сьумісне псховнаище
інструкція для клієнтів з використання AWS CLI для роботи з

S3-сумісним сторонніме сховищем, у якомуце бакети потрібно створювати вручну.


📘 Інструкція: Робо'єктне хма з S3-сумісрниме сховище, що підтримує протокол Amazon S3 (Simple Storage Service). Воно призначернез AWS CLI

Цдля зберіганструкціня будоь-яких типоможеів вам:

  • Встдановити та налаштувати AWS CLI

  • Створити бакет

  • Завантажувати та завантажуватих: файли

    ів,
  • Пеарехівіряти вміст

  • Автоматизувати, резервнеих копіювання


🔧 Що вам потрібно

  • Access Key ID та Secret Access Key

  • S3 endpoint, наприклад: https://s3.example.com

  • Назва бакетуй, якулогів, ви самі виберете

  • Встановлетичнийх awscliоб’єктів (інструкція нижче)ощо.


1. 📥 Встанов

Підключення AWSдо CLI

Ubuntu/Debian:

sudo apt update
sudo apt install awscli -y

macOS (через Homebrew):

brew install awscli

Windows:

Завантажити інсталятор: https://aws.amazon.com/cli/


2. 🛠️ Налаштування AWS CLI

Рекомендується створити окреме середовище (venv), щоб уникнути конфліктів з urllib3.

Команда налаштування:

aws configure

Введіть:

AWS Access Key ID [None]: <ваш Access Key>
AWS Secret Access Key [None]: <ваш Secret Key>
Default region name [None]: us-east-1
Default output format [None]: json

⚠️ Region обирається довільно, бо в сторонніх сховищах він зазвичай ігнорується.


3. 🌐 Робота з нестандартним S3 endpoint

Оскільки ви використовуєте не Amazon S3, потрібно в кожній команді вказувати --endpoint-url:

--endpoint-url https://s3.example.com

4. 📁 Створення бакету

aws --endpoint-url https://s3.example.com s3 mb s3://my-bucket

🔐 Назва my-bucket має бути унікальною в межах цього сховища.

здійснюється
через

5. 📤 Завстандартаженняий файлівAPI, тому баквоно суміснет

aws --endpoint-url https://s3.example.com s3 cp ./file.txt s3://my-bucket/

Завантажить файл file.txt у корінь бакету my-bucket.


6. 📥 Завантаження файлів із бакету

aws --endpoint-url https://s3.example.com s3 cp s3://my-bucket/file.txt ./

Згавантажитьма файл із бакету у поточну папку.


7. 📋 Перегляд вмісисту бакету

aws --endpoint-url https://s3.example.com s3 ls s3://my-bucket/

8. 📂 Завантаження папки

aws --endpoint-url https://s3.example.com s3 cp ./myfolder s3://my-bucket/ --recursive

9. ❌ Видалення файлів

aws --endpoint-url https://s3.example.com s3 rm s3://my-bucket/file.txt

10. 🧹 Видалення бакету (має бутми порожнім)

aws --endpoint-url https://s3.example.com s3 rb s3://my-bucket

11. 💾 Приклад резервного копіювання, (bash-панелями керування, скрипт)

ами
#!/bin/bashта DATE=$(date +%F)
ARCHIVE="/tmp/backup-$DATE.tar.gz"

tar -czf "$ARCHIVE" /var/www/html
aws --endpoint-url https://s3.example.com s3 cp "$ARCHIVE" s3://my-bucket/backups/
rm "$ARCHIVE"

12. 🧪 Пехмаревірка

aws --endpoint-url https://s3.example.com s3 ls

Якщо бачите список бакетів — доступ налаштованийми прклієнтавмильно.


🧯 Тип

Основні помилки
няття
ПоТермилкаін ПрОпичинаРішенняс
InvalidAccessKeyIdBucket НКонтеправильйний ключПер для зберігання файлівірит (аналог папки Access/Secretверхнього Keyрівня)
NoSuchBucketObject БФакйл, що зберігається неу сховищіснуєСтворити бакет вручну
403 ForbiddenEndpoint НемURL-ає прав або неправильні ключіПедревірити правса точки доступу до сховища endpoint(наприклад, https://s3.example.com)
EndpointConnectionErrorAccess Key / Secret Key EndpointОблікові дані для авторизації чедоступнийрез API
Region ПЛогічна зона розміщерння даних (не завіритжди вимадрегаєтьсу, протокол, DNSя)

📌

П
Сценарії використадиння
з
б
ключів.aws/credentialsзправами600

  • Не публікуйте ключі у публічних скриптах

  • Видаляйте тимчасові файли після р

  • Сцезпеки
    • Збенарігайте

    Опис
    Резервногое копіюванняАвтоматичне збереження копій сайтів, баз даних, конфігурацій
    Централізоване зберігання логівЗавантаження лог-файлів з різних серверів
    Зберігання артефактів CI/CDПередача результатів збирання у хмару
    Хостинг статичних файлівЗберігання зображень, відео, HTML/JS/CSS файлів
    Обмін великими файламиПередача даних без використання FTP або поштових вкладень
    Дані для підключення

    Для підключення до сховища вам необхідно знати:

    Як знайти дані для підключення


    chrome_GEA8otCmV2.pngchrome_uj8svDtIoX.png

    Створення бакету

    Бакети не створюються автоматично. Для створення використовуйте один із клієнтів, наприклад rclone, mc або s3cmd.

    Приклад створення бакету через mc (MinIO Client):

    mc alias set mys3 https://gmhost.space ACCESS_KEY SECRET_KEY
    mc mb mys3/назва-бакету