Skip to main content
Common Reference

Cloud Deployment Requirements

Cloud deployments require a different set of considerations over and above the general requirements. The following is a guide only, and where specific cloud environment requirements are known, they are explicitly included:

Instance Types/Configuration

Cloud Instances
AttributeGuidanceAmazon ExampleGCP Example
Instance TypeInstance sizes and types are dependent on the workload, but larger instances are recommended for transactional databases.m4.xlarge or betterc3-standard-8 or better
Instance Boot VolumeUse block, not ephemeral storage.EBS
Instance DeploymentUse standard Linux distributions and bases. For ease of deployment and configuration, the use of [ansible](https://www.ansible.com), [Puppet](http://puppetlabs.com) or other script based solutions could be used.

Development/QA nodes should always match the expected production environment.

AWS/EC2 Deployments

  • Use Virtual Private Cloud (VPC) deployments, as these provide consistent IP address support.

  • When using Active Witnesses as part of Tungsten Clustering, a micro instance can be used for a single cluster. For composite clusters, an instance size larger than micro must be used.

  • Multiple EBS-optimized volumes for data, using Provisioned IOPS for the EBS volumes depending on workload:

    ParameterTPM OptionTPM ValueMySQL my.cnf OptionMySQL Value
    / (root)
    MySQL Datadatasource-mysql-data-directory/volumes/mysql/datadatadir/volumes/mysql/data
    MySQL Binary Logsdatasource-log-directory/volumes/mysql/binlogslog-bin/volumes/mysql/binlogs/mysql-bin
    Transaction History Logs (THL)thl-directory/volumes/mysql/thl
  • MIXED is recommended for MySQL Primary/Replica topologies (e.g., either single clusters or primary/data-recovery setups).

  • ROW is strongly recommended for >TERM name="caa_name" /> setups. Without ROW, data drift is a possible problem when using MIXED or STATEMENT. Even with ROW there are still cases where drift is possible but the window is far smaller.

  • ROW is required if you plan to implement most comnplex ROW-based filters, such as droprow and rename.

  • ROW is required for heterogeneous replication.