Серверы в облаке с препятствиями на пути миграции Yandex Cloud VM 1С VM AD VM CRM ! USB-токен 1С HASP ! Жёсткие IP в коде ! Egress трафик ! Snapshot retention ! Latency RDP ! 152-ФЗ контур ! DNS-split brain ! VPN MTU фрагменты ! Бюджет +38% Облако обещает рай. Реальность — 11 граблей. Кейс ITfresh: торговая компания 42 РМ, 6 недель миграции, экономия после оптимизации
Каждый оранжевый треугольник внизу — реальная грабля, которую мы прошли при миграции торговой компании 42 РМ в Yandex Cloud
· 18 мин чтения · Семёнов Е.С., руководитель ITfresh

Кровавая миграция клиента в Yandex Cloud: что не пишут в гайдах

К нам в ITfresh весной 2026-го пришла торговая оптовая компания 42 рабочих места из Подольска: офис, склад, выездные менеджеры. У них был один маленький серверный шкаф в подсобке, два HPE DL360 Gen10 на VMware и отчётливое желание «уйти в облако, чтобы не возиться с железом». Мы ушли. Шесть недель работы, 11 узких мест, перерасход бюджета на 38% в первые два месяца, два эпизода с потерей сетевой связности. В этой статье — честный разбор того, что в официальных гайдах Yandex Cloud, AWS и Azure обычно благоразумно не упоминают.

Контекст: зачем клиент пошёл в облако

У клиента было три рабочих причины. Первая: серверы стояли в подсобке без нормального охлаждения, летом 2025-го было два эпизода с перегревом, отказала одна планка памяти в один из дней. Вторая: в офис хотели подключить VPN-клиентов с трёх удалённых складов в Туле, Калуге и Рязани, но MTS-канал в Подольске часто моросил и удалёнщики жаловались на отвалы 1С. Третья: владельцу казалось, что облако — это «дешевле и проще». Третья оказалась наполовину правдой.

Я честно сказал владельцу на первой встрече: переход в облако сэкономит ему деньги на железе, но не на работе. Облако требует правильной архитектуры, мониторинга, регулярной оптимизации затрат — иначе оно превращается в дойную корову Yandex. Он поверил мне и подписался на аутсорс-контракт после миграции на 75 000 ₽ в месяц. Через два месяца он сказал: «Сёма, спасибо, что не дал мне сделать это самому».

Грабля №1: lift-and-shift не работает на свободной форме

Первая ошибка, которую я чуть не совершил под напором клиента — переехать «как есть». Lift-and-shift в чистом виде означает: те же 12 виртуалок с теми же ОС едут в облако без изменений, IP-адреса и архитектура не меняются. Звучит просто. На практике, если у вас есть Windows Server 2012 R2 (а у клиента было два таких сервера) — Yandex Cloud его официально не поддерживает в Compute Cloud, и SLA не действует.

Пришлось поднимать Windows Server 2022 в облаке заново, проводить in-place upgrade на промежуточной среде, переносить данные. Из 12 ВМ в облако улетели 9 — три устаревшие выкинули или объединили. План работ мы переписали через неделю после старта.

Грабля №2: жёсткие IP-адреса в коде интеграций

Я говорил об этой грабле в кейсе с zVirt — она универсальна. У торгового клиента в обработках 1С был жёстко прописан IP-адрес сервера CRM «по причинам исторической традиции». Точно так же IP были в скрипте бэкапа, в групповой политике маппинга диска, в файле hosts на 30 рабочих станциях. При смене адресной схемы (а в облаке IP-адреса другие) всё это ломается одновременно.

Решение — две недели на инвентаризацию интеграций до миграции. Я вручную проверил каждый сервер, каждый скрипт, каждый файл конфигурации. Нашёл 27 мест с жёстко прописанными IP, заменил их на FQDN, проверил, что DNS работает корректно из всех клиентских сегментов. В облаке мы развернули собственный DNS (два сервера в разных availability zones), реплицированный с локальным AD.

# Скрипт поиска жёстко прописанных IP в 1С (запуск на конфигурации)
# 1С → Конфигуратор → Глобальный поиск → регулярка
# Pattern: [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
# Лучше всего ищется в обработках, общих модулях и WS-сервисах

