I currently have a site with a public and private IP running properly on an apache server A. There's also a new server B which will host the site ready to go with its own private IP.
Current Server - A:
- PUBLIC_IP
- PRIVATE_IP
New Server - B:
- NEW_PRIVATE_IP
The above IPs are currently accessible form a web browser. In our firewall settings web interface:
# Current settings
PUBLIC_IP => PRIVATE_IP
# Suggested settings
PUBLIC_IP => NEW_PRIVATE_IP
PUBLIC_IP is currently pointing to PRIVATE_IP. I was told that pointing PUBLIC_IP to NEW_PRIVATE_IP should be sufficient to complete the server switch and the downtime will be a few seconds.
Has anyone done a similar task before? What am I missing from the above steps?
EDIT
Here's what I see when I access PUBLIC_IP in Firefox after pointing to the NEW_PRIVATE_IP in the firewall settings:
Firefox can't find the server at PUBLIC_IP
After reverting to PRIVATE_IP in the firewall settings, the PUBLIC_IP is accessible through Firefox.
Yes
Nothing... sounds good!
If you leave the old site running until the DNS change has propagated to all users of the new site then the downtime will be 0!
If you're redirecting a domain to the new IP address, you may need to allow upto 24 hours for the DNS records to propagate. If you're physically migrating the IP address from one piece of hardware to another, you may need to use arping to update the mac address on the border routers so that the IP address can come up. If this is unrelated, can you confirm what you're doing in more detail?
Edit: Providing the content is mirrored on both sides, you won't experience any downtime.
Thierry, you seem to be using DNAT/ port forwarding from your firewall. Is that correct? If so, then you need to be careful because existing connections might be dropped if you simply change the rule. I'm not sure what happens to the NAT table for existing TCP connections after you change the firewall rule (and don't specify --state new). That said, my guess is that old connections are preserved in the NAT table, so things should work until those connections are closed.
So you might want to add a new public IP and make the switch using DNS, so you're sure that existing connections are not affected.