Робота з S3 сховищем
О
Що таке S3-сьумісне псховнаище
S3-сумісним сторонніме сховищем, у— якомуце бакети потрібно створювати вручну.
📘 Інструкція: Робо'єктне хма з S3-сумісрниме сховище, що підтримує протокол Amazon S3 (Simple Storage Service). Воно призначернез AWS CLI
Цдля зберіганструкціня будоь-яких типоможеів вам:
Встдановити та налаштувати AWS CLIСтворити бакет
ів,Завантажувати та завантажуватих: файлиПеарехівірятивмістАвтоматизувати, резервнеих копіювання
🔧 Що вам потрібно
Access Key IDтаSecret Access KeyS3 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
Якщо бачите список бакетів — доступ налаштованиймипрклієнтавмильно.
🧯 ТипОсновні помилки
няття
Bucket |
||
Object |
||
Endpoint |
https://s3.example.com ) |
|
Access Key / Secret Key |
||
Region |
📌
Сценарії використадиння
Сце
|
Опис |
---|---|
Резервн |
Автоматичне збереження копій сайтів, баз даних, конфігурацій |
Централізоване зберігання логів | Завантаження лог-файлів з різних серверів |
Зберігання артефактів CI/CD | Передача результатів збирання у хмару |
Хостинг статичних файлів | Зберігання зображень, відео, HTML/JS/CSS файлів |
Обмін великими файлами | Передача даних без використання FTP або поштових вкладень |
Дані для підключення
Для підключення до сховища вам необхідно знати:
-
Endpoint:
https://gmhost.space
-
Access Key ID: в інструкції до послуги
-
Secret Access Key: в інструкції до послуги
Як знайти дані для підключення
Створення бакету
Бакети не створюються автоматично. Для створення використовуйте один із клієнтів, наприклад rclone
, mc
або s3cmd
.
Приклад створення бакету через mc
(MinIO Client):
mc alias set mys3 https://gmhost.space ACCESS_KEY SECRET_KEY
mc mb mys3/назва-бакету