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でのリージョン間レプリケーションでは、是非、使いたいところです。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら