All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
One common public static IP v4 that can switch between servers in 2 different datacenters
I was wondering if there is anything that can give me one public static IP v4 address that can work on two servers/virtual servers/cloud servers, each in a different datacenter, and switch between them in a matter of minutes or seconds. The floating IP only needs to be attached to one of the servers at any given time.
Amazon appears to have something like that called Elastic IP. They call different datacenters availability zones. You can have one Elastic IP switch between two or more availability zones in the same region.
Digital Ocean floating IP would have been ideal but as far as I can tell it can only failover to virtual servers in the same datacenter. Same with Vultr, same with OVH.
Comments
@francisco and his anycast-based stuff
Amazon appears to have something like that called Elastic IP. They call different datacenters availability zones
No, this is layer 2 because the datacenters are physically near. Zones are within the same region and usually city, very few milliseconds away.
There is no such thing in reality.
The smallest BGP routable block is a /24 (255 IPs) & a /48 (65k /64) - anything below this can only be re-routed "local".
So your traffic still ends up in DC A but is then transported to B. BGP uses the best available path on distance (AS path) and most will slap a latency and location preference on top, but you will always face a certain degree of rerouting (eg. NY + London and all your Comcast traffic ends up in LDN and back to NY, because the drop in LDN is cheaper for someone in the chain).
Only if the entire block is pulled from A it will solely announce in B, affecting always all IPs in it.
Why do you need this? No possibility of a similar DNS-based solution?
No, it needs to be layer 2.
I know it is possible using Anycast. It looks like BuyVM can do that but the devil may be in the details.
You would have to sync your data between locations, we aren't mirroring any customer information between pop's.
Content delivery is usually a popular thing for anycast since it's usually static content, so not changing much.
Francisco
You seem to not have the budget for that. These enterprise solutions exist (notably Akamai will roll you this perfectly fine), but cost - every nine added exponentially increases the cost.
You also seem to not have the experience to roll it yourself which might be another idea to hire - anycast is fairly easy set up, and the ideally 2 /24, ASN, and 2 servers do not add up to more than a few hundred dollars per month.
It is the rerouting mentioned. There is no way around it below a full routable block, it is simply how BGP works.
I don't have the budget to create my own Anycast network. So the more affordable option is to use someone elses Anycast network.
Yes, I will be syncing the data. I already have it up and running and mostly tested out. Everything except the floating public IP part. Right now I have it on three separate public IP's separated by thousands of miles.
Could always use an Application Load Balancer with AWS. It's designed for this exact scenario.
It need to be at layer 2.
You would have to run 3 VM's (one in each) but past that I got plenty of people that run DNS clusters, etc, on anycast happily.
If a VM goes offline though (and not the whole datacenter) then you'll have a brownout there. What the super HA people normally do is get 2 VM's in each location and do IP floating between them, and then have the anycast doing the HA/etc on the internet.
It works well, no real complaints other than "why can't I bring my own subnets yet ".
Francisco
You've put yourself in a box then, is layer 2 an actual technical requirement or does it just make things easier? Your requirements are very specific any you'll likely need to roll your own anycast network.
A brownout situation would be very bad and a lot more common than a whole datacenter going down. So I would have to plan for that.
I can do it with two or three separate IP addresses if I have to. It would not be as elegant a solution. Would require more setup on the customer end etc.
For sure then
Let me know if you have any other questions.
Francisco
Every plan and datacenter I selected on BuyVM either said no longer offered or out of stock.
He only restocks at 1st and 10th of every month.
Have you try DNS with round-robin?
DNS round robin or DNS failover is not an option for a bunch of reasons. On the other hand, if you can failover the IP, then DNS just follows that so layer 2 failover should work well with DNS.
Can the anycast be prioritized? So make it always go to New Jersey and if can't reach that then Las Vegas, regardless of the routing. I think I may need that as well because the server is a middleman of sorts. What comes and goes from one server must also be relayed to/from another location. When that 2nd location responds it needs to find it's way back to the same virtual server and not a different virtual server in a different datacenter.
If I have a unique static public IP on each server that is not anycast in addition to the anycast IP I could probably make it work. I am assuming this has something like that so that I can SSH into each server individually.
The poor man's solution could be a Mikrotik VPS with your static IP routed to it, then EoIP tunnels back to your two application servers. You could script some kind of failover action to control which EoIP tunnel the address is routed over. Disadvantage is you still have a single point of failure (the Mikrotik VPS)
Better solution (but very spendy) would be a proper BGP anycast setup, which would require your own /24 and ASN, along with upstream providers who will do BGP with you.
Well, I'd go for the HAProxy with GRE tunnels/IPSec route instead of a Mikrotik VPS route. That's a much more poor man's solution in my books.
The use of IPSec does not guarantee the preservation of sanity.
No. Anycast uses BGP trickery to work. Routes aren't constantly changing for Voxility so there's a super high (99%+) chance that you're always going to end up at the same node.
Francisco
I never fully understood what anycast does exactly when one of the nodes goes down, can you explain? Either if just a single vps goes down or your whole node goes dark, or the entire network for the place just calls it quits?
If:
1) A location goes offline, then the route is automagically removed and no traffic will ever arrive at it. Traffic will automagically route to the next closest location.
2) The vps/node goes offline, then you'll have a brown out as the traffic will arrive at the location and not go anywhere. If this a concern (you need 5 9's and all that) you can opt to get a 2nd (or more) VPS in the same location and use something like keepalived or similar to float the IP between the services
Francisco
My understanding is that since the anycast IP is announced at multiple BGP locations, it basically just depends which router your traffic hits first.
I believe there is a way to prioritize it but I think you have to have your own backbone custom configured for it. I don't think getting your own /24 and having a 3rd party announce it for you is good enough to prioritize unless there is someone who can also offer that as part of their anycast service. If there is such a service it probably wouldn't be cheap.