# Поиск в группе Windows-серверов
$Servers = @("SRV-1C","SRV-CRM","SRV-FS","SRV-AD01","SRV-AD02")
foreach ($srv in $Servers) {
    Get-ChildItem -Path "\\$srv\c$\inetpub","\\$srv\c$\Scripts" -Recurse -Include "*.ps1","*.bat","*.cmd","*.config","*.xml","web.config" |
      Select-String -Pattern '\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b' |
      Select Path,LineNumber,Line |
      Export-Csv -Path "C:\audit\hardcoded-ips-$srv.csv" -Append -NoTypeInformation
}

Грабля №3: лицензия 1С на USB-ключе HASP

Классика жанра. У клиента были две версии 1С: бухгалтерия 8.3 на программном ключе (всё ОК) и УТ 11 на аппаратном HASP USB. Сервер 1С crawled от того, что пытался найти ключ, а в облаке физического USB не существует. Варианта три:

  1. Купить USB-over-IP-сервер AnywhereUSB или DistKontrolUSB и оставить ключ в офисе клиента, прокинуть по сети в облако через VPN. Плюс — лицензия не меняется. Минус — точка отказа в офисе клиента превращается в риск для облачного 1С.
  2. Конвертировать в программный ключ через личный кабинет фирмы 1С. Стоит 7 000 ₽, занимает 3-5 рабочих дней, требует подачи заявления.
  3. Перейти на 1С:Fresh — официальное облачное 1С от фирмы. Но это перестройка процессов, не для всех подходит.

Мы выбрали вариант 2. Подали заявку, через 4 дня получили программный pin-код, активировали в облаке. С тех пор у клиента ни разу не было проблем с лицензией — это действительно более надёжный вариант, чем пробрасывать USB по VPN.

Грабля №4: исходящий (egress) трафик стоит дороже, чем кажется

В прайсе Yandex Cloud цена за исходящий трафик в интернет — 1.20 ₽ за гигабайт. Кажется копейки. Но когда у вас 42 пользователя ежедневно работают через RDP на терминальном сервере в облаке — каждое нажатие кнопки в 1С это передача обновлённого экрана. На один рабочий день средний egress на пользователя — 1.5-2.5 GB, в месяц на офис 42 РМ — около 2200 GB исходящего трафика.

2200 × 1.20 = 2640 ₽ в месяц только за RDP-трафик. Не критично, но это добавляется к остальным платежам. Плюс egress от резервных копий: если делать копию баз 1С (объём 580 GB) на офисный NAS как третью копию по правилу 3-2-1, выходит ещё 580 × 1.20 = 696 ₽ в день, 21 000 ₽ в месяц только на бэкап.

Решение: бэкап мы держим в Yandex Object Storage в том же облаке (egress нулевой) и дублируем его в наш ITfresh-FTP в дата-центре МТС в Москве через специальный канал, который оплачивается провайдером по льготному тарифу межоблачного транзита.

Грабля №5: snapshot retention включён по умолчанию навсегда

В Yandex Cloud у дисков есть автоматические снэпшоты, которые включаются скриптом или через консоль. По умолчанию политика хранения — «бессрочно». В первый месяц мы не настроили retention и обнаружили, что копится одна полная копия каждого диска ежедневно. У клиента было 12 дисков, средний объём 200 GB. За 30 дней набралось 12 × 30 × 200 = 72 TB снэпшотов. Цена хранения снэпшота в Yandex Cloud — 1.85 ₽ за гигабайт-месяц. Получается 133 200 ₽ в месяц только за неотдоброшенные снэпшоты — больше, чем основная платежка.

Спас Cloud Logging: я настроил алерт «суточные расходы > 7000 ₽» и Yandex Cloud Functions, которая раз в неделю чистит снэпшоты старше 14 дней. После настройки расходы на снэпшоты упали с 133 000 ₽ до 12 000 ₽ в месяц.

# Yandex Cloud Function (Python) — автоочистка снэпшотов старше 14 дней
import os, datetime, json
from yandexcloud import SDK
from yandex.cloud.compute.v1.snapshot_service_pb2 import (
    ListSnapshotsRequest, DeleteSnapshotRequest
)
from yandex.cloud.compute.v1.snapshot_service_pb2_grpc import SnapshotServiceStub

def handler(event, context):
    sdk = SDK(token=os.environ['YC_TOKEN'])
    folder_id = os.environ['FOLDER_ID']
    svc = sdk.client(SnapshotServiceStub)

    cutoff = datetime.datetime.utcnow() - datetime.timedelta(days=14)
    deleted = 0

    snapshots = svc.List(ListSnapshotsRequest(folder_id=folder_id, page_size=1000))
    for snap in snapshots.snapshots:
        created = snap.created_at.ToDatetime()
        if created < cutoff and 'auto-' in snap.name:
            svc.Delete(DeleteSnapshotRequest(snapshot_id=snap.id))
            deleted += 1

    return {"deleted": deleted, "cutoff": cutoff.isoformat()}

