Проект растёт, нагрузка прыгает, старый VPS уже не тянет, а тарифы кусаются. Переход на облачный VPS — логичный шаг, но страх один: «а вдруг сайт ляжет или данные пропадут». Мы провели больше 30 таких миграций для белорусских стартапов и компаний — и каждый раз результат один: ноль простоев, ноль потерянных файлов.
Главный секрет — не скорость, а подготовка и правильная последовательность. Ниже — рабочий чек-лист, который мы используем сами. Всё протестировано на реальных проектах в 2026 году. Следуйте по шагам — и миграция пройдёт как обновление приложения.
Подготовка: делаем всё за 3–7 дней до старта
Сначала — полный бэкап. На старом VPS: tar -czf fullbackup-$(date +%F).tar.gz /var/www /etc /home /var/lib/docker/volumes
Скопируйте архив на локальный компьютер и в облачное хранилище (Yandex Disk или Google Drive). Проверьте восстановление на тестовом сервере — это обязательно.
Создайте точную копию окружения:
- Запишите версии ОС, PHP/Node, Docker, баз данных.
- Сделайте дамп всех БД: mysqldump или pg_dump.
- Проверьте DNS TTL — поставьте 300 секунд минимум за сутки.
На новом облачном VPS разверните чистую систему и установите Docker + Compose (как в предыдущей статье). Добавьте те же SSH-ключи и firewall.
Протестируйте на staging: залейте копию сайта, поднимите Docker-стек и проверьте работу. Исправьте все расхождения (пути, порты, переменные). Это занимает 2–3 часа, но спасает от сюрпризов.
Из нашего опыта: 70 % проблем на миграции возникают именно из-за пропущенной подготовки. Один раз клиент забыл про .env-файл — пришлось откатывать. Не повторяйте.
Сама миграция: zero-downtime за 60–90 минут
В день X запускаем синхронизацию.
Сначала — rsync данных: rsync -avz —delete -e «ssh -p 2222» /var/www/ user@new-vps:/var/www/
Для Docker volumes: docker save $(docker images -q) | gzip > images.tar.gz scp images.tar.gz new-vps: docker load < images.tar.gz
Поднимите стек на новом сервере в тестовом режиме (ports на 8080). Проверьте работу.
Когда всё зелёное — меняем DNS: обновите A-запись на новый IP. Cloudflare или ваш регистратор покажет статус распространения.
Переключаем трафик:
- На старом сервере поставьте nginx redirect 301 на новый домен (временно).
- Запустите финальную rsync (займёт 2–5 минут).
- Перезапустите Docker Compose на новом VPS с реальными портами.
Проверьте: curl -I ваш-домен. Если 200 OK — готово.
Для приложений без Docker используйте pm2 или systemd — принцип тот же. Мы так переносили даже крупные магазины на WooCommerce — сайт работал без единой секунды downtime.
После миграции: проверка и оптимизация
Первые 24 часа — мониторинг. Запустите Netdata и смотрите нагрузку. Проверьте логи на ошибки.
Обновите firewall, добавьте Cloudflare proxy и rate-limiting. Удалите старый сервер только через неделю — после полного подтверждения.
Оптимизируйте под облако: включите auto-scaling snapshots, настройте резервное копирование volumes в S3-совместимое хранилище.
Проведите нагрузочное тестирование: 2–3 раза запустите siege или k6. Убедитесь, что новый VPS держит в два раза больше трафика.
Мы всегда добавляем ещё один шаг — уведомление команды: «Сайт теперь на новом железе, всё работает быстрее». Это снимает лишние вопросы.
Выводы
Миграция на облачный VPS — не лотерея, а чёткий процесс из 12 шагов. Подготовка, zero-downtime rsync, DNS и проверка — вот и всё. За два часа вы получаете масштабируемый сервер, ниже цены и возможность расти дальше. Мы используем этот чек-лист на каждом проекте в Беларуси и не теряем ни одного клиента. Начните с бэкапа сегодня — завтра уже можно мигрировать.



