Automated MariaDB setup in AWS with Ansible and Terraform.
MariaDB in single instance mode.
MariaDB in Multi master-to-master replication mode (Galera cluster)
Daily backup script is set up in cron.
Tested with AWS Centos 7 and Digitalocean Centos 7 images.
- AWS account
- Ansible installed
- Terraform installed
- Make package installed
Ansible - Folder with ansible configs, templates and scripts
Ansible/scripts/backup.sh - Mysql database backup script
Terraform - Terraform configuration files
README.MD - Project readme
Makefile - Command shortcuts using Make
INSTALL_NOTES.MD - Manual install notes
- AWS access keys in Terraform/terraform.tfvars
- Edit Ansible/hosts file, enter Server IP addresses
- Edit Terraform/variable.tf
- AWS region
- Instance type
- SSH key path
- Reserved Elastic IPs
- Edit Makefile
- Mysql password
- SSH key path
- IP addresses for servers
# initialize Terraform setup
make prepare
# Provision infrastructure in AWS, confirm with "yes"
make provision-up
# To delete all servers, confirm with "yes"
make provision-down
# install mariadb
make mariadb-install
# check if maridb is running
make mariadb-status
Multi master to master replication setup.
# At first setup MariaDB on each nodes and stop them
make galera-install
# Start Galera cluster on first node
make galera-start
# Join other nodes to cluster
make galera-join