Servers

Bring your own servers to Cloud 66

Overview

Registered servers are a great way for operations teams to manage and allocate physical server resources for consumption by dev teams. Registered servers are essentially a pool of your own servers on a private or public cloud that can be used on any application and configuration.

Applications can be deployed across a hybrid of cloud and registered servers. In this way you could have, for example, a dedicated server for your database and use burst cloud servers for your front end.

Check your firewalls

Any firewalls or security systems that protect to your servers will need to be configured to work with Cloud 66's specifications (see below).

Register a server

You can add any physical server as a registered server using the website, or the Cloud 66 toolbelt as long as it meets certain criteria.

Via the Dashboard

Visit the Registered Servers page on Cloud 66, which will provide with you a shell script to run on your server - you can download it to inspect it first.

Once the shell script has successfully completed, the server will now show up in the New Servers list for you to approve. Once it is approved, it will be available for you to use with any application!

Do not re-use the shell script

The script generated by the URL is dynamic and is time sensitive, so you can't save the script itself on your server.

Using Cloud 66 Toolbelt

You can run the command below to register your servers using Toolbelt:

$ cx register-server --org="My Team" --file=servers_file --user=root

To register a single server, use the server flag with the IP address, and to bulk register, provide a text file with the file flag with one IP address per line.

To add tags to the registered servers, use the tags option:

$ cx register-server --org="My Team" --server=197.23.65.11 --user=root --tags="dc-1,az US"

Server requirements

For more detail please read our guide to Using Cloud 66 through firewalls.

If your application needs to accept connections from the public web you will also need to open ports 80 and/or 443 but we do not require that these be open in order for us to manage a server.

If your server is in a cloud with native security groups (such as AWS Security Groups) then you must manually configure them such that your registered servers are able to talk to each other and Cloud 66 via the ports listed above.

Do not configure servers manually

Cloud 66 has a number of features that systematize and automate server configuration. Manual changes to configuration files and settings on servers and components are very likely to be either overwritten or cause conflicts.

Technical considerations

  • Once a server is registered and used, it cannot be reused until a fresh copy of Ubuntu is installed. This is to prevent possible conflicts with old files.

  • When an application with Registered Servers is deleted, the Registered Servers will appear in the Orphaned Servers list on your Registered Servers page. This list is here to allow operators to see which servers need to be destroyed/reset. Once a server is destroyed/reset it can be manually removed from the Orphaned Servers list.

  • If the servers running an application are in different regions, then they will not be able to use their internal IPs to communicate with each other, so you will have to change your app to use the external IP environment variables. Keep in mind that this may incur additional traffic costs.

  • Existing BYOS users will now be able to scale up and add a load balancer via registered servers.

  • Cross-cloud applications are now possible, but not recommended due to substantial latency and other potential issues.

  • Accurately detecting a server's private IP is very difficult as there is often more than one - hence all the connections are via public IPs

Previous
Getting Git info from Rails servers