Files
admin/.tasks/iis-migration-to-ruvds.md
vitya 98e582f5b5 tasks: close windows-hosting-vendor-research + add iis-migration-to-ruvds
User selected RUVDS (Windows Server 2025 Core, 2GB RAM, 30GB HDD) outside research process.
Vendor decision made, migration task created as ready.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 22:24:49 +03:00

3.3 KiB

iis-migration-to-ruvds

Goal

Migrate 11 IIS sites from ../entities/windows-recovery-host (DESKTOP-NSEF0UK) to RUVDS Windows Server 2025 Core. Убрать SPOF домашней машины.

Pre-requisites done:

Target sites (11)

From ../.wiki/concepts/recovery-architecture-snapshot:

  • snolla.com
  • pilorama98.ru
  • labtools.ru / labtools.pro
  • tandemmebel.ru
  • emspb.ru
  • kupimknigi.spb.ru (low-traffic — pilot candidate)
  • on.snolla.com
  • maljarka.tandemmebel.ru
    • 3 others (see source)

Migration approach

  1. RDP-first setup (RUVDS):

    • Verify .NET Framework 4.8 installed (Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\')
    • Verify IIS 10 installed (Get-WindowsFeature Web-Server)
    • Install URL Rewrite 2.1 (download + Server Manager cmd)
    • Configure firewall: allow 80/443 inbound
    • Test external MSSQL connection to VDS (89.253.255.94:1433)
    • Test external MinIO connection to VDS (minio.kzntsv.site:443)
  2. Backup source (windows-recovery-host):

    • Export IIS configuration: %systemroot%\system32\inetsrv\appcmd.exe list site -config > sites-backup.txt
    • Export applicationHost.config: C:\Windows\System32\inetsrv\config\applicationHost.config
    • Backup inetpub\wwwroot\ (11 sites, ~100MB-1GB each)
    • Document Web.config connection strings (MSSQL/MinIO endpoints)
  3. Deploy to target (RUVDS):

    • Create IIS sites matching source structure
    • Copy site contents (RDP drive mount or WinRM copy)
    • Update Web.config connection strings → point to VDS MSSQL/MinIO
    • Import SSL certificates (traefik LE certs) or setup new LE on IIS
  4. Pilot on kupimknigi.spb.ru:

    • DNS pointing test (local hosts file or temporary DNS)
    • Smoke test: homepage + admin + database connectivity
    • 24h soak — monitor stability
    • If OK → proceed with remaining 10 sites
  5. DNS swap cutover:

    • Update DNS A records → RUVDS IP
    • Monitor traefik logs on windows-recovery-host (should see 0 traffic)
    • Keep windows-recovery-host warm for 1 week rollback window

Acceptance criteria

  • RUVDS IIS serving all 11 sites
  • All sites functional (no 500 errors, DB connectivity OK)
  • DNS pointed to RUVDS
  • 24h stability soak passed
  • Rollback plan documented (revert DNS to home IP)
  • windows-recovery-host VM shutdown / saved-state

Open questions

  • RUVDS public IP — assigned yet? Need for DNS A records.
  • SSL strategy — use existing traefik LE certs (export?) or setup new LE on IIS?
  • Traefik на RUVDS? — IIS-only (port 80/443 direct) или traefik reverse proxy again?
  • Backup strategy for RUVDS IIS — VDS snapshot? IIS native backup?

Notes

  • Windows Server 2025 Core = GUI-less, PowerShell-only management. No Server Manager desktop.
  • 2GB RAM constraint — IIS + 11 sites = tight. Monitor memory after pilot.
  • Migration is transitional — long-term snolla-on-node makes IIS obsolete. Don't over-engineer.