This article summarises the process of setting up a cluster of FTP servers on Amazon’s AWS EC2.

​Primary and secondaries
A CompleteFTP cluster is arranged such that there’s one primary server and one or more secondaries.  All configuration changes must be made via an instance of CompleteFTP Manager that’s connected to the primary.  The primary will automatically distribute changes to the secondaries (unless this is disabled).

Files are not auto​matically synchronised
​While CompleteFTP will take care of synchronising configuration data between the primary and the secondaries, it will not synchronise file data.  We therefore advise that files are either stored on a network drive that’s shared between the servers, or that directories are synchronised between servers using a technology like Windows DFS or one of the many alternatives.

Install CompleteFTP on all servers​
The first step in commissioning a cluster of CompleteFTP servers is to install the same version of CompleteFTP Enterprise Edition on all machines.
​​​
Activate all servers
If all servers are within the 30-day trial period then there’s no need to activate them yet – just make sure that they’re all set to Enterprise Edition.  If they’re not in the trial period then every server must be activated to Enterprise Edition.
​​
Bidirectional access between primary and secondaries
The primary instance of CompleteFTP must be able to connect to the administration port on all secondaries, and all secondaries must be able to access the administration port on the primary.  For this to be possible, the following steps must be taken:

  • The Windows firewall on all machines must allow access to the administration port (14,983 by default) from the other machines.
  • CompleteFTP’s IP filters by default allow access to the administration port from the standard LAN subnets (i.e. 10.0.0.0, 192.168.0.0 and 172.16.0.0).  If the servers are not in one of these subnets then an ​IP filtering rule must be added to each secondary to allow the primary to access it.  This is generally the case on AWS.
  • If the servers are not the same LAN then changes are probably also required on NAT routers to allow intercommunication.  On AWS, the easiest way to do this is to make all servers part of the same security group and to add an inbound rule that allows access to the administration port for all members of the security group.


​Add secondaries to the cluster
With CompleteFTP Manager connected to the primary, go to the Servers panel and ​add each of the secondaries.

Test each server
Once ​all secondaries have been added, try adding a user to the primary and then using a client, such as FileZilla, to connect to each server using that user’s credentials.  If the credentials are accepted on all machines then the cluster is up and running.