Грабля №6: latency RDP до Подольска

Дата-центр Yandex Cloud, в котором мы развернули клиента, находится в зоне ru-central1-a (Сасово, Рязанская область). Из Подольска до Сасово — около 150 км по физическим оптическим линиям через ММТС-9. Round-trip latency у пользователя — 11-14 мс, что для RDP заметно: курсор «плавает», 1С реагирует с задержкой 200-400 мс на действие.

Решение: переход с обычного RDP на RemoteApp с RemoteFX vGPU. RemoteApp передаёт только окна приложений, а не весь рабочий стол — экономит трафик, снижает заметность задержек. Плюс настроили GPO с включением RDP Shortpath для UDP-транспорта. После этих доработок ощущение работы у пользователей стало неотличимым от локального — они даже не поверили, что серверы не в офисе.

Грабля №7: 152-ФЗ и аттестованный контур

В торговой компании были персональные данные клиентов (B2B-контрагентов): ФИО, должность, телефон, email — это категория «иные ПДн» класса УЗ-3. Yandex Cloud имеет аттестат соответствия требованиям ФСТЭК для класса УЗ-3, но не во всех конфигурациях — нужно явно подключать «Защищённый контур» как платную услугу.

Защищённый контур включает: изолированную сеть на отдельных гипервизорах, шифрование дисков AES-256, журнал аудита, сертифицированную услугу резервного копирования. Доплата — 28% к стоимости обычных ВМ. Мы это узнали в середине проекта и пересмотрели бюджет с клиентом. К счастью, 28% наценки на 6 ВМ с ПДн оказались всего 22 000 ₽ в месяц — менее болезненно, чем переезд в другой ЦОД.

Грабля №8: split-brain DNS

Внутренний домен клиента — sales.local. Когда мы развернули AD в облаке, оказалось, что в офисе есть локальные DNS-серверы со старыми записями, плюс роутер MikroTik раздаёт «sales.local» через свой DHCP. Часть пользователей резолвила имена через офисный DNS (получая старые IP в офисе), часть — через облачный DNS (получая правильные IP в облаке).

Лечение: на этапе перехода построили один уровень DNS-форвардинга. Облачные DNS направляли все запросы для sales.local на офисный DNS на момент переходного периода (две недели), потом наоборот — офисный DNS форварден на облачный. Обновили все DHCP-области и проверили ipconfig /all на каждом из 42 рабочих мест.

Грабля №9: VPN MTU и фрагментация пакетов

Между офисом клиента и Yandex Cloud мы построили IPsec-туннель через MikroTik CCR2004 на стороне офиса и Yandex Cloud Interconnect на стороне облака. Стандартный MTU 1500 не подходит, потому что IPsec добавляет ~73 байта оверхеда. На канале с MSS clamping всё ок, но без него идёт фрагментация и латенси скачет от 14 до 80 мс.

# Настройка MikroTik CCR2004 — обрезка MSS до 1380, MTU IPsec-интерфейса до 1420
/ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn \
  src-address=192.168.30.0/24 action=change-mss new-mss=1380 \
  passthrough=yes comment="MSS clamp for IPsec to YC"

/ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn \
  dst-address=192.168.30.0/24 action=change-mss new-mss=1380 \
  passthrough=yes comment="MSS clamp for IPsec from YC"

/interface ipsec policy set [find dst-address=10.130.0.0/24] mtu=1420

После настройки latency стабилизировался на 13-16 мс, фрагментация исчезла. Это деталь, которая в официальных гайдах не упоминается, потому что Yandex предполагает, что вы используете их стандартный VPN-Gateway, а не свой MikroTik.

Грабля №10: бюджет улетает за неделю до конца месяца

В первый полный месяц после переноса (март 2026) счёт от Yandex Cloud составил 348 000 ₽ — против запланированных 220 000. На 58% больше плана. Что съело бюджет: те самые снэпшоты (133 000 ₽), Object Storage без правильной политики жизненного цикла (38 000 ₽ за хранение бэкапов в стандартном классе вместо холодного), исходящий трафик от тестовых выгрузок при настройке (24 000 ₽).

