MySQLにSSLで接続できるようになったので、今度はレプリケーションをSSLで行ってみます。
MySQLのレプリケーション自体は、基本的にMySQLのレプリケーションで紹介した通りですが、変更点は次の通りとなります。
○マスターサーバ
(1)上記で紹介したようにMySQLにSSLで接続できるようにしておきます。
(2)下記のようにレプリケーションに利用するユーザーをREQUIRE SSLオプションでSSL接続のみ受け付けるようにします。
mysql> GRANT REPLICATION SLAVE ON *.* TO repl@xxx.xxx.xxx.xxx IDENTIFIED BY 'xxxxxxxx' REQUIRE SSL;
○スレーブサーバ
(3)CHANGE MASTER TO …を行うときにSSL関係の値も指定します。
mysql> CHANGE MASTER TO -> MASTER_HOST = 'yyy.yyy.yyy.yyy', -> MASTER_USER = 'repl', -> MASTER_PASSWORD = 'xxxxxxxx', -> MASTER_LOG_FILE = 'us-east-1-bin.000011', -> MASTER_LOG_POS = 7782, -> MASTER_SSL = 1, -> MASTER_SSL_CA = '/tmp/ssl/ca-cert.pem', -> MASTER_SSL_CERT = '/tmp/ssl/server-cert.pem', -> MASTER_SSL_KEY = '/tmp/ssl/server-key.pem';
この状態で、スレーブサーバを再起動すると、SSL接続でレプリケーションされるようになります。
AWSでのリージョン間レプリケーションでは、是非、使いたいところです。