# NAME
MHA::AWS - A support script for "MySQL Master HA" running on AWS
# SYNOPSIS
$ mhaws [subcommand] --interface_id=ENI-id [... args passed by MHA]
$ mhaws [subcommand] --route_table_id=[RouteTable-id] --vip=[master VIP] [... args passed by MHA]
required arguments:
1. failover method is ENI attach/detach
--interface_id=[ENI-id for master VIP]
2. failover method is RouteTable change destination
--route_table_id=[RouteTable-id]
--vip=[master VIP]
subcommand:
master_ip_failover
master_ip_online_change
shutdown
/etc/masterha_default.cnf
[server default]
master_ip_failover_script=mhaws master_ip_failover --interface_id=eni-xxxxxxxx
master_ip_online_change_script=mhaws master_ip_online_change --interface_id=eni-xxxxxxxx
shutdown_script=mhaws shutdown --interface_id=eni-xxxxxxxx
# DESCRIPTION
MHA::AWS is a support script for "MySQL Master HA" which running on Amazon Web Service.
# REQUIREMENTS
- EC2 instance's "Name" tags must be resolved as DNS name in internal.
- root user must be allowed to ssh login between each MySQL instances.
- aws-cli is installed and available.
## Failover method = ENI attach/detach
- One ENI (Elastic Network Interface) must be attached to the MySQL master instance. Clients accesses for the ENI's IP address.
## Failover method = VPC route table rewriting
- Prepare a VIP address in your VPC.
- All MySQL hosts(master, slaves) can handle the VIP.
- Clients accesses for the VIP address.
# FAILOVER FLOW
- 1 MHA detect master failure.
- 2 "mhaws master\_ip\_failover --command stop", ENI will be detached from the old master instance.
- (ENI) ENI will be detached from the old master instance.
- (Route table) Route to VIP will be removed from VPC route table.
- 3 "mhaws shutdown --command (stopssh|stop)", Old master mysqld process will be killed (if ssh connection is available). Or old master instance will be stopped via AWS API (if ssh connection is NOT available).
- 4 MHA will elect the new master and set up replication.
- 5 "mhaws master\_ip\_failver --command start", ENI will be attached to the new master instance.
- (ENI) ENI will be attached to the new master instance.
- (Route table) Route to VIP will be set to new master instance.
# SEE ALSO
[AWS::CLIWrapper](
https://metacpan.org/pod/AWS::CLIWrapper), [
https://code.google.com/p/mysql-master-ha/](
https://code.google.com/p/mysql-master-ha/)
# LICENSE
Copyright (C) FUJIWARA Shunichiro.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
# AUTHOR
FUJIWARA Shunichiro <
[email protected]>