Galera Cluster for MySQL with Amazon Virtual Private Cloud [2]

Previous: Create a VPC with Public and Private subnets
Next: Setup Load Balancers and Web ServersTest your AWS VPC Galera Cluster

Galera Configurator

Now that we have the EC2 instances prepared it’s time to run the Severalnines’s Galera Configurator and generate the deployment scripts to be run from the ClusterControl instance.

Go to and create a Galera deployment package. The wizard should be pretty self explanatory.

Select Amazon EC2 as the cloud provider and the OS used for your instances.

Enter the OS user as ‘ubuntu’ if you use debian/ubuntu based distributions or ‘root’ for rhel/centos variants.

Here you should enable ‘Skip DNS Resolve’ and select a system memory size that is close to your Galera instance types, in our case m1.large. 

The InnoDB buffer pool and other specific settings can be changed to better suite your workload and requirements. Just remember to change the MySQL configuration file before running the deployment script.

There are some settings like the InnoDB log file size that is easier to change before deploying although you can do that later as well but currently requires some manual steps.

Enter the IP address for the ClusterControl instance and the location of your passwordless ssh key that you copied over to or generated for the ClusterControl instance.

Enter the IP addresses for the Galera instances and make sure to change the default data directory path from ‘/mnt/data/mysql’ to ‘/data/mysql’ or to whatever path that you have mounted as the data volume for the database files.

Finally enter an email address and click on the ‘Generate Deployment Scripts’.

Deploy and bootstrap a Galera Cluster

When you get the deployment package unpack it on the ClusterControl instance.


$ scp s9s-galera-2.10.tar.gz ubuntu@
$ ssh -i <your aws pem file>
$ tar zxvf s9s-galera-2.10.tar.gz


The my.cnf file that is initially used by all Galera is located under ~/s9s-galera-2.1.0/config.

Before running the deployment script you might want to take a few minutes to change some settings in the MySQL configuration file to better suite your workload. 


Deploy and bootstrap

$ cd s9s-galera-2.1.0/mysql/scripts/install
$ bash ./ 2>&1 |tee cc.log 


This could take up to about 10-15 minutes depending on your network.


After the deployment script completes you should now be able to view your Galera cluster by going to the web application on the ClusterControl instance, with your web browser.


Secure the Web application


If you want to secure the ClusterControl web interface you can try below script or follow our directions here:


Note: This script needs more testing...



if [ "$os" = debian ]

htpasswd -cm $www/.htpasswd admin

cat >> "$www/.htaccess" << EOF
AuthType Basic
AuthName "CMON"
AuthUserFile $www/.htpasswd
Require valid-user

chown $www_user:$www_user $www/.htaccess
chmod 644 $www/.htaccess

if [ "$os" = "debian" ]
  sed -ibak s#AllowOverride None#AllowOverride All#g /etc/apache2/sites-available/default
  sed -ibak s#AllowOverride None#AllowOverride All#g /etc/httpd/conf/httpd.conf
service $www_srv restart


Next Setup Load Balancers and Web Servers.



Add new comment

Plain text

  • No HTML tags allowed.
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link]( "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.