Hetzner — хороший хостинг. Но если ваши пользователи в Украине, каждый их запрос едет в Германию и обратно — это 40–60 мс задержки на ровном месте. Добавьте счёт в евро и поддержку в европейские рабочие часы — и причины переезда становятся прагматичными.

Что вы получаете после миграции в украинское облако: пинг ~1 мс из Киева, ~7 мс из Львова — для магазинов, игровых серверов и интерактивных приложений разница ощутима сразу; почасовая оплата и предсказуемый счёт; поддержка 24/7; и бесплатная сетевая обвязка — Load Balancer, Firewall и приватные сети за $0.

Составьте список: какие сервисы работают (веб-сервер, БД, очереди, кроны), сколько данных (диск, база), какие домены и DNS-записи, какие внешние зависимости (SMTP, API, вебхуки). Для типичного сервера это полчаса. Если инфраструктура сложнее 3–5 серверов — запросите план миграции: оценка бесплатна.

Зарегистрируйтесь в консоли и создайте инстанс, соизмеримый с вашим в Hetzner. Ориентиры: CX22/CX32 (2 vCPU) → ocp-3 (2 vCPU / 8 GB, ≈$22/мес); CX42 (4 vCPU) → ocp-5 (4 vCPU / 16 GB, ≈$43/мес). Оплата почасовая — параллельная работа двух площадок на время миграции стоит центы, а не двойной месяц.

Сразу закройте лишнее бесплатным Firewall: наружу — только 80/443, SSH — только с вашего IP.

Классика — rsync напрямую между серверами:

rsync -avz --progress -e ssh /var/www/ user@NEW_SERVER_IP:/var/www/

Конфиги (nginx, systemd-юниты, crontab) переносите осознанно, а не вслепую — удобный момент выбросить накопившийся годами мусор. Если приложение в Docker — ещё проще: compose-файл плюс volumes.

Для маленькой базы достаточно dump/restore в окно переключения. Для базы, которую нельзя надолго останавливать, — репликация: поднимите на новом сервере реплику (streaming replication для PostgreSQL, source-replica для MySQL), дождитесь синхронизации — и на момент переключения данные будут актуальными без многочасового простоя.

Если держали файлы в Hetzner Storage Box или S3-совместимом хранилище — перенесите их одной командой, API совместимы:

rclone sync hetzner-remote:bucket ocp-remote:bucket --progress

S3-хранилище OneCloudPlanet стоит $0.005/ГБ/мес, а трафик и запросы не тарифицируются — 1 ТБ архивов обойдётся в ~$5/мес. Сразу настройте бекапы по расписанию в панели — чтобы новый сервер с первого дня жил по правилу 3-2-1.

Проверьте всё на новом сервере по его IP (hosts-файл или тестовый поддомен): приложение, база, кроны, почта, интеграции. Затем финал: за сутки снизьте TTL DNS-записей до 300 секунд, в нерабочее время переключите A-записи на новый IP — трафик перетечёт за минуты. Старый сервер в Hetzner не удаляйте сразу: подержите неделю как страховку.

Сколько длится переезд? Типичный сервер (сайт + БД до 100 ГБ) — день подготовки и минуты простоя на переключении DNS.

А если у меня выделенный сервер, а не VPS? Шаги те же. К слову, выделенные серверы здесь выдаются за ~2 минуты через панель или API с почасовой оплатой — от $0.17/час за 24 физических ядра и 128 GB RAM.

Не хочу делать это руками. Расскажите, что у вас работает — оценка и план бесплатны; перенесём с репликацией и тестами, простой только на переключении.