Published: 24 September 2026
Sooner or later the country you picked stops being the right one. Your users moved, a contract now names a jurisdiction, or you finally measured the latency and Frankfurt is not where your traffic actually lives. Moving a VPS between countries is not hard, but it is a cutover, and cutovers go badly when they are improvised at 23:00.
This is the runbook we would follow. It assumes you are moving between two of our five locations — Romania, Poland, the Netherlands, Germany and Austria — but nothing in it is specific to us.
First: the thing people get wrong
A server's IP address does not travel with it. A machine in Frankfurt and a machine in Bucharest sit on different networks in different countries; there is no arrangement under which the new one answers on the old one's address. Every plan that follows exists to make that fact survivable.
If your architecture treats a specific IP as permanent — hardcoded in a client, allowlisted by a partner, baked into a config file you have lost — deal with that before you move anything, not during.
The shape of a clean move
Build the new machine, run both, cut over, keep the old one briefly, then delete it. The overlap is the whole trick, and hourly billing is what makes the overlap cheap: an extra 16 GB machine for the three days it takes to do this properly is 72 × €0.0222 = €1.60 in Bucharest, or €2.60 in Frankfurt.
1. Lower your DNS TTL, a day ahead
Set the records you will move to 300 seconds at least 24 hours before the cutover, so every resolver has already picked up the short value by the time it matters. Doing this on the day achieves nothing — caches are still holding the old, long TTL.
2. Build the new machine and make it identical
Same operating system version, same packages, same configuration management. Order it in the new country — the location is a field on the order form and the price updates as you change it. The per-country prices are all in our location pricing post; moving from Frankfurt to Bucharest takes a 32 GB machine from €78.00 to €58.00 a month, which is often part of why people move.
3. Sync the data twice
Once now, in bulk, while nobody is waiting. Then again at cutover, incrementally, to catch what changed in between. For a database, set up replication rather than copying files — a running database's files on disk are not a consistent backup. For everything else, a file sync tool that can do a fast second pass is what you want.
4. Test the new machine before it serves anyone
Point a hosts-file entry or a temporary subdomain at the new IP and exercise the application properly: log in, write something, read it back, run whatever your health checks run. Finding a missing environment variable here costs nothing. Finding it after the cutover costs your afternoon.
5. Cut over
Put the old machine into read-only or maintenance mode, run the final incremental sync, promote the new database, change the DNS records, and watch traffic arrive. With a 300-second TTL the changeover is minutes, not hours.
6. Keep the old machine for a few days
Resist the urge to delete immediately. Something will turn out to have lived only on that machine — a cron job, a certificate, a file someone uploaded in 2024. Keeping it for three days costs a few cents an hour and buys you the ability to go back.
Then delete it, and understand what that word means here: powering a VPS off does not stop the charges. A stopped virtual machine still holds its RAM allocation, its disk and its IP address on a node, and it bills exactly as a running one does. Destroying it is what stops the meter. A "temporarily" stopped old server is the most common way people end up paying for two machines for a year.
Choosing the new country
| Moving because… | Go to |
|---|---|
| Your users are Polish or Baltic | Warsaw |
| Your users are Romanian, Bulgarian, Moldovan or Greek | Bucharest — also our lowest price |
| Your users are Austrian, Czech, Slovak or Hungarian | Vienna |
| Your users are British or Scandinavian, or the workload is bandwidth-heavy | Amsterdam |
| You do not know, or they are spread across the continent | Frankfurt |
| A contract names a country | That country — see our post on EU data residency |
| Cost, and geography does not constrain you | Bucharest — €58.00 against €78.00 for 32 GB |
If you are unsure, measure before you commit. Stand up a 2 GB machine in the candidate country for an afternoon — €0.0056 to €0.0077 an hour — and test from where your users actually are.
The variant worth knowing: do not move, add
Sometimes the honest answer to "should we move to Warsaw?" is "no, but we should also be in Warsaw." A second machine in a second country gives you a local origin for one audience and a fallback for everything else, and the same overlap you were going to build for the cutover simply stops being temporary. Our post on cross-border warm standby is that idea taken to its conclusion.
When you are ready
Order the new machine on the hourly VPS page, pick the country, and run the two in parallel for as long as the runbook needs. Existing customers will find the same location list on the order form inside the panel. If you want a second pair of eyes on the plan before you start, open a ticket — a real person reads it.