blog

ClusterControl on the AWS Marketplace: Getting Started

Ashraf Sharif

Published

Good news for AWS users! We are now available on AWS Marketplace. This allows you, with a single click of a button, to deploy ClusterControl in just a few minutes. Once ClusterControl is deployed, you can have it monitor your existing database clusters, or use it as a deployment server to set up new clusters. The AMI is free, so you only pay for the hardware/network resources that you actually consume. 

Why Should You Care?

Because Severalnines makes it faster, cheaper and plain better to deploy and manage your database clusters on AWS. Our embedded configurators support Percona XtraDB, MariaDB Cluster, Galera Cluster, MySQL Cluster, MySQL Replication, MongoDB Replica Set and MongoDB Sharded Clusters. For Galera users, we have worked on a deeper integration with AWS APIs to provision cross-region multi-AZ Galera clusters (see screenshot below).

Launching the AMI

Login to your AWS management console. Open the ClusterControl AMI page, choose the region to launch in and click ‘Continue’ to launch. Once the instance is running, open a web browser and paste the instance’s public DNS. You will see the ClusterControl login page and you can login using the default user:

Username: [email protected]
Password: admin

It might be a good idea to create another Super Admin user to replace the default user.

Updating ClusterControl UI

It is highly recommended to upgrade the ClusterControl UI to the latest version before we start working with it. To upgrade the ClusterControl UI web files:

$ wget https://severalnines.com/downloads/cmon/update-cc-ui.sh
$ chmod u+x update-cc-ui.sh
$ ./update-cc-ui.sh

Upgrade the database schema:

$ mysql -uroot -proot123 < cc-ui-1.2.3/sql/dc-schema.sql

Deploying in Hybrid Environments

This ClusterControl AWS instance acts as a centralized UI server from which to deploy and manage your clusters, whether they are on AWS or on servers in your own data center. Each cluster is deployed together with a dedicated controller instance. The centralized UI server manages a cluster through its controller. E.g., the diagram below shows how you can manage, from the same UI, a Percona Cluster on AWS and a MySQL Replication setup in your data center.

Deploying Percona XtraDB Cluster using the AWS Configurator

Preparatory steps:

1. Enter your AWS credentials under the Service Providers tab.

2. Make sure your AWS keypair exists in the AWS region (e.g. if you are creating a cross-region cluster across us-east-Virginia, eu-west-Ireland and us-west-2-Oregon, make sure you import your keypair to these regions), 

3. Allow ICMP echo/reply between your AWS instances.

The security group used by the instance is automatically created and named ClusterControl - Community Edition-1-0-AutogenByAWSMP-. It specifies all required database TCP ports however it's not possible to add ICMP echo reply/request automatically yet. To overcome this, you have the following options:

  • If your database nodes use the ClusterControl - Community Edition-1-0-AutogenByAWSMP- security group, then add ICMP reply/request to it. From your AWS console, add a  “All ICMP” rule to the security group. 
     
  • If you plan to use a custom security group for your database nodes, then add the ClusterControl - Community Edition-1-0-AutogenByAWSMP- security group to your custom security group. This will allow the ClusterControl instance to connect to the database nodes.

You can read more about AWS security groups and default ports on our knowledge base

4. Click “Create Database Cluster” to launch the Configurator. Here, you can choose the number of database nodes, as well as the region they will be deployed in.

5. Click “Launch & Deploy” to start the deployment. The whole process to spin up instances and deploy the cluster takes about 15 to 20 minutes, depending on the number of nodes and instance types. 

6. Your newly deployed cluster will appear in your UI:

On-Premises Deployment

Using the same UI, you can deploy a database cluster on your own servers. 

From the Classic Configurator, you would generate a deployment package and use that to install your cluster. 

$ wget https://severalnines.com/replication-configurator/tmp/dc025248856205654857/s9s-mysql-56-rpm.tar.gz
$ tar -xzf s9s-mysql-56-rpm.tar.gz
$ cd s9s-mysql-56-rpm/mysql/scripts/install/
$ bash ./deploy.sh 2>&1 | tee cc.log

Note the ClusterControl API Token and the address to the new cluster’s dedicated controller instance. You would need these to register the cluster to your ClusterControl UI. 

After the deployment, complete the Cluster Registration and your on-premises cluster will show up in the UI.

That’s it. Deploying a sophisticated cross-region multi-AZ Galera Cluster on AWS is pretty straightforward. You can also use the UI to deploy clusters on your own servers or in other public clouds, and manage everything from one app.

AWS Marketplace gives you the ability to rate and review our product, and we are very interested in your feedback.

Subscribe below to be notified of fresh posts