August 8th, 2012, 05:58 PM
Intelligent, rule-based FTP forwarding...is it possible?
Here's my problem....any help would be MUCH appreciated!
My company has 4 data-centers around the world that each host specific customers data. Each data-center also has an FTP server where customers can upload files to be inserted into their databases. These are currently addressed as ftp1.site.com, ftp2.site.com, etc, which correspond to data center 1, data center 2, etc. Every customer has a unique login to the FTP server.
Well, the time has come that we need to migrate some customers to different data-centers. For example, customer A at data-center 1 will be moved to data-center 3. We would also like them to start using ftp3.site.com for their file uploads, but with the volume of customers we will be moving it's not realistic that they will all change their FTP address on their end in a timely manner to correspond to the migration.
I am searching for solutions to the problem. One idea is to implement an FTP server that can accept an incoming FTP request, authenticate the user, use the login name to determine from our master database which data-center the client is assigned to, then forward the user on to that FTP server. Ideally, this should be transparent to the user.
In the example above, the user would connect to ftp1.site.com as they usually have, but our FTP server would recognize they had been re-assigned to data center 3 and forward them on to ftp3.site.com.
I welcome any and all ideas on possible solutions. Thanks!
Last edited by theswally; August 8th, 2012 at 06:18 PM.
Reason: more descriptive title
August 9th, 2012, 10:35 AM
I don't think FTP has any mechanism for redirection or forwarding built-in.
Each FTP server could act as a proxy of sorts for the other ones, although this would increase bandwidth usage because you would have to first copy the first from one data center to the other before sending it to the client. I'm not sure if any existing FTP servers would have this capability, it's not really my area of expertise.
Rather than having a separate domain for each data center, it would probably be better to have a separate domain for each client. Then you can map those client domains to your data centers using a CNAME, and moving the client from one data center to the other is just a matter of updating the CNAME entries - the domain the client uses to connect would never change. Obviously at this point though that is not an approach you could implement transparently for existing clients.
August 9th, 2012, 11:22 AM
Thanks for the advice. Unique domains per client is one thing we are considering right now. May also end up writing our own FTP server utility to tackle this.
Still open to other ideas, though...