Серия «MinIO на VPS»: mc → Миграция с AWS
Источники: AWS S3 Docs, mc mirror.
Предварительно
MinIO запущен (Ubuntu или Docker).
mc alias set local http://127.0.0.1:9000 admin 'ChangeMe_StrongPass123'
mc mb local/migrated-from-awsAlias для AWS S3
mc alias set aws https://s3.amazonaws.com AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
mc ls aws/source-bucket-name | headДля другого региона:
mc alias set aws https://s3.eu-west-1.amazonaws.com AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEYMirror (копирование)
Dry-run:
mc mirror --dry-run aws/source-bucket-name local/migrated-from-awsПолная миграция:
mc mirror aws/source-bucket-name local/migrated-from-awsС сохранением синхронизации (осторожно с --remove):
mc mirror --overwrite aws/source-bucket-name local/migrated-from-awsСравнение объёмов
mc du aws/source-bucket-name
mc du local/migrated-from-aws
mc ls aws/source-bucket-name --recursive | wc -l
mc ls local/migrated-from-aws --recursive | wc -lМиграция между MinIO (другой VPS)
mc alias set remote https://old-minio.example.com OLD_USER OLD_PASS
mc mirror remote/old-bucket local/migrated-from-awsПосле миграции
- Переключите приложения на новый endpoint — Laravel/Node/Python.
- Включите lifecycle для старых prefix.
- Настройте бэкапы.
Ошибки
| Ошибка | Решение |
|---|---|
| SlowDown / 503 | Throttling AWS — уменьшите параллелизм, повторите |
| Access Denied на AWS | IAM policy s3:GetObject, s3:ListBucket |
| Signature mismatch на MinIO | Troubleshooting |
VPS на Simple-Server
Для развёртывания на production возьмите VPS/VDS с Ubuntu 22.04: root по SSH, NVMe и канал от 500 Мбит/с.