Deploys a 3 node Percona XtraDB Cluster

Last updated: 5/1/2015

This template deploys a 3 node MySQL high availability cluster on CentOS 6.5 or Ubuntu 12.04

This Azure Resource Manager template was created by a member of the community and not by Microsoft. Each Resource Manager template is licensed to you under a license agreement by its owner, not Microsoft. Microsoft is not responsible for Resource Manager templates provided and licensed by community members and does not screen for security, compatibility, or performance. Community Resource Manager templates are not supported under any Microsoft support program or service, and are made available AS IS without warranty of any kind.


Parameter Name Description
storageAccount Storage account name for the cluster
dnsName Connect to your cluster using
userName user name to ssh to the VMs
password password to ssh to the VMs
vmSize size for the VMs
storageAccountType Storage account type for the cluster
virtualNetworkName Virtual network name for the cluster
dbSubnetName subnet name for the MySQL nodes
vnetAddressPrefix IP address in CIDR for virtual network
dbSubnetAddressPrefix IP address in CIDR for db subnet
vmIP1 IP address for VM1 must be available in db subnet
vmIP2 IP address for VM2 must be available in db subnet
vmIP3 IP address for VM3 must be available in db subnet
vmNamePrefix host name prefix for the VMs
imagePublisher publisher for the VM OS image
imageOffer VM OS name
imageSKU VM OS version
mysqlFrontEndPort MySQL public port
mysqlBackEndPort MySQL private port
idleTimeoutInMinutesforILBRule idel timeout for load balancer
probePort cluster health check probe port exposed to load balancer
probeRequestPath cluster health check probe path
probeIntervalInSeconds health check probe interval
numberOfProbes number of health check probes to consider failure
sshNatRuleFrontEndPort1 public ssh port for VM1
sshNatRuleFrontEndPort2 public ssh port for VM2
sshNatRuleFrontEndPort3 public ssh port for VM3
sshNatRuleBackEndPort private ssh port for the VMs
customScriptFilePath bash file location to configure the cluster
mysqlConfigFilePath my.cnf file location
customScriptCommandToExecute bash script command line

Use the template


New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri
Install and configure Azure PowerShell

Command line

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri
Install and Configure the Azure Cross-Platform Command-Line Interface