Я выставил для клиента жёсткие бюджетные алерты в Yandex Cloud Billing: 50% месячного бюджета — уведомление в Telegram, 80% — звонок мне на мобильный, 95% — автоматическая остановка наименее критичных ВМ. После настройки и оптимизации ежемесячный счёт стабилизировался на 210 000 ₽ — это та цифра, которая у клиента в годовом плане.

Грабля №11: вакуум ответственности после миграции

В этом самая токсичная часть. Yandex Cloud отвечает за инфраструктуру (хост работает, сеть в дата-центре жива). Но если у вас отвалилось приложение — это не их проблема. Если бэкап не запустился — не их проблема. Если расходы растут — не их проблема. Когда мы заходим в проект как интегратор, все эти вопросы покрываются нашим аутсорсом. Если клиент уходит «обслуживаться сам» через год — у него часто начинаются проблемы, потому что штатный админ часто не понимает специфики облака.

Я настойчиво рекомендую владельцам бизнеса при миграции в облако: подписывайте долгосрочный аутсорс-контракт хотя бы на 12 месяцев. Это не «навязывание услуг», это страховка от того, что через три месяца у вас не пропадёт человек, который понимает архитектуру всего этого хозяйства.

FAQ: что чаще всего спрашивают клиенты

Когда миграция в облако реально оправдана для МСБ?

Облако оправдано в трёх сценариях: компания распределена по городам и центральная серверная превратилась в боттлнек, нагрузки сильно колеблются (сезонность, акции), либо ИТ-команды нет и платить интегратору ежемесячно дешевле, чем держать своих админов. Для статичного офиса 25-40 РМ с 1С и файловой шарой облако обычно дороже on-premise при пятилетнем горизонте — мы считали по нашим клиентам.

Сколько стоит миграция 30 РМ в Yandex Cloud под ключ?

В нашем кейсе торговой компании 42 РМ работа заняла 6 недель и обошлась в 480 000 ₽ за работы ITfresh плюс ~210 000 ₽ ежемесячных платежей в Yandex Cloud (после оптимизации). Без оптимизации первые два месяца клиент платил по 350 000 ₽ — переплата 280 000 ₽ за то, что мы не успели подкрутить с самого начала.

Что вы будете делать с лицензиями 1С и аппаратными ключами?

1С на USB-ключе HASP в облаке не работает напрямую — нужно либо мигрировать на программный ключ, либо использовать USB-over-IP с аппаратным сервером в офисе клиента. Мы предпочитаем программный ключ: подаём заявку в фирму 1С на конвертацию (3 рабочих дня, 7000 ₽), получаем pin-код, активируем в облаке. Это надёжнее, чем сетевой проброс USB.

Какой план отката должен быть у миграции?

Минимум на 30 дней после перехода в облако оставляем on-premise среду в режиме hot standby: серверы выключены, но включаются за 15 минут, бэкапы синхронизируются ежечасно. Через 30 дней без инцидентов отключаем питание, через 90 дней утилизируем диски. Это страховка стоит копейки (электричество и место в стойке), но один раз спасала нас в полной мере, когда у клиента всплыла критичная зависимость через 12 дней.

Кто отвечает за работающее облако после миграции?

У клиента — никто, если не подписать аутсорс-контракт. Yandex Cloud отвечает за инфраструктуру (хост работает, сеть в дата-центре жива), но за вашу архитектуру, бэкапы, мониторинг, обновления гостевых ОС, оптимизацию расходов отвечать должен интегратор. У нас в ITfresh аутсорс облачной инфраструктуры стоит от 45 000 ₽ в месяц для офиса 30-50 РМ, плюс мы доступны 24/7 на критичные инциденты.

Итог

Облако — это инструмент, а не магия. Yandex Cloud, AWS или любой другой провайдер дадут вам инфраструктуру, но не работающую архитектуру. Между моментом «оплатили подписку» и моментом «всё стабильно работает за разумные деньги» лежит 4-8 недель проектирования, миграции и оптимизации. Без правильно проложенного маршрута эти 4-8 недель превратятся в боль с переплатами 30-50% от плана. Если вы планируете миграцию — зовите нас на этап аудита, мы покажем подводные камни до того, как они порвут дно.

Похожая задача в вашей компании?

Расскажите, что у вас сейчас — пришлю план работ и оценку в течение рабочего дня.

Написать в Telegram  или  +7 903 729-62-41

Семёнов Е.С., руководитель ITfresh